+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Child selector emulation for IE 6</title>
- <style>
- /** Common rules **/
- body { background-color: #CCC; }
- table { border:1px black solid; }
- caption {
- background-color: #98fb98;
- border:1px solid #40FF40;
- }
-
- /** "old" rules" **/
- table.global th,
- table.global td
- {
- border: 1px red solid;
- background-color:white;
- padding:1em;
- }
- table.global th
- {
- background-color: #ffc0cb;
- }
-
- /** second table. Try to emulate child selector */
- table.childemu th,
- table.childemu td {
- border: 1px red solid;
- background-color:white;
- padding:1em;
- }
- table.childemu th
- {
- background-color: #ffc0cb;
- }
-
- /** Reset style applied in childemu classes */
- /** TODO: find the real default value!! */
- table.childemu tr * th,
- table.childemu tr * td {
- border: none;
- background-color: transparent;
- padding: 0;
- }
-
-
- /** child selector emulation */
- </style>
-</head>
-<body>
-<p>
-The following table show how nested tables inherit colors from the wikitable class (here it was renamed "global").
-</p>
-<table class="global">
-<caption>Global table</caption>
-<tr>
- <th>TH: should have pink bg</th>
-</tr>
-<tr>
- <td>TD: white bg</td>
-</tr>
-<tr>
- <td>
- <table class="nested">
- <caption>Nested table</caption>
- <tr>
- <th>Nested TH: transparent</th>
- <td>Nested TD: transparent</td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-
-<p>
-With child selector we could limit the wikitable styling to the direct childs of the table. Unfortunately, Internet Explorer 6.0 does not support child selector. See <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=33752">our bug #33752</a>.
-</p>
-<table class="childemu">
-<caption>Global table</caption>
-<tr>
- <th>TH: should have pink bg</th>
-</tr>
-<tr>
- <td>TD: white bg</td>
-</tr>
-<tr>
- <td>
- <table class="nested">
- <caption>Nested table</caption>
- <tr>
- <th>Nested TH: transparent</th>
- <td>Nested TD: transparent</td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<p><strong>NOTE:</strong>The nested caption keep the green background. The nested table keep the black border. This is because those declarations are global so we did not reset them.</p>
*
* @param string $cookieValue The string in which to find the ID.
*
- * @return integer|null The block ID, or null if the HMAC is present and invalid.
+ * @return int|null The block ID, or null if the HMAC is present and invalid.
*/
public static function getIdFromCookieValue( $cookieValue ) {
// Extract the ID prefix from the cookie value (may be the whole value, if no bang found).
/**
* Set up all member variables using a database query.
- * @param integer $mode
+ * @param int $mode
* @throws MWException
* @return bool True on success, false on failure.
*/
'date' => 'default',
'diffonly' => 0,
'disablemail' => 0,
- 'editfont' => 'default',
+ 'editfont' => 'monospace',
'editondblclick' => 0,
'editsectiononrightclick' => 0,
'enotifminoredits' => 0,
/** @var string */
public $edittime = '';
- /** @var integer */
+ /** @var int */
private $editRevId = null;
/** @var string */
* - spam (string): Spam string from content if any spam is detected by
* matchSpamRegex.
* - sectionanchor (string): Section anchor for a section save.
- * - nullEdit (boolean): Set if doEditContent is OK. True if null edit,
+ * - nullEdit (bool): Set if doEditContent is OK. True if null edit,
* false otherwise.
* - redirect (bool): Set if doEditContent is OK. True if resulting
* revision is a redirect.
}
/**
- * @param integer $n Number of jobs to try to run
+ * @param int $n Number of jobs to try to run
* @param LoggerInterface $runJobsLogger
*/
private function triggerSyncJobs( $n, LoggerInterface $runJobsLogger ) {
}
/**
- * @param integer $n Number of jobs to try to run
+ * @param int $n Number of jobs to try to run
* @param LoggerInterface $runJobsLogger
* @return bool Success
*/
/** @var MWTimestamp|bool Timestamp upto which history from the source will be merged */
protected $timestampLimit;
- /** @var integer Number of revisions merged (for Special:MergeHistory success message) */
+ /** @var int Number of revisions merged (for Special:MergeHistory success message) */
protected $revisionsMerged;
/**
* the TTL is higher the older the $mtime timestamp is. Essentially, the
* TTL is 90% of the age of the object, subject to the min and max.
*
- * @param string|integer|float|bool|null $mtime Last-Modified timestamp
- * @param integer $minTTL Mimimum TTL in seconds [default: 1 minute]
- * @param integer $maxTTL Maximum TTL in seconds [default: $wgSquidMaxage]
- * @return integer TTL in seconds
+ * @param string|int|float|bool|null $mtime Last-Modified timestamp
+ * @param int $minTTL Mimimum TTL in seconds [default: 1 minute]
+ * @param int $maxTTL Maximum TTL in seconds [default: $wgSquidMaxage]
+ * @return int TTL in seconds
* @since 1.28
*/
public function adaptCdnTTL( $mtime, $minTTL = 0, $maxTTL = 0 ) {
'section' => 'editing/editor',
'label-message' => 'editfont-style',
'options' => [
- $context->msg( 'editfont-default' )->text() => 'default',
$context->msg( 'editfont-monospace' )->text() => 'monospace',
$context->msg( 'editfont-sansserif' )->text() => 'sans-serif',
$context->msg( 'editfont-serif' )->text() => 'serif',
+ $context->msg( 'editfont-default' )->text() => 'default',
]
];
}
* This should only be used for proposed revisions that turn out to be null edits
*
* @since 1.28
- * @param integer $id User ID
+ * @param int $id User ID
* @param string $name User name
*/
public function setUserIdAndName( $id, $name ) {
* Get the text cache TTL
*
* @param WANObjectCache $cache
- * @return integer
+ * @return int
*/
private static function getCacheTTL( WANObjectCache $cache ) {
global $wgRevisionCacheExpiry;
/**
* @param bool|IDatabase $database
- * - boolean: Whether to use the master DB
+ * - bool: Whether to use the master DB
* - IDatabase: Database connection to use
*/
public function __construct( $database = false ) {
* for the original initStats, but without output.
*
* @param IDatabase|bool $database
- * - boolean: Whether to use the master DB
+ * - bool: Whether to use the master DB
* - IDatabase: Database connection to use
* @param array $options Array of options, may contain the following values
- * - activeUsers boolean: Whether to update the number of active users (default: false)
+ * - activeUsers bool: Whether to update the number of active users (default: false)
*/
public static function doAllAndCommit( $database, array $options = [] ) {
$options += [ 'update' => false, 'activeUsers' => false ];
* @param array $headers Any additional headers to send if the file exists
* @param bool $sendErrors Send error messages if errors occur (like 404)
* @param array $optHeaders HTTP request header map (e.g. "range") (use lowercase keys)
- * @param integer $flags Bitfield of STREAM_* constants
+ * @param int $flags Bitfield of STREAM_* constants
* @throws MWException
* @return bool Success
*/
* Send out a standard 404 message for a file
*
* @param string $fname Full name and path of the file to stream
- * @param integer $flags Bitfield of STREAM_* constants
+ * @param int $flags Bitfield of STREAM_* constants
* @since 1.24
*/
public static function send404Message( $fname, $flags = 0 ) {
* Convert a Range header value to an absolute (start, end) range tuple
*
* @param string $range Range header value
- * @param integer $size File size
+ * @param int $size File size
* @return array|string Returns error string on failure (start, end, length)
* @since 1.24
*/
/**
* List all submodules of a module
* @param ApiBase $module
- * @param boolean $recursive
+ * @param bool $recursive
* @return string[]
*/
private function listAllSubmodules( ApiBase $module, $recursive ) {
* @param AuthenticationRequest[] &$reqs
* @param string $action
* @param string|null $username
- * @param boolean $forceAction
+ * @param bool $forceAction
*/
private function fillRequests( array &$reqs, $action, $username, $forceAction = false ) {
foreach ( $reqs as $req ) {
* Indicate whether this request contains any state for the specified
* action.
* @param string $action One of the AuthManager::ACTION_* constants
- * @return boolean
+ * @return bool
*/
public function hasStateForAction( $action ) {
switch ( $action ) {
* Indicate whether this request contains state for the specified
* action sufficient to replace other primary-required requests.
* @param string $action One of the AuthManager::ACTION_* constants
- * @return boolean
+ * @return bool
*/
public function hasPrimaryStateForAction( $action ) {
switch ( $action ) {
/**
* Check if pages can be cached for this request/user
* @param IContextSource $context
- * @param integer $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
+ * @param int $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
* @return bool
*/
public static function useFileCache( IContextSource $context, $mode = self::MODE_NORMAL ) {
/**
* Read from cache to context output
* @param IContextSource $context
- * @param integer $mode One of the HTMLFileCache::MODE_* constants
+ * @param int $mode One of the HTMLFileCache::MODE_* constants
* @return void
*/
public function loadFromFileCache( IContextSource $context, $mode = self::MODE_NORMAL ) {
* is disabled.
*
* @param string $code Language to which load messages
- * @param integer $mode Use MessageCache::FOR_UPDATE to skip process cache [optional]
+ * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache [optional]
* @throws MWException
* @return bool
*/
/**
* @param string $code
* @param array &$where List of wfDebug() comments
- * @param integer $mode Use MessageCache::FOR_UPDATE to use DB_MASTER
+ * @param int $mode Use MessageCache::FOR_UPDATE to use DB_MASTER
* @return bool|string True on success or one of ("cantacquire", "disabled")
*/
protected function loadFromDBWithLock( $code, array &$where, $mode = null ) {
* on-demand from the database later.
*
* @param string $code Language code
- * @param integer $mode Use MessageCache::FOR_UPDATE to skip process cache
+ * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache
* @return array Loaded messages for storing in caches
*/
protected function loadFromDB( $code, $mode = null ) {
/**
* @param string $key A language message cache key that stores blobs
- * @param integer $timeout Wait timeout in seconds
+ * @param int $timeout Wait timeout in seconds
* @return null|ScopedCallback
*/
protected function getReentrantScopedLock( $key, $timeout = self::WAIT_SEC ) {
/** @var Language */
protected $digitTransformLanguage;
- /** @var boolean */
+ /** @var bool */
private $useNumericCollation = false;
/** @var array */
private $directory;
/** @var string */
private $encoding;
- /** @var integer */
+ /** @var int */
private $baseCacheTTL;
- /** @var integer */
+ /** @var int */
private $skewCacheTTL;
- /** @var integer */
+ /** @var int */
private $timeout;
/**
*/
class DBAccessObjectUtils implements IDBAccessObject {
/**
- * @param integer $bitfield
- * @param integer $flags IDBAccessObject::READ_* constant
+ * @param int $bitfield
+ * @param int $flags IDBAccessObject::READ_* constant
* @return bool Bitfield has flag $flag set
*/
public static function hasFlags( $bitfield, $flags ) {
* The fallback DB index and options are to be used if the entity is not found
* with the initial DB index, typically querying the master DB to avoid lag
*
- * @param integer $bitfield Bitfield of IDBAccessObject::READ_* constants
+ * @param int $bitfield Bitfield of IDBAccessObject::READ_* constants
* @return array List of DB indexes and options in this order:
* - DB_MASTER or DB_REPLICA constant for the initial query
* - SELECT options array for the initial query
*/
interface IDBAccessObject {
/** Constants for object loading bitfield flags (higher => higher QoS) */
- /** @var integer Read from a replica DB/non-quorum */
+ /** @var int Read from a replica DB/non-quorum */
const READ_NORMAL = 0;
- /** @var integer Read from the master/quorum */
+ /** @var int Read from the master/quorum */
const READ_LATEST = 1;
- /* @var integer Read from the master/quorum and lock out other writers */
+ /* @var int Read from the master/quorum and lock out other writers */
const READ_LOCKING = 3; // READ_LATEST (1) and "LOCK IN SHARE MODE" (2)
- /** @var integer Read from the master/quorum and lock out other writers and locking readers */
+ /** @var int Read from the master/quorum and lock out other writers and locking readers */
const READ_EXCLUSIVE = 7; // READ_LOCKING (3) and "FOR UPDATE" (4)
- /** @var integer Read from a replica DB or without a quorum, using the master/quorum on miss */
+ /** @var int Read from a replica DB or without a quorum, using the master/quorum on miss */
const READ_LATEST_IMMUTABLE = 8;
// Convenience constant for tracking how data was loaded (higher => higher QoS)
*/
public function __invoke( array $record ) {
global $wgVersion;
- $record['extra'] = array_merge(
- $record['extra'],
- [
- 'host' => wfHostname(),
- 'wiki' => wfWikiID(),
- 'mwversion' => $wgVersion,
- 'reqId' => \WebRequest::getRequestId(),
- ]
- );
+ $record['extra']['host'] = wfHostname();
+ $record['extra']['wiki'] = wfWikiID();
+ $record['extra']['mwversion'] = $wgVersion;
+ $record['extra']['reqId'] = \WebRequest::getRequestId();
+ if ( PHP_SAPI === 'cli' && isset( $_SERVER['argv'] ) ) {
+ $record['extra']['cli_argv'] = implode( ' ', $_SERVER['argv'] );
+ }
return $record;
}
* In CLI mode, callback magic will also be used to run updates when safe
*
* @param DeferrableUpdate $update Some object that implements doUpdate()
- * @param integer $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
+ * @param int $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
*/
public static function addUpdate( DeferrableUpdate $update, $stage = self::POSTSEND ) {
global $wgCommandLineMode;
* @see MWCallableUpdate::__construct()
*
* @param callable $callable
- * @param integer $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
+ * @param int $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
* @param IDatabase|null $dbw Abort if this DB is rolled back [optional] (since 1.28)
*/
public static function addCallableUpdate(
* Do any deferred updates and clear the list
*
* @param string $mode Use "enqueue" to use the job queue when possible [Default: "run"]
- * @param integer $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL) (since 1.27)
+ * @param int $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL) (since 1.27)
*/
public static function doUpdates( $mode = 'run', $stage = self::ALL ) {
$stageEffective = ( $stage === self::ALL ) ? self::POSTSEND : $stage;
*
* @param DeferrableUpdate[] &$queue List of DeferrableUpdate objects
* @param string $mode Use "enqueue" to use the job queue when possible
- * @param integer $stage Class constant (PRESEND, POSTSEND) (since 1.28)
+ * @param int $stage Class constant (PRESEND, POSTSEND) (since 1.28)
* @throws ErrorPageError Happens on top-level calls
* @throws Exception Happens on second-level calls
*/
* @param DeferrableUpdate $update
* @param LBFactory $lbFactory
* @param string $mode
- * @param integer $stage
+ * @param int $stage
* @return ErrorPageError|null
*/
private static function runUpdate(
}
/**
- * @return integer Number of enqueued updates
+ * @return int Number of enqueued updates
* @since 1.28
*/
public static function pendingUpdatesCount() {
}
/**
- * @param integer $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL)
+ * @param int $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL)
* @return DeferrableUpdate[]
* @since 1.29
*/
class LinksDeletionUpdate extends DataUpdate implements EnqueueableDataUpdate {
/** @var WikiPage */
protected $page;
- /** @var integer */
+ /** @var int */
protected $pageId;
/** @var string */
protected $timestamp;
/**
* @param WikiPage $page Page we are updating
- * @param integer|null $pageId ID of the page we are updating [optional]
+ * @param int|null $pageId ID of the page we are updating [optional]
* @param string|null $timestamp TS_MW timestamp of deletion
* @throws MWException
*/
* Acquire a lock for performing link table updates for a page on a DB
*
* @param IDatabase $dbw
- * @param integer $pageId
+ * @param int $pageId
* @param string $why One of (job, atomicity)
* @return ScopedCallback
* @throws RuntimeException
/**
* @param Exception|Throwable $e Original exception
- * @param integer $mode MWExceptionExposer::AS_* constant
+ * @param int $mode MWExceptionExposer::AS_* constant
* @param Exception|Throwable|null $eNew New exception from attempting to show the first
*/
public static function output( $e, $mode, $eNew = null ) {
}
/**
- * @param integer $code
+ * @param int $code
*/
private static function statusHeader( $code ) {
if ( !headers_sent() ) {
/**
* Get a connection to the repo file registry DB
*
- * @param integer $index
+ * @param int $index
* @return DBConnRef
*/
protected function getDB( $index ) {
* @param string $url
* @param string $timeout
* @param array $options
- * @param integer|bool &$mtime Resulting Last-Modified UNIX timestamp if received
+ * @param int|bool &$mtime Resulting Last-Modified UNIX timestamp if received
* @return bool|string
*/
public static function httpGet(
*
* Overridden by LocalFile to actually query the DB
*
- * @param integer $flags Bitfield of File::READ_* constants
+ * @param int $flags Bitfield of File::READ_* constants
*/
public function load( $flags = 0 ) {
}
* 'novalidate' attribute will be added on the `<form>` element. It will be removed if the user
* agent has JavaScript support, in htmlform.js.
*
- * @return boolean
+ * @return bool
* @since 1.29
*/
public function needsJSForHtml5FormValidation() {
* (wpFormIdentifier).
*
* @param WebRequest $request
- * @return boolean
+ * @return bool
*/
protected function isSubmitAttempt( WebRequest $request ) {
return $request->getCheck( 'wpEditToken' ) || $request->getCheck( 'wpFormIdentifier' );
* Whether this field requires the user agent to have JavaScript enabled for the client-side HTML5
* form validation to work correctly.
*
- * @return boolean
+ * @return bool
* @since 1.29
*/
public function needsJSForHtml5FormValidation() {
/** @var string $mButtonClass CSS class for the button in this field */
protected $mButtonClass = '';
- /** @var string|integer $mButtonId Element ID for the button in this field */
+ /** @var string|int $mButtonId Element ID for the button in this field */
protected $mButtonId = '';
/** @var string $mButtonName Name the button in this field */
"config-no-cli-uploads-check": "'''Attention:''' Votre répertoire par défaut pour les imports(<code>$1</code>) n'est pas contrôlé concernant la vulnérabilité d'exécution de scripts arbitraires lors de l'installation CLI.",
"config-brokenlibxml": "Votre système utilise une combinaison de versions de PHP et libxml2 qui est boguée et peut engendrer des corruptions cachées de données dans MediaWiki et d’autres applications web.\nVeuillez mettre à jour votre système vers libxml2 2.7.3 ou plus récent ([https://bugs.php.net/bug.php?id=45996 bogue déposé auprès de PHP]).\nInstallation interrompue.",
"config-suhosin-max-value-length": "Suhosin est installé et limite la <code>longueur</code> du paramètre GET à $1 octets.\nLe composant ResourceLoader de MediaWiki va répondre en respectant cette limite, mais ses performances seront dégradées. Si possible, vous devriez définir <code>suhosin.get.max_value_length</code> à 1024 ou plus dans le fichier <code>php.ini</code>, et fixer <code>$wgResourceLoaderMaxQueryLength</code> à la même valeur dans <code>LocalSettings.php</code>.",
+ "config-using-32bit": "<strong>Attention:</strong> votre système semble utiliser les entiers sur 32 bits. Ceci n'est [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit pas recommandé].",
"config-db-type": "Type de base de données :",
"config-db-host": "Nom d’hôte de la base de données :",
"config-db-host-help": "Si votre serveur de base de données est sur un serveur différent, saisissez ici son nom d’hôte ou son adresse IP.\n\nSi vous utilisez un hébergement mutualisé, votre hébergeur doit vous avoir fourni le nom d’hôte correct dans sa documentation.\n\nSi vous installez sur un serveur Windows et utilisez MySQL, « localhost » peut ne pas fonctionner comme nom de serveur. S’il ne fonctionne pas, essayez « 127.0.0.1 » comme adresse IP locale.\n\nSi vous utilisez PostgreSQL, laissez ce champ vide pour vous connecter via un socket Unix.",
"config-help-tooltip": "cliquer pour agrandir",
"config-nofile": "Le fichier « $1 » est introuvable. A-t-il été supprimé ?",
"config-extension-link": "Saviez-vous que votre wiki prend en charge [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions des extensions] ?\n\nVous pouvez consulter les [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions par catégorie] ou la [https://www.mediawiki.org/wiki/Extension_Matrix matrice des extensions] pour voir la liste complète des extensions.",
+ "config-skins-screenshots": "$1 (captures d'écran: $2)",
+ "config-screenshot": "Captures d’écrans",
"mainpagetext": "<strong>MediaWiki a été installé.</strong>",
"mainpagedocfooter": "Consultez le [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Guide de l’utilisateur du contenu] pour plus d’informations sur l’utilisation de ce logiciel de wiki.\n\n== Pour démarrer ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste des paramètres de configuration]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/fr Questions courantes sur MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Liste de discussion sur les distributions de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Adaptez MediaWiki dans votre langue]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Apprendre comment lutter contre le pourriel dans votre wiki]"
}
* @since 1.27
*/
class CategoryMembershipChangeJob extends Job {
- /** @var integer|null */
+ /** @var int|null */
private $ticket;
const ENQUEUE_FUDGE_SEC = 60;
class RefreshLinksJob extends Job {
/** @var float Cache parser output when it takes this long to render */
const PARSE_THRESHOLD_SEC = 1.0;
- /** @var integer Lag safety margin when comparing root job times to last-refresh times */
+ /** @var int Lag safety margin when comparing root job times to last-refresh times */
const CLOCK_FUDGE = 10;
- /** @var integer How many seconds to wait for replica DBs to catch up */
+ /** @var int How many seconds to wait for replica DBs to catch up */
const LAG_WAIT_TIMEOUT = 15;
function __construct( Title $title, array $params ) {
/**
* @see SiteList::getNewOffset()
* @since 1.20
- * @var integer
+ * @var int
*/
protected $indexOffset = 0;
*
* @since 1.20
*
- * @return integer
+ * @return int
*/
protected function getNewOffset() {
while ( $this->offsetExists( $this->indexOffset ) ) {
*
* @since 1.20
*
- * @param integer|string $index
+ * @param int|string $index
* @param mixed $value
*
* @return bool
protected $liveRing;
/** @var Array (location => UNIX timestamp) */
protected $ejectionExpiries = [];
- /** @var integer UNIX timestamp */
+ /** @var int UNIX timestamp */
protected $ejectionNextExpiry = INF;
const RING_SIZE = 268435456; // 2^28
* Get the location of an item on the ring, as well as the next locations
*
* @param string $item
- * @param integer $limit Maximum number of locations to return
+ * @param int $limit Maximum number of locations to return
* @return array List of locations
*/
public function getLocations( $item, $limit ) {
* Remove a location from the "live" hash ring
*
* @param string $location
- * @param integer $ttl Seconds
+ * @param int $ttl Seconds
* @return bool Whether some non-ejected locations are left
*/
public function ejectFromLiveRing( $location, $ttl ) {
* Get the location of an item on the "live" ring, as well as the next locations
*
* @param string $item
- * @param integer $limit Maximum number of locations to return
+ * @param int $limit Maximum number of locations to return
* @return array List of locations
* @throws UnexpectedValueException
*/
protected $multiHandle = null; // curl_multi handle
/** @var string|null SSL certificates path */
protected $caBundlePath;
- /** @var integer */
+ /** @var int */
protected $connTimeout = 10;
- /** @var integer */
+ /** @var int */
protected $reqTimeout = 300;
/** @var bool */
protected $usePipelining = false;
- /** @var integer */
+ /** @var int */
protected $maxConnsPerHost = 50;
/** @var string|null proxy */
protected $proxy;
* @param array $headers Any additional headers to send if the file exists
* @param bool $sendErrors Send error messages if errors occur (like 404)
* @param array $optHeaders HTTP request header map (e.g. "range") (use lowercase keys)
- * @param integer $flags Bitfield of STREAM_* constants
+ * @param int $flags Bitfield of STREAM_* constants
* @throws MWException
* @return bool Success
*/
* Send out a standard 404 message for a file
*
* @param string $fname Full name and path of the file to stream
- * @param integer $flags Bitfield of STREAM_* constants
+ * @param int $flags Bitfield of STREAM_* constants
* @since 1.24
*/
public static function send404Message( $fname, $flags = 0 ) {
* Convert a Range header value to an absolute (start, end) range tuple
*
* @param string $range Range header value
- * @param integer $size File size
+ * @param int $size File size
* @return array|string Returns error string on failure (start, end, length)
* @since 1.24
*/
abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
/** @var array[] Lock tracking */
protected $locks = [];
- /** @var integer ERR_* class constant */
+ /** @var int ERR_* class constant */
protected $lastError = self::ERR_NONE;
/** @var string */
protected $keyspace = 'local';
protected $logger;
/** @var callback|null */
protected $asyncHandler;
- /** @var integer Seconds */
+ /** @var int Seconds */
protected $syncTimeout;
/** @var bool */
/** @var callable[] */
protected $busyCallbacks = [];
- /** @var integer[] Map of (ATTR_* class constant => QOS_* class constant) */
+ /** @var int[] Map of (ATTR_* class constant => QOS_* class constant) */
protected $attrMap = [];
/** Possible values for getLastError() */
* @param string $key
* @param int $ttl Time-to-live (seconds)
* @param callable $callback Callback that derives the new value
- * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+ * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
* @return mixed The cached value if found or the result of $callback otherwise
* @since 1.27
*/
* higher tiers using standard TTLs.
*
* @param string $key
- * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
- * @param integer $oldFlags [unused]
+ * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
+ * @param int $oldFlags [unused]
* @return mixed Returns false on failure and if the item does not exist
*/
public function get( $key, $flags = 0, $oldFlags = null ) {
/**
* @param string $key
- * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+ * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
* @return mixed Returns false on failure and if the item does not exist
*/
abstract protected function doGet( $key, $flags = 0 );
*
* @param string $key
* @param mixed &$casToken
- * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+ * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
* @return mixed Returns false on failure and if the item does not exist
* @throws Exception
*/
/**
* Get an associative array containing the item for each of the keys that have items.
* @param array $keys List of strings
- * @param integer $flags Bitfield; supports READ_LATEST [optional]
+ * @param int $flags Bitfield; supports READ_LATEST [optional]
* @return array
*/
public function getMulti( array $keys, $flags = 0 ) {
}
/**
- * @param integer $flag ATTR_* class constant
- * @return integer QOS_* class constant
+ * @param int $flag ATTR_* class constant
+ * @return int QOS_* class constant
* @since 1.28
*/
public function getQoS( $flag ) {
* Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map
*
* @param BagOStuff[] $bags
- * @return integer[] Resulting flag map (class ATTR_* constant => class QOS_* constant)
+ * @return int[] Resulting flag map (class ATTR_* constant => class QOS_* constant)
*/
protected function mergeFlagMaps( array $bags ) {
$map = [];
class HashBagOStuff extends BagOStuff {
/** @var mixed[] */
protected $bag = [];
- /** @var integer Max entries allowed */
+ /** @var int Max entries allowed */
protected $maxCacheKeys;
const KEY_VAL = 0;
/**
* Apply a write method to the first $count backing caches
*
- * @param integer $count
+ * @param int $count
* @param bool $asyncWrites
* @param string $method
* @param mixed $args,...
/**
* @param string $key
- * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+ * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
* @return mixed Returns false on failure and if the item does not exist
*/
protected function doGet( $key, $flags = 0 ) {
/** @var int ERR_* constant for the "last error" registry */
protected $lastRelayError = self::ERR_NONE;
- /** @var integer Callback stack depth for getWithSetCallback() */
+ /** @var int Callback stack depth for getWithSetCallback() */
private $callbackDepth = 0;
/** @var mixed[] Temporary warm-up cache */
private $warmupCache = [];
- /** @var integer Key fetched */
+ /** @var int Key fetched */
private $warmupKeyMisses = 0;
/** Max time expected to pass between delete() and DB commit finishing */
const FLD_FLAGS = 4; // key to the flags bitfield
const FLD_HOLDOFF = 5; // key to any hold-off TTL
- /** @var integer Treat this value as expired-on-arrival */
+ /** @var int Treat this value as expired-on-arrival */
const FLG_STALE = 1;
const ERR_NONE = 0; // no error
*
* @param string $key Cache key
* @param mixed $value
- * @param integer $ttl Seconds to live. Special values are:
+ * @param int $ttl Seconds to live. Special values are:
* - WANObjectCache::TTL_INDEFINITE: Cache forever
* @param array $opts Options map:
* - lag : Seconds of replica DB lag. Typically, this is either the replica DB lag
* idempotence, the $ttl should not vary for different delete() calls on the same key.
*
* @param string $key Cache key
- * @param integer $ttl Tombstone TTL; Default: WANObjectCache::HOLDOFF_TTL
+ * @param int $ttl Tombstone TTL; Default: WANObjectCache::HOLDOFF_TTL
* @return bool True if the item was purged or not found, false on failure
*/
final public function delete( $key, $ttl = self::HOLDOFF_TTL ) {
* @see WANObjectCache::set()
*
* @param string $key Cache key
- * @param integer $ttl Seconds to live for key updates. Special values are:
+ * @param int $ttl Seconds to live for key updates. Special values are:
* - WANObjectCache::TTL_INDEFINITE: Cache forever
* - WANObjectCache::TTL_UNCACHEABLE: Do not cache at all
* @param callable $callback Value generation function
* @see WANObjectCache::getWithSetCallback()
*
* @param string $key
- * @param integer $ttl
+ * @param int $ttl
* @param callback $callback
* @param array $opts Options map for getWithSetCallback()
* @param float &$asOf Cache generation timestamp of returned value [returned]
* @endcode
*
* @param ArrayIterator $keyedIds Result of WANObjectCache::makeMultiKeys()
- * @param integer $ttl Seconds to live for key updates
+ * @param int $ttl Seconds to live for key updates
* @param callable $callback Callback the yields entity regeneration callbacks
* @param array $opts Options map
* @return array Map of (cache key => value) in the same order as $keyedIds
* @endcode
*
* @param ArrayIterator $keyedIds Result of WANObjectCache::makeMultiKeys()
- * @param integer $ttl Seconds to live for key updates
+ * @param int $ttl Seconds to live for key updates
* @param callable $callback Callback the yields entity regeneration callbacks
* @param array $opts Options map
* @return array Map of (cache key => value) in the same order as $keyedIds
}
/**
- * @param integer $flag ATTR_* class constant
- * @return integer QOS_* class constant
+ * @param int $flag ATTR_* class constant
+ * @return int QOS_* class constant
* @since 1.28
*/
public function getQoS( $flag ) {
* $ttl = $cache->adaptiveTTL( $mtime, $cache::TTL_DAY );
* @endcode
*
- * @param integer|float $mtime UNIX timestamp
- * @param integer $maxTTL Maximum TTL (seconds)
- * @param integer $minTTL Minimum TTL (seconds); Default: 30
+ * @param int|float $mtime UNIX timestamp
+ * @param int $maxTTL Maximum TTL (seconds)
+ * @param int $minTTL Minimum TTL (seconds); Default: 30
* @param float $factor Value in the range (0,1); Default: .2
- * @return integer Adaptive TTL
+ * @return int Adaptive TTL
* @since 1.28
*/
public function adaptiveTTL( $mtime, $maxTTL, $minTTL = 30, $factor = .2 ) {
}
/**
- * @return integer Number of warmup key cache misses last round
+ * @return int Number of warmup key cache misses last round
* @since 1.30
*/
public function getWarmupKeyMisses() {
* This must set the key to "PURGED:<UNIX timestamp>:<holdoff>"
*
* @param string $key Cache key
- * @param integer $ttl How long to keep the tombstone [seconds]
- * @param integer $holdoff HOLDOFF_* constant controlling how long to ignore sets for this key
+ * @param int $ttl How long to keep the tombstone [seconds]
+ * @param int $holdoff HOLDOFF_* constant controlling how long to ignore sets for this key
* @return bool Success
*/
protected function relayPurge( $key, $ttl, $holdoff ) {
* and get hits too. Similar to worthRefreshExpiring(), randomization is used.
*
* @param float $asOf UNIX timestamp of the value
- * @param integer $ageNew Age of key when this might recommend refreshing (seconds)
- * @param integer $timeTillRefresh Age of key when it should be refreshed if popular (seconds)
+ * @param int $ageNew Age of key when this might recommend refreshing (seconds)
+ * @param int $timeTillRefresh Age of key when it should be refreshed if popular (seconds)
* @param float $now The current UNIX timestamp
* @return bool
*/
* Do not use this method outside WANObjectCache
*
* @param mixed $value
- * @param integer $ttl [0=forever]
+ * @param int $ttl [0=forever]
* @param float $now Unix Current timestamp just before calling set()
* @return array
*/
/** @var string */
protected $channel;
- /** @var integer */
+ /** @var int */
protected $initialStartWindow;
/**
/** @var float[] Map of (DB master name => 1) */
protected $shutdownTouchDBs = [];
- /** @var integer Seconds to store positions */
+ /** @var int Seconds to store positions */
const POSITION_TTL = 60;
- /** @var integer Max time to wait for positions to appear */
+ /** @var int Max time to wait for positions to appear */
const POS_WAIT_TIMEOUT = 5;
/**
* With conflicting expectations, the most narrow ones will be used
*
* @param string $event (writes,queries,conns,mConns)
- * @param integer $value Maximum count of the event
+ * @param int $value Maximum count of the event
* @param string $fname Caller
* @since 1.25
*/
* @param string $query Function name or generalized SQL
* @param float $sTime Starting UNIX wall time
* @param bool $isWrite Whether this is a write query
- * @param integer $n Number of affected rows
+ * @param int $n Number of affected rows
*/
public function recordQueryCompletion( $query, $sTime, $isWrite = false, $n = 0 ) {
$eTime = microtime( true );
* @param string $db DB name
* @param string $id ID string of transaction
* @param float $writeTime Time spent in write queries
- * @param integer $affected Number of rows affected by writes
+ * @param int $affected Number of rows affected by writes
*/
public function transactionWritingOut( $server, $db, $id, $writeTime = 0.0, $affected = 0 ) {
$name = "{$server} ({$db}) (TRX#$id)";
protected $mTablePrefix = '';
/** @var string */
protected $mSchema = '';
- /** @var integer */
+ /** @var int */
protected $mFlags;
/** @var array */
protected $mLBInfo = [];
*/
private $mTrxWriteDuration = 0.0;
/**
- * @var integer Number of write queries for the current transaction
+ * @var int Number of write queries for the current transaction
*/
private $mTrxWriteQueryCount = 0;
/**
- * @var integer Number of rows affected by write queries for the current transaction
+ * @var int Number of rows affected by write queries for the current transaction
*/
private $mTrxWriteAffectedRows = 0;
/**
*/
private $mTrxWriteAdjDuration = 0.0;
/**
- * @var integer Number of write queries counted in mTrxWriteAdjDuration
+ * @var int Number of write queries counted in mTrxWriteAdjDuration
*/
private $mTrxWriteAdjQueryCount = 0;
/**
*
* @param string $sql A SQL write query
* @param float $runtime Total runtime, including RTT
- * @param integer $affected Affected row count
+ * @param int $affected Affected row count
*/
private function updateTrxWriteQueryTime( $sql, $runtime, $affected ) {
// Whether this is indicative of replica DB runtime (except for RBR or ws_repl)
/**
* Do not use this method outside of Database/DBError classes
*
- * @param integer|string $errno
+ * @param int|string $errno
* @return bool Whether the given query error was a connection drop
*/
public function wasConnectionError( $errno ) {
*
* This method should not be used outside of Database/LoadBalancer
*
- * @param integer $trigger IDatabase::TRIGGER_* constant
+ * @param int $trigger IDatabase::TRIGGER_* constant
* @since 1.20
* @throws Exception
*/
*
* This method should not be used outside of Database/LoadBalancer
*
- * @param integer $trigger IDatabase::TRIGGER_* constant
+ * @param int $trigger IDatabase::TRIGGER_* constant
* @throws Exception
* @since 1.20
*/
/**
* Get the number of affected rows from pending write queries
*
- * @return integer
+ * @return int
* @since 1.30
*/
public function pendingWriteRowsAffected();
/**
* @param string $file Binlog file name
- * @param integer $pos Binlog position
+ * @param int $pos Binlog position
* @param string $gtid Comma separated GTID set [optional]
*/
function __construct( $file, $pos, $gtid = '' ) {
use stdClass;
class MssqlResultWrapper extends ResultWrapper {
- /** @var integer|null */
+ /** @var int|null */
private $mSeekTo = null;
/**
class DBQueryError extends DBExpectedError {
/** @var string */
public $error;
- /** @var integer */
+ /** @var int */
public $errno;
/** @var string */
public $sql;
/**
* Prepare all tracked load balancers for shutdown
- * @param integer $mode One of the class SHUTDOWN_* constants
+ * @param int $mode One of the class SHUTDOWN_* constants
* @param callable|null $workCallback Work to mask ChronologyProtector writes
*/
public function shutdown(
private $mGroupLoads;
/** @var bool Whether to disregard replica DB lag as a factor in replica DB selection */
private $mAllowLagged;
- /** @var integer Seconds to spend waiting on replica DB lag to resolve */
+ /** @var int Seconds to spend waiting on replica DB lag to resolve */
private $mWaitTimeout;
/** @var array The LoadMonitor configuration */
private $loadMonitorConfig;
/** @var Database DB connection object that caused a problem */
private $errorConnection;
- /** @var integer The generic (not query grouped) replica DB index (of $mServers) */
+ /** @var int The generic (not query grouped) replica DB index (of $mServers) */
private $mReadIndex;
/** @var bool|DBMasterPos False if not set */
private $mWaitForPos;
private $mLastError = 'Unknown error';
/** @var string|bool Reason the LB is read-only or false if not */
private $readOnlyReason = false;
- /** @var integer Total connections opened */
+ /** @var int Total connections opened */
private $connsOpened = 0;
/** @var string|bool String if a requested DBO_TRX transaction round is active */
private $trxRoundId = false;
/** @var callable Exception logger */
private $errorLogger;
- /** @var boolean */
+ /** @var bool */
private $disabled = false;
- /** @var boolean */
+ /** @var bool */
private $chronProtInitialized = false;
- /** @var integer Warn when this many connection are held */
+ /** @var int Warn when this many connection are held */
const CONN_HELD_WARN_THRESHOLD = 10;
- /** @var integer Default 'max lag' when unspecified */
+ /** @var int Default 'max lag' when unspecified */
const MAX_LAG_DEFAULT = 10;
- /** @var integer Seconds to cache master server read-only status */
+ /** @var int Seconds to cache master server read-only status */
const TTL_CACHE_READONLY = 5;
const KEY_LOCAL = 'local';
*
* @param int $i Server index
* @param string $domain Domain ID to open
- * @param integer $flags Class CONN_* constant bitfield
+ * @param int $flags Class CONN_* constant bitfield
* @return Database
*/
private function openForeignConnection( $i, $domain, $flags = 0 ) {
*
* Values may be "false" if replication is too broken to estimate
*
- * @param integer[] $serverIndexes
+ * @param int[] $serverIndexes
* @param string $domain
* @return array Map of (server index => float|int|bool)
*/
}
/**
- * @param integer $index Server index
+ * @param int $index Server index
* @param IDatabase|null $conn Connection handle or null on connection failure
* @return float
*/
/**
* Check whether this data factory has any data.
- * @return boolean
+ * @return bool
*/
public function hasData() {
return !empty( $this->buffer );
interface IBufferingStatsdDataFactory extends StatsdDataFactoryInterface {
/**
* Check whether this data factory has any data.
- * @return boolean
+ * @return bool
*/
public function hasData();
* This function creates a 'updateCount' StatsdData object.
*
* @param string|array $key The metric(s) to decrement.
- * @param integer $delta The delta to add to the each metric
+ * @param int $delta The delta to add to the each metric
*
* @return mixed
*/
/**
* Check whether this data factory has any data.
- * @return boolean
+ * @return bool
*/
public function hasData() {
return false;
* strings are not allowed here as sampleData requires a StatsdDataInterface
* @param int $sampleRate
*
- * @return integer the data sent in bytes
+ * @return int the data sent in bytes
*/
public function send( $data, $sampleRate = 1 ) {
if ( !is_array( $data ) ) {
/**
* Check if the page can be cached
- * @param integer $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
+ * @param int $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
* @return bool
*/
public function isFileCacheable( $mode = HTMLFileCache::MODE_NORMAL ) {
/**
* @param Content $content Pre-save transform content
- * @param integer $flags
+ * @param int $flags
* @param User $user
* @param string $summary
* @param array $meta
/**
* @param Content $content Pre-save transform content
- * @param integer $flags
+ * @param int $flags
* @param User $user
* @param string $summary
* @param array $meta
* @param Revision $revision
* @param User $user User object that did the revision
* @param array $options Array of options, following indexes are used:
- * - changed: boolean, whether the revision changed the content (default true)
- * - created: boolean, whether the revision created the page (default false)
- * - moved: boolean, whether the page was moved (default false)
- * - restored: boolean, whether the page was undeleted (default false)
+ * - changed: bool, whether the revision changed the content (default true)
+ * - created: bool, whether the revision created the page (default false)
+ * - moved: bool, whether the page was moved (default false)
+ * - restored: bool, whether the page was undeleted (default false)
* - oldrevision: Revision object for the pre-update revision (default null)
- * - oldcountable: boolean, null, or string 'no-change' (default null):
- * - boolean: whether the page was counted as an article before that
+ * - oldcountable: bool, null, or string 'no-change' (default null):
+ * - bool: whether the page was counted as an article before that
* revision, only used in changed is true and created is false
* - null: if created is false, don't update the article count; if created
* is true, do update the article count
/**
* Lock the page row for this title+id and return page_latest (or 0)
*
- * @return integer Returns 0 if no row was found with this title+id
+ * @return int Returns 0 if no row was found with this title+id
* @since 1.27
*/
public function lockAndGetLatest() {
*
* @param array $added The names of categories that were added
* @param array $deleted The names of categories that were deleted
- * @param integer $id Page ID (this should be the original deleted page ID)
+ * @param int $id Page ID (this should be the original deleted page ID)
*/
public function updateCategoryCounts( array $added, array $deleted, $id = 0 ) {
$id = $id ?: $this->getId();
*/
private $mFlags = [];
- /** @var integer|null Assumed rev ID for {{REVISIONID}} if no revision is set */
+ /** @var int|null Assumed rev ID for {{REVISIONID}} if no revision is set */
private $mSpeculativeRevId;
- /** @var integer Upper bound of expiry based on parse duration */
+ /** @var int Upper bound of expiry based on parse duration */
private $mMaxAdaptiveExpiry = INF;
const EDITSECTION_REGEX =
}
/**
- * @param integer $id
+ * @param int $id
* @since 1.28
*/
public function setSpeculativeRevIdUsed( $id ) {
/**
* Lower the runtime adaptive TTL to at most this value
*
- * @param integer $ttl
+ * @param int $ttl
* @since 1.28
*/
public function updateRuntimeAdaptiveExpiry( $ttl ) {
* store array can be accessed via getNextSibling().
*
* @param array $store
- * @param integer $index
+ * @param int $index
*/
public function __construct( array $store, $index ) {
$this->store = $store;
* on what is at the relevant store index.
*
* @param array $store
- * @param integer $index
+ * @param int $index
* @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text
*/
public static function factory( array $store, $index ) {
* return a temporary proxy object: different instances will be returned
* if this is called more than once on the same node.
*
- * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|boolean
+ * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
*/
public function getFirstChild() {
if ( !isset( $this->rawChildren[0] ) ) {
* return a temporary proxy object: different instances will be returned
* if this is called more than once on the same node.
*
- * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|boolean
+ * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
*/
public function getNextSibling() {
return self::factory( $this->store, $this->index + 1 );
* store array can be accessed via getNextSibling().
*
* @param array $store
- * @param integer $index
+ * @param int $index
*/
public function __construct( array $store, $index ) {
$this->value = $store[$index];
* store array can be accessed via getNextSibling().
*
* @param array $store
- * @param integer $index
+ * @param int $index
*/
public function __construct( array $store, $index ) {
$descriptor = $store[$index];
/**
* Get the current deletion bitfield value
*
- * @return integer
+ * @return int
*/
abstract public function getBits();
* @since 1.22
* @param array $bitPars ExtractBitParams() params
* @param int $oldfield Current bitfield
- * @return integer
+ * @return int
*/
public static function extractBitfield( array $bitPars, $oldfield ) {
// Build the actual new rev_deleted bitfield
private $serviceInstantiators = [];
/**
- * @var boolean[] disabled status, per service name
+ * @var bool[] disabled status, per service name
*/
private $disabled = [];
private $extraInstantiationParams;
/**
- * @var boolean
+ * @var bool
*/
private $destroyed = false;
* Cookies that are session-length do not call this function.
*
* @param string $cookieName
- * @param boolean $shouldRememberUser Whether the user should be remembered
+ * @param bool $shouldRememberUser Whether the user should be remembered
* long-term
* @return int Cookie expiration time in seconds; 0 for session cookies
*/
protected $totalCount = 0, $totalBytes = 0;
/**
- * @var integer $totalPerType Combined file size of all files in a section
+ * @var int $totalPerType Combined file size of all files in a section
*/
protected $totalPerType = 0;
/**
- * @var integer $totalSize Combined file size of all files
+ * @var int $totalSize Combined file size of all files
*/
protected $totalSize = 0;
$oldTitleText = '';
$oldTitle = Title::makeTitle( $result->rc_namespace, $result->rc_title );
- if ( count( $classes ) ) {
- $attribs['class'] = implode( ' ', $classes );
- }
-
if ( !$title->equals( $oldTitle ) ) {
$oldTitleText = $oldTitle->getPrefixedText();
$oldTitleText = Html::rawElement(
Hooks::run( 'NewPagesLineEnding', [ $this, &$ret, $result, &$classes, &$attribs ] );
$attribs = wfArrayFilterByKey( $attribs, [ Sanitizer::class, 'isReservedDataAttribute' ] );
+ if ( count( $classes ) ) {
+ $attribs['class'] = implode( ' ', $classes );
+ }
+
return Html::rawElement( 'li', $attribs, $ret ) . "\n";
}
/**
* Determine whether an element is in the list of formatting elements.
* @param BalanceElement $elt
- * @return boolean
+ * @return bool
*/
public function isInList( BalanceElement $elt ) {
return $this->head === $elt || $elt->prevAFE;
* Insert a p-wrapper
*
* @param SerializerNode $parent
- * @param integer $sourceStart
+ * @param int $sourceStart
* @return SerializerNode
*/
private function insertPWrapper( SerializerNode $parent, $sourceStart ) {
* FIXME: fostering ($preposition == BEFORE) is mostly done by inserting as
* normal, the full algorithm is not followed.
*
- * @param integer $preposition
+ * @param int $preposition
* @param Element|SerializerNode|null $refElement
* @param Element $element
* @param bool $void
- * @param integer $sourceStart
- * @param integer $sourceLength
+ * @param int $sourceStart
+ * @param int $sourceLength
*/
public function insertElement( $preposition, $refElement, Element $element, $void,
$sourceStart, $sourceLength
*
* @param SerializerNode $parentNode
* @param bool $inline
- * @param integer $pos The source position
+ * @param int $pos The source position
* @return SerializerNode
*/
private function splitTagStack( SerializerNode $parentNode, $inline, $pos ) {
/**
* @param string $tempPath File system path to temporary file containing the upload
- * @param integer $fileSize
+ * @param int $fileSize
*/
protected function setTempFile( $tempPath, $fileSize = null ) {
$this->mTempPath = $tempPath;
/** @var Block */
private $mBlockedFromCreateAccount = false;
- /** @var integer User::READ_* constant bitfield used to load data */
+ /** @var int User::READ_* constant bitfield used to load data */
protected $queryFlagsUsed = self::READ_NORMAL;
public static $idCacheByName = [];
/**
* Load the user table data for this object from the source given by mFrom.
*
- * @param integer $flags User::READ_* constant bitfield
+ * @param int $flags User::READ_* constant bitfield
*/
public function load( $flags = self::READ_NORMAL ) {
global $wgFullyInitialised;
/**
* Load user table data, given mId has already been set.
- * @param integer $flags User::READ_* constant bitfield
+ * @param int $flags User::READ_* constant bitfield
* @return bool False if the ID does not exist, true otherwise
*/
public function loadFromId( $flags = self::READ_NORMAL ) {
/**
* @since 1.27
* @param string $wikiId
- * @param integer $userId
+ * @param int $userId
*/
public static function purge( $wikiId, $userId ) {
$cache = ObjectCache::getMainWANInstance();
/**
* Get database id given a user name
* @param string $name Username
- * @param integer $flags User::READ_* constant bitfield
+ * @param int $flags User::READ_* constant bitfield
* @return int|null The corresponding user's ID, or null if user is nonexistent
*/
public static function idFromName( $name, $flags = self::READ_NORMAL ) {
* Load user and user_group data from the database.
* $this->mId must be set, this is how the user is identified.
*
- * @param integer $flags User::READ_* constant bitfield
+ * @param int $flags User::READ_* constant bitfield
* @return bool True if the user exists, false if the user is anonymous
*/
public function loadFromDatabase( $flags = self::READ_LATEST ) {
protected $primaryKey;
/**
- * @var integer $batchSize The number of rows to fetch per iteration
+ * @var int $batchSize The number of rows to fetch per iteration
*/
protected $batchSize;
private $current = [];
/**
- * @var integer key 0-indexed number of pages fetched since self::reset()
+ * @var int key 0-indexed number of pages fetched since self::reset()
*/
private $key;
* @param IDatabase $db The database to read from
* @param string|array $table The name or names of the table to read from
* @param string|array $primaryKey The name or names of the primary key columns
- * @param integer $batchSize The number of rows to fetch per iteration
+ * @param int $batchSize The number of rows to fetch per iteration
* @throws InvalidArgumentException
*/
public function __construct( IDatabase $db, $table, $primaryKey, $batchSize ) {
}
/**
- * @return integer 0-indexed count of the page number fetched
+ * @return int 0-indexed count of the page number fetched
*/
public function key() {
return $this->key;
/**
* @param array $time Result of UIDGenerator::millitime()
- * @param integer $delta Number of intervals to add on to the timestamp
+ * @param int $delta Number of intervals to add on to the timestamp
* @return string 60 bits of "100ns intervals since 15 October 1582" (rolls over in 3400)
* @throws RuntimeException
*/
* @param array $config Configuration options
* @param int|null $config['pushPending'] Whether the input should be visually marked as
* "pending", while requesting suggestions (default: false)
- * @param boolean|null $config['performSearchOnClick'] If true, the script will start a search
+ * @param bool|null $config['performSearchOnClick'] If true, the script will start a search
* whenever a user hits a suggestion. If false, the text of the suggestion is inserted into the
* text field only (default: true)
* @param string $config['dataLocation'] Where the search input field will be
* @param array $config Configuration options
* @param array $config['textinput'] Configuration for the TextInputWidget
* @param array $config['dropdowninput'] Configuration for the DropdownInputWidget
- * @param boolean $config['or'] Configuration for whether the widget is dropdown AND input
+ * @param bool $config['or'] Configuration for whether the widget is dropdown AND input
* or dropdown OR input
*/
public function __construct( array $config = [] ) {
*
* @since 1.28
* @param Language $lang
- * @return boolean
+ * @return bool
*/
public function equals( Language $lang ) {
return $lang->getCode() === $this->mCode;
/**
* @param string $code
- * @param boolean $fallback Whether we're going through language fallback chain
+ * @param bool $fallback Whether we're going through language fallback chain
* @return string Name of the language class
*/
public static function classFromCode( $code, $fallback = true ) {
"rcfilters-filterlist-noresults": "Фільтры ня знойдзеныя",
"rcfilters-noresults-conflict": "Няма вынікаў, бо крытэры пошуку супярэчаць адзін аднаму",
"rcfilters-state-message-subset": "Гэты фільтар ня мае эфэкту, бо яго вынікі ўключаныя ў вынікі больш {{PLURAL:$2|шырокага фільтру|шырокіх фільтраў}} (паспрабуйце вылучэньне, каб вызначыць яго): $1",
- "rcfilters-state-message-fullcoverage": "Выбар усіх фільтраў у групе — тое ж самае, што і выбар ніводнага, адпаведна, гэты фільтар ня мае эфэкту. Група ўключае: $1",
+ "rcfilters-state-message-fullcoverage": "Ð\92Ñ\8bбаÑ\80 Ñ\83Ñ\81Ñ\96Ñ\85 Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80аÑ\9e Ñ\83 гÑ\8dÑ\82ай гÑ\80Ñ\83пе â\80\94 Ñ\82ое ж Ñ\81амае, Ñ\88Ñ\82о Ñ\96 вÑ\8bбаÑ\80 нÑ\96воднага, адпаведна, гÑ\8dÑ\82Ñ\8b Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80 нÑ\8f мае Ñ\8dÑ\84Ñ\8dкÑ\82Ñ\83. Ð\93Ñ\80Ñ\83па Ñ\9eклÑ\8eÑ\87ае: $1",
"rcfilters-filtergroup-authorship": "Аўтарства ўнёску",
"rcfilters-filter-editsbyself-label": "Зьмены, зробленыя вамі",
"rcfilters-filter-editsbyself-description": "Ваш уласны ўнёсак.",
"Spas.Z.Spasov",
"АдмиралАнимЕ",
"Irus",
- "Kareyac"
+ "Kareyac",
+ "ShockD"
]
},
"tog-underline": "Подчертаване на препратките:",
"virus-unknownscanner": "непознат антивирус:",
"logouttext": "<strong>Излязохте от системата.</strong>\n\nОбърнете внимание, че някои страници все още ще се показват така, сякаш сте влезли, докато не изтриете кеша на браузъра.",
"cannotlogoutnow-title": "Не може да излезете сега",
+ "cannotlogoutnow-text": "Излизането не е възможно, когато се използва $1.",
"welcomeuser": "Здравейте, $1!",
"welcomecreation-msg": "Вашата сметка беше създадена.\nМожете да промените [[Special:Preferences|настройките на {{SITENAME}}]] според предпочитанията си.",
"yourname": "Потребителско име:",
"cannotlogin-title": "Не може да влезете в",
"cannotlogin-text": "Влизането в системата не е възможно.",
"cannotloginnow-title": "Не може да влезете сега",
+ "cannotloginnow-text": "Влизането не е възможно, когато се използва $1.",
"cannotcreateaccount-title": "Невъзможно е да бъде създадена потребителска сметка",
+ "cannotcreateaccount-text": "Директното създаване на сметки не е позволено на това Уики.",
"yourdomainname": "Вашият домейн:",
"password-change-forbidden": "Не можете да променяте пароли в това уики.",
"externaldberror": "Възникна грешка в базата от данни при външното удостоверяване, или не ви е позволено да обновявате външната си сметка.",
"permissionserrorstext": "Нямате правата да извършите това действие по {{PLURAL:$1|следната причина|следните причини}}:",
"permissionserrorstext-withaction": "Нямате разрешение за $2 поради {{PLURAL:$1|следната причина|следните причини}}:",
"recreate-moveddeleted-warn": "<strong>Внимание: Създавате страница, която по-рано вече е била изтрита.</strong>\n\nОбмислете добре дали е уместно повторното създаване на страницата.\nЗа ваша информация по-долу е посочена причината за предишното изтриване на страницата:",
- "moveddeleted-notice": "Тази Ñ\81Ñ\82Ñ\80аниÑ\86а е била изÑ\82Ñ\80иÑ\82а.\nÐ\97а Ñ\81пÑ\80авка, по-долÑ\83 Ñ\81а вклÑ\8eÑ\87ени извадки оÑ\82 дневниÑ\86иÑ\82е на изÑ\82Ñ\80иваниÑ\8fÑ\82а и пÑ\80емеÑ\81Ñ\82ваниÑ\8fÑ\82а.",
+ "moveddeleted-notice": "Тази Ñ\81Ñ\82Ñ\80аниÑ\86а е изÑ\82Ñ\80иÑ\82а.\nÐ\94невниÑ\86иÑ\82е на изÑ\82Ñ\80иваниÑ\8fÑ\82а, заÑ\89иÑ\82иÑ\82е и пÑ\80емеÑ\81Ñ\82ваниÑ\8fÑ\82а е показан по-долÑ\83.",
"log-fulllog": "Преглеждане на пълния дневник",
"edit-hook-aborted": "Редакцията беше прекъсната от кука.\nНе беше посочена причина за това.",
"edit-gone-missing": "Страницата не можа да се обнови.\nВероятно междувременно е била изтрита.",
"filetype-unwanted-type": "<strong>„.$1“</strong> е нежелан файлов формат.\n{{PLURAL:$3|Препоръчителният файлов формат е|Препоръчителните файлови формати са}} $2.",
"filetype-banned-type": "'''„.$1“''' не {{PLURAL:$4|е позволен файлов формат|са позволени файлови формати}}. {{PLURAL:$3|Позволеният файлов формат е|Позволените файлови формати са}} $2.",
"filetype-missing": "Файлът няма разширение (напр. „.jpg“).",
- "empty-file": "Ð\9fодадениÑ\8fÑ\82 оÑ\82 ваÑ\81 Ñ\84айл беÑ\88е пÑ\80азен.",
+ "empty-file": "Подаденият от вас файл е празен.",
"file-too-large": "Подаденият от вас файл беше твърде голям.",
"filename-tooshort": "Името на файла е твърде кратко.",
"filetype-banned": "Този тип файл е забранен.",
"logentry-delete-delete": "$1 {{GENDER:$2|изтри}} страницата $3",
"logentry-delete-delete_redir": "$1 {{GENDER:$2|изтри}} пренасочване $3 чрез препокриване",
"logentry-delete-restore": "$1 {{GENDER:$2|възстанови}} страницата $3 ($4)",
+ "logentry-delete-event": "$1 {{GENDER:$2|промени}} видимостта на {{PLURAL:$5|едно събитие|$5 събития}} от дневника в $3: $4",
"logentry-delete-revision": "$1 {{GENDER:$2|промени}} видимостта на {{PLURAL:$5|една редакция|$5 редакции}} в страница $3: $4",
"logentry-delete-event-legacy": "$1 {{GENDER:$2|промени}} видимостта на събитията от дневниците за страница $3",
"logentry-delete-revision-legacy": "$1 {{GENDER:$2|промени}} видимостта на версиите на страница $3",
"revdelete-content-hid": "скрито съдържание",
"revdelete-summary-hid": "скрито резюме на редакцията",
"revdelete-uname-hid": "скрито потребителско име",
+ "revdelete-content-unhid": "показано съдържание",
+ "revdelete-summary-unhid": "показано резюме на редакцията",
+ "revdelete-uname-unhid": "показано потребителско име",
"revdelete-restricted": "добавени ограничения за администраторите",
"revdelete-unrestricted": "премахнати ограничения за администраторите",
"logentry-block-block": "$1 {{GENDER:$2|блокира }} {{GENDER:$4|$3}} със срок на изтичане $5 $6",
"logentry-newusers-create2": "$1 {{GENDER:$2|създаде}} потребителска сметка $3",
"logentry-newusers-byemail": "$1 {{GENDER:$2|създаде}} потребителската сметка $3, като паролата за нея беше изпратена по е-поща",
"logentry-newusers-autocreate": "Сметката $1 беше {{GENDER:$2|създадена}} автоматично",
+ "logentry-protect-protect": "\n$1 {{GENDER:$2|защити}} $3 $4",
+ "logentry-protect-protect-cascade": "$1 {{GENDER:$2|защити}} $3 $4 [каскадно]",
"logentry-rights-rights": "$1 {{GENDER:$2|промени}} потребителската група на {{GENDER:$6|$3}} от $4 на $5",
"logentry-rights-rights-legacy": "$1 {{GENDER:$2|промени}} потребителската група на $3",
"logentry-rights-autopromote": "$1 е автоматично {{GENDER:$2|повишен|повишена}} от $4 до $5",
"filedelete-intro-old": "Brišete verziju datoteke '''[[Media:$1|$1]]''' od [$4 $3, $2].",
"filedelete-comment": "Razlog:",
"filedelete-submit": "Obriši",
- "filedelete-success": "'''$1''' je obrisano.",
+ "filedelete-success": "Datoteka <strong>$1</strong> je obrisana.",
"filedelete-success-old": "Verzija datoteke '''[[Media:$1|$1]]''' od $3, $2 je obrisana.",
"filedelete-nofile": "'''$1''' ne postoji.",
"filedelete-nofile-old": "Ne postoji arhivirana verzija '''$1''' sa navedenim atributima.",
"rcfilters-filterlist-noresults": "Keine Filter gefunden",
"rcfilters-noresults-conflict": "Keine Ergebnisse gefunden, da sich die Suchkriterien in Konflikt befinden.",
"rcfilters-state-message-subset": "Dieser Filter hat keinen Effekt, da seine Ergebnisse mit denen {{PLURAL:$2|des folgenden breiteren Filters|der folgenden breiteren Filter}} einbezogen sind (versuche die Hervorhebung, um sie zu unterscheiden): $1",
- "rcfilters-state-message-fullcoverage": "Das Auswählen aller Filter in einer Gruppe ist das Gleiche wie das Auswählen keines Filters. Deshalb hat dieser Filter keinen Effekt. Die Gruppe enthält: $1",
+ "rcfilters-state-message-fullcoverage": "Das Auswählen aller Filter in dieser Gruppe ist das Gleiche wie das Auswählen keines Filters. Deshalb hat dieser Filter keinen Effekt. Die Gruppe enthält: $1",
"rcfilters-filtergroup-authorship": "Beitrags-Autorenschaft",
"rcfilters-filter-editsbyself-label": "Änderungen von dir",
"rcfilters-filter-editsbyself-description": "Deine eigenen Beiträge.",
"rcfilters-hours-title": "Recent hours",
"rcfilters-days-show-days": "$1 {{PLURAL:$1|day|days}}",
"rcfilters-days-show-hours": "$1 {{PLURAL:$1|hour|hours}}",
+ "rcfilters-highlighted-filters-list": "Highlighted: $1",
"rcfilters-quickfilters": "Saved filters",
"rcfilters-quickfilters-placeholder-title": "No links saved yet",
"rcfilters-quickfilters-placeholder-description": "To save your filter settings and reuse them later, click the bookmark icon in the Active Filter area, below.",
"nospecialpagetext": "<strong>شما یک صفحهٔ ویژهٔ نامجاز را درخواست کردهاید.</strong>\n\nفهرستی از صفحههای ویژهٔ مجاز در [[Special:SpecialPages|{{int:specialpages}}]] وجود دارد.",
"error": "خطا",
"databaseerror": "خطای پایگاه داده",
- "databaseerror-text": "Ù\85Ø´Ú©Ù\84Û\8c در پاÛ\8cگاÙ\87â\80\8cÙ\87اÛ\8c داده رخ داد. \nاین ممکن است نشاندهندهٔ ایرادی در نرمافزار باشد.",
+ "databaseerror-text": "Ù\85Ø´Ú©Ù\84Û\8c در پرسÙ\85اÙ\86 از پاÛ\8cگاÙ\87 داده رخ داد. \nاین ممکن است نشاندهندهٔ ایرادی در نرمافزار باشد.",
"databaseerror-textcl": "یک خطا در پرسمان پایگاه داده رخ داد.",
"databaseerror-query": "پرسمان: $1",
"databaseerror-function": "تابع: $1",
"rcfilters-filterlist-noresults": "Aucun filtre trouvé",
"rcfilters-noresults-conflict": "Aucun résultat trouvé car les critères de recherche sont en conflit",
"rcfilters-state-message-subset": "Ce filtre n'a aucun effet, parce que ses résultats sont inclus dans ceux de la recherche suivante, {{PLURAL:$2|filtre plus étendu|filtres plus étendus}} (essayez la mise en forme pour le différencier): $1",
- "rcfilters-state-message-fullcoverage": "Sélectionner tous les filtres dans un groupe est la même chose que d'en sélectionner aucun, aussi ce filtre n'a aucun effet. Le groupe comprend: $1",
+ "rcfilters-state-message-fullcoverage": "Sélectionner tous les filtres dans ce groupe est la même chose que de n’en sélectionner aucun, aussi ce filtre n’a aucun effet. Le groupe comprend : $1",
"rcfilters-filtergroup-authorship": "Paternité des contributions",
"rcfilters-filter-editsbyself-label": "Modifications faites par vous",
"rcfilters-filter-editsbyself-description": "Vos propres contributions.",
"rcfilters-filter-watchlist-watchednew-description": "שינויים לדפים ברשימת המעקב שלא ביקרת בהם מאז שבוצעו השינויים.",
"rcfilters-filter-watchlist-notwatched-label": "לא ברשימת המעקב",
"rcfilters-filter-watchlist-notwatched-description": "הכל מלבד שינויים לדפים ברשימת המעקב שלך.",
+ "rcfilters-filtergroup-watchlistactivity": "פעילות ברשימת המעקב",
+ "rcfilters-filter-watchlistactivity-unseen-label": "שינויים שלא נצפו",
+ "rcfilters-filter-watchlistactivity-unseen-description": "שינויים בדפים שלא ביקרת בהם מאז שבוצעו השינויים.",
+ "rcfilters-filter-watchlistactivity-seen-label": "שינויים שנצפו",
+ "rcfilters-filter-watchlistactivity-seen-description": "שינויים בדפים שביקרת בהם מאז שבוצעו השינויים.",
"rcfilters-filtergroup-changetype": "סוג השינויים",
"rcfilters-filter-pageedits-label": "עריכות דפים",
"rcfilters-filter-pageedits-description": "עריכות של תוכן ויקי, של דיונים, של תיאורי קטגוריות…",
"rcfilters-liveupdates-button": "עדכונים חיים",
"rcfilters-liveupdates-button-title-on": "כיבוי העדכונים החיים",
"rcfilters-liveupdates-button-title-off": "הצגת שינויים חדשים כשהם מתרחשים",
+ "rcfilters-watchlist-markSeen-button": "סימון כל השינויים כאילו נצפו",
"rcnotefrom": "להלן {{PLURAL:$5|השינוי שבוצע|השינויים שבוצעו}} מאז <strong>$3, $4</strong> (מוצגים עד <strong>$1</strong>).",
"rclistfromreset": "איפוס בחירת התאריך",
"rclistfrom": "הצגת שינויים חדשים החל מ־$2, $3",
"rcfilters-filterlist-noresults": "कोई फिल्टर नहीं पाया",
"rcfilters-noresults-conflict": "कोई भी परिणाम नहीं मिला क्योंकि खोज मापदंड संघर्ष में है",
"rcfilters-state-message-subset": "इस फिल्टर का कोई प्रभाव नहीं है क्योंकि इसका परिणाम निम्न, व्यापक {{PLURAL: $2 |फ़िल्टर|फिल्टर}} के साथ शामिल है (इसे भेद करने के लिए हाइलाइट करने की कोशिश करें): $1",
- "rcfilters-state-message-fullcoverage": "किसी समूह में सभी फ़िल्टर चुनना कोई भी नहीं चुनने के समान है इसलिए इस फ़िल्टर का कोई प्रभाव नहीं है समूह में शामिल हैं: $1",
+ "rcfilters-state-message-fullcoverage": "किसी समूह में सभी फ़िल्टर चुनना कोई भी नहीं चुनने के समान है, इसलिए इस फ़िल्टर का कोई प्रभाव नहीं है, समूह में शामिल हैं: $1",
"rcfilters-filtergroup-authorship": "लेखक योगदान",
"rcfilters-filter-editsbyself-label": "आपके द्वारा बदलाव",
"rcfilters-filter-editsbyself-description": "आपके अपने योगदान।",
"prefs-email": "E-pasta iestatījumi",
"prefs-rendering": "Izskats",
"saveprefs": "Saglabāt",
- "restoreprefs": "Atjaunot noklusētos uzstādījumus (visās sadaļās)",
+ "restoreprefs": "Atiestatīt noklusētos iestatījumus (visās sadaļās)",
"prefs-editing": "Labošana",
"searchresultshead": "Meklēšana",
"stub-threshold": "Slieksnis <a href=\"#\" class=\"stub\">aizmetņa saites</a> formatēšanai (baiti):",
"prefs-advancedediting": "Vispārīgi uzstādījumi",
"prefs-editor": "Redaktors",
"prefs-preview": "Priekšskatījums",
- "prefs-advancedrc": "Papildu uzstādījumi",
- "prefs-advancedrendering": "Papildu uzstādījumi",
- "prefs-advancedsearchoptions": "Papildu uzstādījumi",
- "prefs-advancedwatchlist": "Papildu uzstādījumi",
+ "prefs-advancedrc": "Papildu iespējas",
+ "prefs-advancedrendering": "Papildu iespējas",
+ "prefs-advancedsearchoptions": "Papildu iespējas",
+ "prefs-advancedwatchlist": "Papildu iespējas",
"prefs-displayrc": "Pamatuzstādījumi",
"prefs-displaywatchlist": "Pamatuzstādījumi",
"prefs-tokenwatchlist": "Marķieris",
"rcfilters-filter-previousrevision-description": "Visas izmaiņas, kuras nav pēdējā lapas izmaiņa.",
"rcfilters-view-advanced-filters-label": "Paplašinātie filtri",
"rcfilters-view-tags": "Iezīmētie labojumi",
+ "rcfilters-view-namespaces-tooltip": "Filtrēt rezultātus pēc vārdtelpas",
"rcnotefrom": "Šobrīd redzamas izmaiņas kopš '''$2''' (parādītas ne vairāk par '''$1''').",
"rclistfromreset": "Atiestatīt datuma izvēli",
"rclistfrom": "Parādīt jaunas izmaiņas kopš $3 $2",
"limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|baiti|baits|baiti}}",
"limitreport-templateargumentsize": "Veidnes argumenta izmērs",
"limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|baiti|baits|baiti}}",
+ "limitreport-expensivefunctioncount": "Dārgo parsētāja funkciju skaits",
"expand_templates_output": "Rezultāts",
"expand_templates_ok": "Labi",
"expand_templates_remove_nowiki": "Cenzēt <nowiki> iezīmes rezultātā",
"rcfilters-filterlist-noresults": "Geen filters gevonden",
"rcfilters-noresults-conflict": "Geen resultaten gevonden omdat de zoekcriteria met elkaar conflicteren",
"rcfilters-state-message-subset": "Dit filter heeft geen effect omdat de resultaten ook worden gefilterd door {{PLURAL:$2|het|de}} bredere {{PLURAL:$2|filter|filters}} (probeer ze te markeren om ze te onderscheiden): $1",
- "rcfilters-state-message-fullcoverage": "Het selecteren van alle filters in deze groep is hetzelfde als geen filter selecteren, waardoor dit filter geen effect heeft. De groep bevat: $1",
+ "rcfilters-state-message-fullcoverage": "Het selecteren van alle filters in deze groep doet hetzelfde als geen filter selecteren, waardoor dit filter geen effect heeft. De groep bevat: $1",
"rcfilters-filtergroup-authorship": "Auteur van de bijdragen",
"rcfilters-filter-editsbyself-label": "Uw eigen wijzigingen",
"rcfilters-filter-editsbyself-description": "Uw eigen bijdragen.",
"rcfilters-days-title": "Dei siste dagane",
"rcfilters-hours-title": "Dei siste timane",
"rcfilters-days-show-days": "{{PLURAL:$1|Éin dag|$1 dagar}}",
- "rcfilters-quickfilters": "Lagra filterinnstillingar",
+ "rcfilters-quickfilters": "Lagra filter",
"rcfilters-quickfilters-placeholder-title": "Ingen lenkjer er lagra enno",
"rcfilters-quickfilters-placeholder-description": "For å lagra filterinnstillingane dine og bruka dei på nytt seinare, klikk på bokmerkeikonet i området for aktive filter under.",
"rcfilters-savedqueries-defaultlabel": "Lagra filter",
"logempty": "Ingen element i loggen passar.",
"log-title-wildcard": "Søk i titlar som byrjar med denne teksten",
"showhideselectedlogentries": "Vis/gøym valde loggoppføringar",
+ "log-edit-tags": "Endra merka til valde loggoppføringar",
"checkbox-all": "Alle",
"checkbox-none": "Ingen",
"checkbox-invert": "Vreng",
"tags-create-reason": "Årsak:",
"tags-create-submit": "Opprett",
"tags-create-no-name": "Du må oppgje eit merkenamn.",
+ "tags-edit-title": "Endra merke",
"tags-edit-existing-tags-none": "«Ingen»",
"tags-edit-chosen-placeholder": "Vel nokre merke",
"comparepages": "Samanlikna sider",
"tog-shownumberswatching": "Afichar lo nombre d'utilizaires que seguisson aquesta pagina",
"tog-oldsig": "Vòstra signatura existenta :",
"tog-fancysig": "Tractar la signatura coma de wikitèxte (sens ligam automatic)",
- "tog-uselivepreview": "Utilizar l’apercebut rapid",
+ "tog-uselivepreview": "Afichar los apercebuts sens recargar la pagina",
"tog-forceeditsummary": "M'avertir quand ai pas completat lo contengut de la bóstia de comentaris",
"tog-watchlisthideown": "Amagar mas pròprias modificacions dins la lista de seguiment",
"tog-watchlisthidebots": "Amagar los cambiaments faits pels bòts dins la lista de seguiment",
"search-category": "(categoria $1)",
"search-file-match": "(correspond al contengut del fichièr)",
"search-suggest": "Avètz volgut dire : $1",
- "search-interwiki-caption": "Projèctes fraires",
+ "search-interwiki-caption": "Resultats dels projèctes fraires",
"search-interwiki-default": "Resultats de $1 :",
"search-interwiki-more": "(mai)",
"search-interwiki-more-results": "mai de resultats",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (veire tanben la [[Special:NewPages|lista de las paginas novèlas]]).",
"recentchanges-submit": "Afichar",
"rcfilters-activefilters": "Filtres actius",
+ "rcfilters-hours-title": "Darrièras oras",
+ "rcfilters-days-show-days": "($1 {{PLURAL:$1|jorn|jorns}})",
+ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ora|oras}}",
+ "rcfilters-quickfilters": "Filtres salvats",
+ "rcfilters-savedqueries-defaultlabel": "Filtres salvats",
+ "rcfilters-savedqueries-rename": "Renomenar",
+ "rcfilters-savedqueries-setdefault": "Activar per defaut",
+ "rcfilters-savedqueries-unsetdefault": "Suprimir per defaut",
+ "rcfilters-savedqueries-remove": "Suprimir",
+ "rcfilters-savedqueries-new-name-label": "Nom",
+ "rcfilters-savedqueries-new-name-placeholder": "Descriure l'objècte del filtre",
+ "rcfilters-savedqueries-apply-label": "Crear un filtre",
+ "rcfilters-savedqueries-apply-and-setdefault-label": "Crear lo filtre per defaut",
+ "rcfilters-savedqueries-cancel-label": "Anullar",
"rcfilters-invalid-filter": "Filtre pas valid",
"rcfilters-filterlist-title": "Filtres",
+ "rcfilters-highlightmenu-title": "Causir una color",
"rcfilters-filterlist-noresults": "Cap de filtre pas trobat",
- "rcfilters-filtergroup-authorship": "Modificar la paternitat",
- "rcfilters-filter-editsbyself-label": "Vòstras pròprias modificacions",
- "rcfilters-filter-editsbyself-description": "Vòstras modificacions.",
- "rcfilters-filter-editsbyother-label": "Modificacions per d’autres.",
- "rcfilters-filter-user-experience-level-registered-label": "Enregistrat",
+ "rcfilters-filtergroup-authorship": "Paternitat de las contribucions",
+ "rcfilters-filter-editsbyself-label": "Modificacions faitas per vos",
+ "rcfilters-filter-editsbyself-description": "Vòstras pròprias contribucions.",
+ "rcfilters-filter-editsbyother-label": "Modificacions faitas pels autres.",
+ "rcfilters-filter-user-experience-level-registered-label": "Connectat",
"rcfilters-filter-user-experience-level-registered-description": "Editors connectats.",
- "rcfilters-filter-user-experience-level-unregistered-label": "Desinscrit",
+ "rcfilters-filter-user-experience-level-unregistered-label": "Pas connectat",
"rcfilters-filter-user-experience-level-unregistered-description": "Editors que son pas connectats.",
"rcfilters-filter-user-experience-level-newcomer-label": "Novèls arribants",
"rcfilters-filter-user-experience-level-learner-label": "Aprenents",
"rcfilters-filter-bots-label": "Robòt",
"rcfilters-filter-humans-label": "Èsser uman (pas robòt)",
"rcfilters-filter-humans-description": "Modificacions faitas per d'editors umans.",
+ "rcfilters-filter-patrolled-label": "Patrolhat",
+ "rcfilters-filter-unpatrolled-label": "Pas patrolhat",
"rcfilters-filtergroup-significance": "Significacion",
"rcfilters-filter-minor-label": "Cambiaments menors",
"rcfilters-filter-minor-description": "Modificacions que l'autor a marcadas coma menoras.",
"compare-invalid-title": "Lo títol qu'avètz especificat es incorrècte.",
"compare-title-not-exists": "Lo títol qu'avètz especificat existís pas",
"compare-revision-not-exists": "La revision qu'avètz especificada existís pas.",
- "diff-form": "un '''formulari'''",
+ "diff-form": "Diferéncias",
"dberr-problems": "O planhèm ! Aqueste site rencontra de dificultats tecnicas.",
"dberr-again": "Ensajatz d'esperar qualques minutas e tornatz cargar.",
"dberr-info": "(Accès a la basa de donadas impossible : $1)",
"category-file-count-limited": "اس گٹھ چ اے {{PLURAL:$1|فائل اے|$1 فائلاں نیں}}۔",
"listingcontinuesabbrev": "جاری",
"index-category": "انڈیکسڈ صفے",
- "noindex-category": "نان انڈیکسڈ ورقے",
+ "noindex-category": "نان انڈیکسڈ صفے",
"broken-file-category": "ٹٹے ہوۓ جوڑاں آلے صفحے",
"about": "بارے چ",
"article": "آرٹیکل والا صفہ",
"rcfilters-hours-title": "Title for the options to change the number of hours for the results shown.",
"rcfilters-days-show-days": "Title for the button that opens the operation to control the day range for the results. \n\nParameters: $1 - Number of days shown",
"rcfilters-days-show-hours": "Title for the button that opens the operation to control the hour range for the results. \n\nParameters: $1 - Number of hours shown",
+ "rcfilters-highlighted-filters-list": "Text for the tooltip that is displayed over highlighted results, specifying which filters the result matches in [[Special:RecentChanges]] when RCFilters are enabled. \n\nParameters: $1 - A comma separated list of matching filter names.",
"rcfilters-quickfilters": "Label for the button that opens the saved filter settings menu in [[Special:RecentChanges]]",
"rcfilters-quickfilters-placeholder-title": "Title for the text shown in the quick filters menu on [[Special:RecentChanges]] if the user has not saved any quick filters.",
"rcfilters-quickfilters-placeholder-description": "Description for the text shown in the quick filters menu on [[Special:RecentChanges]] if the user has not saved any quick filters.",
"compare-invalid-title": "'U titele ca è specificate jè invalide.",
"compare-title-not-exists": "'U titele ca è specificate non g'esiste.",
"compare-revision-not-exists": "'A revisione ca è specificate non g'esiste.",
- "diff-form": "'nu '''form'''",
+ "diff-form": "Differenze",
"dberr-problems": "Sime spiacende! Stu site stè 'ngondre de le difficoltà tecniche.",
"dberr-again": "Aspitte quacche minute e pò recareche.",
"dberr-info": "(Non ge riuscime a trasè sus a'u server d'u database: $1)",
"rcfilters-filterlist-noresults": "Nismo našli nobenega filtra",
"rcfilters-noresults-conflict": "Našli nismo nobenih rezultatov, ker si merila za iskanje nasprotujejo",
"rcfilters-state-message-subset": "Ta filter nima učinka, saj njegove rezultate {{PLURAL:$2|vključuje naslednji, širši filter|vključujeta naslednja, širša filtra|vključujejo naslednji, širši filtri}} (označite jih, da razlikujete med njimi): $1",
- "rcfilters-state-message-fullcoverage": "Izbira vseh filtrov v skupini je enako kot izbira nobenega, zato ta filter nima učinka. Skupina vključuje: $1",
+ "rcfilters-state-message-fullcoverage": "Izbira vseh filtrov v tej skupini je enako kot izbira nobenega, zato ta filter nima učinka. Skupina vključuje: $1",
"rcfilters-filtergroup-authorship": "Avtorstvo prispevka",
"rcfilters-filter-editsbyself-label": "Vaše spremembe",
"rcfilters-filter-editsbyself-description": "Vaša lastna urejanja.",
"tog-watchlisthideminor": "Dölj mindre ändringar i bevakningslistan",
"tog-watchlisthideliu": "Visa inte redigeringar av inloggade användare i bevakningslistan",
"tog-watchlistreloadautomatically": "Uppdatera bevakningslistan automatiskt när ett filter ändras (JavaScript krävs)",
+ "tog-watchlistunwatchlinks": "Lägg till länkar för att bevaka och sluta bevaka artiklar i bevakningslistan (JavaScript krävs)",
"tog-watchlisthideanons": "Dölj redigeringar av anonyma användare i bevakningslistan",
"tog-watchlisthidepatrolled": "Dölj patrullerade redigeringar i bevakningslistan",
"tog-watchlisthidecategorization": "Dölj kategorisering av sidor",
"rcfilters-filterlist-noresults": "Inga filter hittades",
"rcfilters-noresults-conflict": "Inga resultat hittades eftersom sökkriterierna är i konflikt",
"rcfilters-state-message-subset": "Detta filter har ingen effekt, eftersom resultaten inkluderar följande, bredare {{PLURAL:$2|filter}} (försök att markera för att särskilja det): $1",
- "rcfilters-state-message-fullcoverage": "Att markera alla filter i en grupp är detsamma som att markera inget alls, så detta filter har igen effekt. Grupper som inkluderas: $1",
+ "rcfilters-state-message-fullcoverage": "Att markera alla filter i denna grupp är detsamma som att markera inget alls, så detta filter har ingen effekt. Grupper som inkluderas: $1",
"rcfilters-filtergroup-authorship": "Författarskap av bidrag",
"rcfilters-filter-editsbyself-label": "Redigeringar av dig",
"rcfilters-filter-editsbyself-description": "Dina egna bidrag.",
"toolbox": "Qayqaya’",
"otherlanguages": "Kay’ bzinah",
"redirectedfrom": "(wal niya’ t’ringun paykura’ squ $1)",
+ "redirectpagesub": "t’ringun pawsa’ sa zngayan",
"redirectto": "T’ringun pawsa’ sa",
"lastmodifiedat": "Zzngayan qaniy gasinr’zyut niya’ squ pucing balay tay$1 $2.",
+ "protectedpage": "Zngyan na Cwan’an",
"jumpto": "Musa’",
"jumptonavigation": "Pglaing pzyangay",
- "jumptosearch": "Hkangi’",
+ "jumptosearch": "Hhkangi’",
"aboutsite": "Nanu’ quw {{SITENAME}}",
"aboutpage": "Project: Nanu’ quw",
"copyrightpage": "{{ns:project}}:pancyuen",
"nstab-template": "Mopan",
"nstab-category": "pintbcyan na mlmlamu’",
"mainpage-nstab": "T’ringan na zzngayan",
+ "missingarticle-diff": "(Kin’ini’ ptnaq:$1, $2)",
"badtitle": "Ungat zyuwaw na lalu’ na spzyang kkayal",
"badtitletext": "Sni’ su’ lalu’ na spzyang kkayal su’ qasa ga ungat zyuwaw niya’, ungat ana nanu’ qsahuy niya’, ini’ ga ini’ su’ ’nblayqiy p’ubuy quw pin’ubuy su’ squw bzinah na kay’, ini’ ga ’mubuy sa sni’ naha’ lalu’ sa Wiki’. \nKuna kya wal su’ syun ka biru’ qasa ga kya’a cyux ’magan sa biru’ na ini’ baqiy mita’ hazi’.",
"viewsource": "Kta quw llpgan aring sa cin’ringan",
"currentrevisionlink": "Pzyang giqas na sinhzi’",
"cur": "misuw qaniy ga",
"last": "tay glaing",
+ "histlast": "giqas balay",
"historysize": "({{PLURAL:$1|$1 bzyaqan kkayal na llpgan}})",
"rev-delundel": "Smbah sa musa’ slwan mita’",
"rev-showdeleted": "Pkaykita’",
"searchall": "kwara’",
"search-showingresults": "{{PLURAL:$4|tay <strong>$1</strong>pucing niya’, psqunun lga <strong>$3</strong> |tay <strong>$1 - $2</strong> pucing nya’, psqunun lga <strong>$3</strong> pucing nya’}}",
"search-nonefound": "Ktan qu bniru’ niya’ ga ungat quw musa’ mtnaq sa tthuzyay sa awsa’ hmkangi’.",
+ "powersearch-toggleall": "Kwara’",
"mypreferences": "Sni’ maku’",
+ "prefs-skin": "Ktan na rawziq",
+ "prefs-misc": "Mzinah",
"prefs-email": "bbzagan sa e-meyo’",
+ "prefs-rendering": "Ktan na rawziq",
"saveprefs": "Cucun",
"prefs-editing": "smr’zyut miru’",
- "searchresultshead": "hhkangi’",
- "prefs-searchoptions": "hhkangi’",
+ "searchresultshead": "Hhkangi’",
+ "prefs-searchoptions": "Hhkangi’",
"prefs-files": "biru’ na zayzyuwaw",
"youremail": "e-meyo’:",
"username": "{{GENDER:$1|Lalu’ na pptzyuwaw}}:",
+ "yourlanguage": "Kay’:",
"email": "e-meyo’",
+ "prefs-timeoffset": "Kinini’ ptnaq na zikang",
+ "prefs-diffs": "Kin’ini’ ptnaq",
"group-user": "kwara’ ka cyux mbing ka qutux qutux ngasal",
"group-bot": "squliq na kikay",
"group-sysop": "pklahang",
+ "group-all": "(kwara’)",
"group-user-member": "{{GENDER:$1|kwara’ ka cyux mbing ka qutux qutux ngasal}}",
"grouppage-user": "{{ns:project}}: kwara’ ka cyux mbing ka qutux qutux ngasal",
"grouppage-bot": "{{ns:project}}:squliq na kikay",
"recentchanges-legend-heading": "<strong> pinkita’ niya’ sa pinzga’ :</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (aniy mita’ sa[[Special:NewPages|giqas na zzngayan]])",
"recentchanges-submit": "Pkaykita’",
+ "rcfilters-filterlist-title": "Hhkangi’",
"rcfilters-filter-bots-label": "squliq na kikay",
"rclistfrom": "Inkahul misan sinbahan sa $2, $3",
"rcshowhideminor": "$1 mszik sa ssr’tun",
"rcshowhidemine-show": "Pkaykita’",
"rcshowhidemine-hide": "smbbaq",
"rclinks": "Pinkaykita’ sinbah sa $1 smbah squw $2 misuw qaniy",
- "diff": "Kin’ini’ ptnaq",
+ "diff": "kin’ini’ ptnaq",
"hist": "Pinhknyan sraral",
"hide": "Lqing",
"show": "pkaykita’",
"upload": "Pawsa’ sa kktan zayzyuwaw na biru’",
"filename": "Lalu’ na tang’an",
"filedesc": "Lalu’ na spzyang bbiru’ su’",
+ "upload-dialog-button-back": "’bzinah",
+ "upload-dialog-button-save": "Cucun",
"license-header": "Biru’ na gaga’ nqu snwayal hmriq sa kinri’",
+ "listfiles-delete": "’muyut",
"imgfile": "biru’ na zayzyuwaw",
"listfiles_user": "kwara’ ka cyux mbing ka qutux qutux ngasal",
+ "listfiles-latestversion-yes": "Aw’",
+ "listfiles-latestversion-no": "iyat",
"file-anchor-link": "biru’ na zayzyuwaw",
"filehist": "Bniru’ naha’ sa sinr’zyutan na biru’",
"filehist-help": "Pphtan ryax/zikang sa kkita’ squw kinblayan biru’ na zayzyuwaw.",
"nolinkstoimage": "Ungat ana qutux wal ’mubuy sa biru’ na ana nanu’ zyuwaw qaniy.",
"sharedupload-desc-here": "Tang’an qaniy hya’ ga kahul squw$1 ruw hazi’ ana wal sptzyuwaw na cwan’an bbzinah. \nTay kyahu’ cyux spkita’ sa Tang’an qaniy hya’ ga cyux squw [$2 Tang’an pinqzyu’ zngayan ] na qsahuy pinqzyuwan.",
"upload-disallowed-here": "Iyat su’ bauqn ’mumuk quw biru’ na zayzyuwaw qaniy.",
+ "filedelete-submit": "’muyut",
"randompage": "Random page",
"statistics": "Sinqunan plpuw",
"brokenredirects-edit": "Smr’zyut miru’",
+ "brokenredirects-delete": "’muyut",
"nbytes": "$1 {{PLURAL:$1|qutux llpgan na bzyaqan kkayal}}",
"nmembers": "$1 {{PLURAL:$1|pinglgan}}",
+ "protectedpages-unknown-timestamp": "Ini’ bqbaqiy ginlaylwan",
"usereditcount": "$1 {{PLURAL:$1|smr’zyut miru’}}",
"newpages": "Giqas na zzngzyan",
"newpages-username": "Lalu’ na pptzyuwaw:",
"booksources-search-legend": "Hkangi’ tkhulan pila’ na brbiru’",
"booksources-search": "Hkangi’",
"log": "Bniru",
+ "checkbox-all": "Kwara’",
+ "allpages": "Kwara’ biru’ na zngyan",
"allarticles": "Kwara’ biru’ na zngyan",
"allpagessubmit": "mtzyuwaw",
"categories": "Pintbcyan",
- "linksearch-ok": "hhkangi’",
+ "linksearch-ok": "Hhkangi’",
"emailusername": "Lalu’ na pptzyuwaw:",
"watchlist": "Cyes’ cingtan",
"mywatchlist": "Kta quw binkgan biru’",
"wlshowhideanons": "inqing lalu’ nqu squliq cyux mbing",
"enotif_impersonal_salutation": "{{SITENAME}} kwara’ ka cyux mbing ka qutux qutux ngasal",
"enotif_anon_editor": "inqing lalu’ nqu squliq cyux mbing $1",
+ "delete-confirm": "’muyut \"$1\"",
"dellogpage": "Wayal pzyutan ka bniru’ qasa",
"rollbacklink": "psbnahun",
"rollbacklinkcount": "psbzinah squw {{PLURAL:sinr’zyut miru’ sa|$1}}",
"pagesize": "(bzyaqan kkayal na llpgan)",
"restriction-edit": "Smr’zyut miru’",
"restriction-move": "smhzi’",
- "undelete-search-submit": "hhkangi’",
+ "undelete-search-submit": "Hhkangi’",
+ "undelete-show-file-submit": "Aw’",
"namespace": "Kung cyen na sslalu’:",
"invert": "Mssyuk mwazyaw",
"tooltip-invert": "Prawngan mwazyaw squw “bbzyagan” qaniy ga lqingun niya’ quw sinbahan zngazyan na wnwazyaw sa “kungcyen na sslalu’ ” (maha iy prawngan su’ mwazyaw quw gluw na “kungcyen na sslalu’ ” lga, mutuw niya’ siy ptnaqiy lmqing uziy kwara’ quw gluw na “kungcyen na sslalu’.”)",
"year": "Pcingan na sniyan naha’ ryax na kawas",
"sp-contributions-logs": "bniru",
"sp-contributions-talk": "mpkal",
- "sp-contributions-submit": "hhkangi’",
+ "sp-contributions-submit": "Hhkangi’",
"whatlinkshere": "Aniy p’ubuy tay lpgan sqaniy",
"whatlinkshere-title": "Aniy ’mubuy sa zngayan tay \"$1\"",
"whatlinkshere-page": "Zngayan",
"linkshere": "Zngayan tay suruw qaniy ga aniy p’ubuy sa <strong>[[:$1]]</strong>:",
"isredirect": "t’ringun pawsa’ sa zngayan",
- "istemplate": " ’nagal sa",
+ "istemplate": "’nagal sa",
"isimage": "’ubuy sa biru’ na ana nanu’ zayzyuwaw",
"whatlinkshere-prev": "{{PLURAL:$1|glaing tay|glaing tay $1 }}",
"whatlinkshere-next": "{{PLURAL:$1|tay suruw|’mubuy sa $1 }}",
"whatlinkshere-hidetrans": "’ nagal sa $1",
"whatlinkshere-hidelinks": "$1 p’ubuy",
"whatlinkshere-filters": "Hmkangi’",
- "autoblocklist-submit": "hhkangi’",
- "ipblocklist-submit": "hhkangi’",
+ "autoblocklist-submit": "Hhkangi’",
+ "ipblocklist-submit": "Hhkangi’",
"blocklink": "qmhut",
"contribslink": "wal miq sa pincyuwagan",
"movelogpage": "Sinhzyan sa bniru’",
"export": "Pawsa’ sa bzinah quwzngayan",
+ "allmessages-filter-legend": "Hhkangi’",
+ "allmessages-filter-all": "Kwara’ biru’ na zngyan",
+ "allmessages-language": "Kay’:",
+ "allmessages-filter-translate": "Gmbang miru’",
"thumbnail-more": "Pkrahu’",
"import-upload-filename": "Lalu’ na tang’an:",
+ "import-comment": "Kmayal:",
"tooltip-pt-userpage": "{{GENDER:|Lalu’ su’ sa pptzyuwaw}}sinr’zyut miru’",
"tooltip-pt-mytalk": "{{GENDER:|Rwa su’}} zngayan sa spkayal",
"tooltip-pt-preferences": "{{GENDER:|Rwa su’}}sni’ maku’ ktan krayryax",
"tooltip-rollback": "ssbu’ sa ’ubuy squ “Psbznahan” lga musa’ baq mbzinah squw sinr’ztan binrwan na misan mniru’ sa wayal qasa",
"tooltip-undo": "\"Psbzinah\"hya’ ga mutuw niya’ baqun psbzinah quw sinr’zyut miru’, ruw kahul sa yuran mosu’ gmyah sa pcyuawag na smr’zyut miru’, ana su’ twangan miru’ sa nanu’ quw stwang squw sslalu’ na kkayal qaniy.",
"tooltip-summary": "Brwaniy quw lalu’ na spzyang bbiru’ su’",
+ "others": "bzinah",
"simpleantispam-label": "Kmyagal sa kana ptayqihiy na niwan saysyup na kay’ na nnanu.\n<strong>Laxiy</strong> brwaniy sa bbrwan qaniy!",
"pageinfo-watchers": "Number of page watchers",
"pageinfo-toolboxlink": "Zzngayan na ggalan qqbaqan",
"pageinfo-contentpage-yes": "Aw’",
+ "pageinfo-protect-cascading-yes": "Aw’",
"nextdiff": "Giqas hazi’ sinr’zyut→",
"file-info-size": "$1 × $2 qqblayqan zzyangay, zayzyuwaw biru’ na sspngan kinkrahu’: $3, gluw na mmntnaq MIME: $4",
"file-nohires": "Ungat qbaqan miq qutux sa musa’ tthuzyay iyal pkaykita’ sa kinslwan iyal na qayqaya’.",
"show-big-image-preview": "Squw tay $1 tay glaing",
"show-big-image-other": "Kinbaqun iyal mita’ na kwara’ tay bbzinah na {{PLURAL:$2||}}:$1",
"show-big-image-size": "$1 × $2 qqblayqan zzyangay",
- "ilsubmit": "hhkangi’",
+ "newimages-legend": "Hhkangi’",
+ "ilsubmit": "Hhkangi’",
"metadata": "Cyuens’cryaw",
"metadata-help": "Taki’ sa biru’ na kwara’ zayzyuwaw qaniy ga kwara’ kin na zayzyuwaw bbzinah, kwara’ quw zyuwaw sqaniy ga hazi’ na kahul sa pins’rux na Suwe syangciy ini’ ga tmrang squw cyux ps’rux squw Sken ini’ ga cyux tmrang smr’zyut sa Suwe . \nMaha iy wal sbahun squw puqing balay na biru’ cyux syan squw ana nanu’ zyuwaw lga, iyat hazi’ baqun minblaq ppwah kruma’ quw wal minblayqun miru’ na wayal sbahun na zyuwaw hya’ la.",
"metadata-fields": "maki’ squw bnaykgan na pintkaykay’ ka qsahuy na Cyens’cryaw EXIF ga, syun niya’ sa zzngazyan kwara’ kin na Syasing, nanu’ iy mhiriq quw binrwan niya’ Cyens’cryaw lga nanak yaquw nyux sbiru’ hugal ka pintkaykay’ qaniy msthay.\ncyuens’ cryaw bzinah hya’ lga skun niya’ sa llqingun qasa hya’. \n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+ "exif-imagewidth": "Kinglabang",
"exif-orientation": "Ppiray sa iyat ptkkiy ktan quw syasing",
"exif-xresolution": "Sweping Cyesitu’",
"exif-yresolution": "Cwec’ Cyesitu’",
"exif-colorspace": "Hhalan mwazyaw sa qqlah sa ini’ ptnaq kktan na bbiru’",
"exif-datetimeoriginal": "Ryax na sni’ sa Craw squw zikang na sni’ sa Craw",
"exif-datetimedigitized": "Ryax na minsuwexwa’ squw zikang na minsuwexwa’",
+ "exif-headline": "Lalu’",
+ "exif-languagecode": "Kay’:",
"exif-orientation-1": "Mutuw galan sa puqing pspngan kwara’ na squliq",
+ "exif-meteringmode-0": "Ini’ bqbaqiy ginlaylwan",
+ "exif-meteringmode-255": "Bzinah",
+ "exif-lightsource-0": "Ini’ bqbaqiy ginlaylwan",
+ "exif-scenecapturetype-0": "Galan pspngan",
+ "exif-contrast-0": "Galan pspngan",
+ "exif-saturation-0": "Galan pspngan",
+ "exif-sharpness-0": "Galan pspngan",
+ "exif-subjectdistancerange-0": "Ini’ bqbaqiy ginlaylwan",
+ "exif-gpsdestdistance-k": "Kirometa’",
+ "exif-iimcategory-hth": "Blaq hi’",
+ "exif-urgency-normal": "Galan pspngan ($1)",
"namespacesall": "kwara’",
"monthsall": "kwara’",
"signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|mpkal]])",
+ "version-other": "Bzinah",
+ "version-skin-colheader-name": "Ktan na rawziq",
+ "version-poweredby-others": "bzinah",
"redirect-submit": "Ptzyuwaw",
+ "redirect-lookup": "Hmkangi’:",
"redirect-file": "Lalu’ na tang’an",
"fileduplicatesearch-filename": "Lalu’ na tang’an:",
- "fileduplicatesearch-submit": "hhkangi’",
+ "fileduplicatesearch-submit": "Hhkangi’",
"specialpages": "Mnanak na zzngayan",
"tag-filter": "[[Special:Tags|qinlah lalu’]]hhkangi’:",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|qinlah lalu’}}]]: $2)",
"tags-active-yes": "Aw’",
"tags-active-no": "Iyat",
"tags-edit": "Smr’zyut miru’",
+ "tags-delete": "’muyut",
+ "diff-form": "Kin’ini’ ptnaq",
"permanentlink": "Mrayrhuw na pin’ubuy",
+ "htmlform-selectorother-other": "Bzinah",
+ "htmlform-no": "iyat",
+ "htmlform-yes": "Aw’",
"logentry-delete-delete": "$1 {{GENDER:$2|wal laxan}}zngayan $3",
"logentry-move-move": "$1 {{GENDER:$2|wal shzyun}}zngyan $3 squw $4",
"logentry-newusers-create": "Wayal tmasuq {{GENDER:$2|ps’rux sq }} quw cin canghaw $1",
"logentry-upload-upload": "$1 {{GENDER:$2|wal pawsun }} $3",
+ "feedback-back": "’bzinah",
"searchsuggest-search": "Hhkangi’ {{SITENAME}}",
"limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|bzyaqan kkayal na llpgan}}",
"limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|bzyaqan kkayal na llpgan}}",
+ "pagelang-language": "Kay’:",
"mediastatistics-nbytes": "{{PLURAL:$1|$1 bzyaqan kkayal na llpgan}} ($2; $3%)",
+ "mediastatistics-header-unknown": "Ini’ bqbaqiy ginlaylwan",
+ "log-action-filter-all": "Kwara’ biru’ na zngyan",
"authmanager-email-label": "e-meyo’"
}
"pageinfo-authors": "จำนวนผู้เขียนทั้งหมด",
"pageinfo-recent-edits": "การแก้ไขล่าสุด (ในช่วง $1ที่ผ่านมา)",
"pageinfo-recent-authors": "จำนวนผู้เขียนล่าสุด",
+ "pageinfo-magic-words": "{{PLURAL:$1|คำสั่งพิเศษ}} ($1)",
"pageinfo-hidden-categories": "หมวดหมู่ที่ซ่อนอยู่ ($1)",
"pageinfo-templates": "แม่แบบที่ใช้ ($1)",
"pageinfo-toolboxlink": "สารสนเทศหน้า",
"rcfilters-filterlist-noresults": "找不到过滤器",
"rcfilters-noresults-conflict": "找不到结果,因为搜索条件不一致",
"rcfilters-state-message-subset": "该过滤器没有影响,因为其结果已包含在以下影响更广的{{PLURAL:$2|过滤器}}中(尝试高亮来区别它):$1",
- "rcfilters-state-message-fullcoverage": "组中选择的所有过滤器与选定过滤器相同,因此该过滤器没有影响。组包含:$1",
+ "rcfilters-state-message-fullcoverage": "此组中选择的所有过滤器与选定过滤器相同,因此该过滤器没有影响。组包含:$1",
"rcfilters-filtergroup-authorship": "贡献的作者",
"rcfilters-filter-editsbyself-label": "您的更改",
"rcfilters-filter-editsbyself-description": "您自己的贡献。",
* If not set, wfGetDB() will be used.
* This function has the same parameters as wfGetDB()
*
- * @param integer $db DB index (DB_REPLICA/DB_MASTER)
+ * @param int $db DB index (DB_REPLICA/DB_MASTER)
* @param array $groups; default: empty array
* @param string|bool $wiki; default: current wiki
* @return IMaintainableDatabase
/**
* Get the preferred destination title for a given target page.
- * @param integer $ns The destination namespace ID
+ * @param int $ns The destination namespace ID
* @param string $name The conflicting prefix
- * @param integer $sourceNs The source namespace
- * @param integer $sourceDbk The source DB key (i.e. page_title)
+ * @param int $sourceNs The source namespace
+ * @param int $sourceDbk The source DB key (i.e. page_title)
* @param array $options Associative array of validated command-line options
* @return Title|false
*/
* @ingroup Maintenance
*/
class RebuildRecentchanges extends Maintenance {
- /** @var integer UNIX timestamp */
+ /** @var int UNIX timestamp */
private $cutoffFrom;
- /** @var integer UNIX timestamp */
+ /** @var int UNIX timestamp */
private $cutoffTo;
public function __construct() {
<exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
<exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfter" />
<exclude name="MediaWiki.Commenting.FunctionComment.ParamNameNoMatch" />
- <exclude name="MediaWiki.Commenting.FunctionComment.NotShortBoolReturn" />
- <exclude name="MediaWiki.Commenting.FunctionComment.NotShortIntReturn" />
- <exclude name="MediaWiki.Commenting.FunctionComment.NotShortBoolParam" />
- <exclude name="MediaWiki.Commenting.FunctionComment.NotShortIntParam" />
<exclude name="MediaWiki.Commenting.FunctionComment.ExtraParamComment" />
<exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
<exclude name="MediaWiki.Commenting.IllegalSingleLineComment.IllegalSingleLineCommentStart" />
'rcfilters-hours-title',
'rcfilters-days-show-days',
'rcfilters-days-show-hours',
+ 'rcfilters-highlighted-filters-list',
'rcfilters-quickfilters',
'rcfilters-quickfilters-placeholder-title',
'rcfilters-quickfilters-placeholder-description',
/*!
- * jQuery Migrate - v3.0.0 - 2016-06-09
+ * jQuery Migrate - v3.0.1-pre - 2017-08-17
* Copyright jQuery Foundation and other contributors
+ *
+ * Patched for MediaWiki:
+ * - Preserve handler of uncaught exceptions in promise chains
+ * https://gerrit.wikimedia.org/r/#/c/360999/
+ * https://github.com/jquery/jquery-migrate/pull/262
*/
-(function( jQuery, window ) {
+;( function( factory ) {
+ if ( typeof define === "function" && define.amd ) {
+
+ // AMD. Register as an anonymous module.
+ define( [ "jquery" ], window, factory );
+ } else if ( typeof module === "object" && module.exports ) {
+
+ // Node/CommonJS
+ // eslint-disable-next-line no-undef
+ module.exports = factory( require( "jquery" ), window );
+ } else {
+
+ // Browser globals
+ factory( jQuery, window );
+ }
+} )( function( jQuery, window ) {
"use strict";
-jQuery.migrateVersion = "3.0.0";
+jQuery.migrateVersion = "3.0.1-pre";
+/* exported migrateWarn, migrateWarnFunc, migrateWarnProp */
( function() {
// IE9 only creates console object when dev tools are first opened
// Also, avoid Function#bind here to simplify PhantomJS usage
var log = window.console && window.console.log &&
- function() { window.console.log.apply( window.console, arguments ); },
+ function() {
+ window.console.log.apply( window.console, arguments );
+ },
rbadVersions = /^[12]\./;
if ( !log ) {
get: function() {
migrateWarn( msg );
return value;
+ },
+ set: function( newValue ) {
+ migrateWarn( msg );
+ value = newValue;
}
} );
}
-if ( document.compatMode === "BackCompat" ) {
+function migrateWarnFunc( obj, prop, newFunc, msg ) {
+ obj[ prop ] = function() {
+ migrateWarn( msg );
+ return newFunc.apply( this, arguments );
+ };
+}
+
+if ( window.document.compatMode === "BackCompat" ) {
// JQuery has never supported or tested Quirks Mode
migrateWarn( "jQuery is not compatible with Quirks Mode" );
// The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0
// First see if qS thinks it's a valid selector, if so avoid a false positive
try {
- document.querySelector( selector );
+ window.document.querySelector( selector );
} catch ( err1 ) {
// Didn't *look* valid to qSA, warn and try quoting what we think is the value
// If the regexp *may* have created an invalid selector, don't update it
// Note that there may be false alarms if selector uses jQuery extensions
try {
- document.querySelector( selector );
+ window.document.querySelector( selector );
migrateWarn( "Attribute selector with '#' must be quoted: " + args[ 0 ] );
args[ 0 ] = selector;
} catch ( err2 ) {
// The number of elements contained in the matched element set
jQuery.fn.size = function() {
- migrateWarn( "jQuery.fn.size() is deprecated; use the .length property" );
+ migrateWarn( "jQuery.fn.size() is deprecated and removed; use the .length property" );
return this.length;
};
return oldValue;
};
-migrateWarnProp( jQuery, "unique", jQuery.uniqueSort,
- "jQuery.unique is deprecated, use jQuery.uniqueSort" );
+migrateWarnFunc( jQuery, "unique", jQuery.uniqueSort,
+ "jQuery.unique is deprecated; use jQuery.uniqueSort" );
// Now jQuery.expr.pseudos is the standard incantation
migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos,
- "jQuery.expr.filters is now jQuery.expr.pseudos" );
+ "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos" );
migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos,
- "jQuery.expr[\":\"] is now jQuery.expr.pseudos" );
+ "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos" );
var oldAjax = jQuery.ajax;
// Be sure we got a jQXHR (e.g., not sync)
if ( jQXHR.promise ) {
- migrateWarnProp( jQXHR, "success", jQXHR.done,
+ migrateWarnFunc( jQXHR, "success", jQXHR.done,
"jQXHR.success is deprecated and removed" );
- migrateWarnProp( jQXHR, "error", jQXHR.fail,
+ migrateWarnFunc( jQXHR, "error", jQXHR.fail,
"jQXHR.error is deprecated and removed" );
- migrateWarnProp( jQXHR, "complete", jQXHR.always,
+ migrateWarnFunc( jQXHR, "complete", jQXHR.always,
"jQXHR.complete is deprecated and removed" );
}
jQuery.data = function( elem, name, value ) {
var curData;
+ // Name can be an object, and each entry in the object is meant to be set as data
+ if ( name && typeof name === "object" && arguments.length === 2 ) {
+ curData = jQuery.hasData( elem ) && oldData.call( this, elem );
+ var sameKeys = {};
+ for ( var key in name ) {
+ if ( key !== jQuery.camelCase( key ) ) {
+ migrateWarn( "jQuery.data() always sets/gets camelCased names: " + key );
+ curData[ key ] = name[ key ];
+ } else {
+ sameKeys[ key ] = name[ key ];
+ }
+ }
+
+ oldData.call( this, elem, sameKeys );
+
+ return name;
+ }
+
// If the name is transformed, look for the un-transformed name in the data object
- if ( name && name !== jQuery.camelCase( name ) ) {
+ if ( name && typeof name === "string" && name !== jQuery.camelCase( name ) ) {
curData = jQuery.hasData( elem ) && oldData.call( this, elem );
if ( curData && name in curData ) {
migrateWarn( "jQuery.data() always sets/gets camelCased names: " + name );
var oldTweenRun = jQuery.Tween.prototype.run;
-jQuery.Tween.prototype.run = function( percent ) {
+jQuery.Tween.prototype.run = function( ) {
if ( jQuery.easing[ this.easing ].length > 1 ) {
migrateWarn(
"easing function " +
"\" should use only first argument"
);
- jQuery.easing[ this.easing ] = jQuery.easing[ this.easing ].bind(
- jQuery.easing,
- percent, this.options.duration * percent, 0, 1, this.options.duration
- );
+ var oldEasing = jQuery.easing[ this.easing ];
+ jQuery.easing[ this.easing ] = function( percent ) {
+ return oldEasing.call( jQuery.easing, percent, percent, 0, 1, 1 );
+ }.bind( this );
}
oldTweenRun.apply( this, arguments );
};
+jQuery.fx.interval = jQuery.fx.interval || 13;
+
+// Support: IE9, Android <=4.4
+// Avoid false positives on browsers that lack rAF
+if ( window.requestAnimationFrame ) {
+ migrateWarnProp( jQuery.fx, "interval", jQuery.fx.interval,
+ "jQuery.fx.interval is deprecated" );
+}
+
var oldLoad = jQuery.fn.load,
+ oldEventAdd = jQuery.event.add,
originalFix = jQuery.event.fix;
jQuery.event.props = [];
jQuery.event.fixHooks = {};
+migrateWarnProp( jQuery.event.props, "concat", jQuery.event.props.concat,
+ "jQuery.event.props.concat() is deprecated and removed" );
+
jQuery.event.fix = function( originalEvent ) {
var event,
type = originalEvent.type,
migrateWarn( "jQuery.event.fixHooks are deprecated and removed: " + type );
if ( ( props = fixHook.props ) && props.length ) {
while ( props.length ) {
- jQuery.event.addProp( props.pop() );
+ jQuery.event.addProp( props.pop() );
}
}
}
return fixHook && fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
};
+jQuery.event.add = function( elem, types ) {
+
+ // This misses the multiple-types case but that seems awfully rare
+ if ( elem === window && types === "load" && window.document.readyState === "complete" ) {
+ migrateWarn( "jQuery(window).on('load'...) called after load event occurred" );
+ }
+ return oldEventAdd.apply( this, arguments );
+};
+
jQuery.each( [ "load", "unload", "error" ], function( _, name ) {
jQuery.fn[ name ] = function() {
// Trigger "ready" event only once, on document ready
jQuery( function() {
- jQuery( document ).triggerHandler( "ready" );
+ jQuery( window.document ).triggerHandler( "ready" );
} );
jQuery.event.special.ready = {
setup: function() {
- if ( this === document ) {
+ if ( this === window.document ) {
migrateWarn( "'ready' event is deprecated" );
}
}
return origin;
}
- docElem = ( elem.ownerDocument || document ).documentElement;
+ docElem = ( elem.ownerDocument || window.document ).documentElement;
if ( !jQuery.contains( docElem, elem ) ) {
migrateWarn( "jQuery.fn.offset() requires an element connected to a document" );
return origin;
var oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
jQuery.fn.andSelf = function() {
- migrateWarn( "jQuery.fn.andSelf() replaced by jQuery.fn.addBack()" );
+ migrateWarn( "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()" );
return oldSelf.apply( this, arguments );
};
// Preserve handler of uncaught exceptions in promise chains
jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook;
-
-})( jQuery, window );
+return jQuery;
+} );
&-buttonSelect {
&-color {
+ // Override OOUI definition from padded popup; the definition
+ // forces the first-child to be margin-top:0; which overrides
+ // our definitions below where margin is 0.5em.
+ // We set up the margin-top as 0.5em for all circles so we get
+ // a consistent result
+ &.oo-ui-widget-enabled.oo-ui-optionWidget.oo-ui-buttonElement.oo-ui-buttonElement-frameless.oo-ui-buttonOptionWidget {
+ margin-top: 0.5em;
+ }
+
// Make the rule much more specific to override OOUI
.oo-ui-iconElement-icon.oo-ui-icon-check {
// Override OOUI icon dimensions
}
this.filtersViewModel.getHighlightedItems().forEach( function ( filterItem ) {
+ var $elements = this.$element.find( '.' + filterItem.getCssClass() );
+
// Add highlight class to all highlighted list items
- this.$element.find( '.' + filterItem.getCssClass() )
+ $elements
.addClass( 'mw-rcfilters-highlight-color-' + filterItem.getHighlightColor() );
+
+ $elements.each( function () {
+ var filterString = $( this ).attr( 'data-highlightedFilters' ) || '',
+ filters = filterString ? filterString.split( '|' ) : [];
+
+ if ( filters.indexOf( filterItem.getLabel() ) === -1 ) {
+ filters.push( filterItem.getLabel() );
+ }
+
+ $( this )
+ .attr( 'data-highlightedFilters', filters.join( '|' ) );
+ } );
}.bind( this ) );
+ // Apply a title for relevant filters
+ this.$element.find( '[data-highlightedFilters]' ).each( function () {
+ var filterString = $( this ).attr( 'data-highlightedFilters' ) || '',
+ filters = filterString ? filterString.split( '|' ) : [];
+
+ if ( filterString ) {
+ $( this ).attr( 'title', mw.msg( 'rcfilters-highlighted-filters-list', filters.join( ', ' ) ) );
+ }
+ } );
// Turn on highlights
this.$element.addClass( 'mw-rcfilters-ui-changesListWrapperWidget-highlighted' );
this.$element.find( '.mw-rcfilters-highlight-color-' + color ).removeClass( 'mw-rcfilters-highlight-color-' + color );
}.bind( this ) );
+ this.$element.find( '[data-highlightedFilters]' )
+ .removeAttr( 'title' )
+ .removeAttr( 'data-highlightedFilters' );
// Turn off highlights
this.$element.removeClass( 'mw-rcfilters-ui-changesListWrapperWidget-highlighted' );
};
* Determine whether a particular setup function has been run
*
* @param string $funcName
- * @return boolean
+ * @return bool
*/
public function isSetupDone( $funcName ) {
return isset( $this->setupDone[$funcName] ) ? $this->setupDone[$funcName] : false;
* @covers WANObjectCache::get()
* @covers WANObjectCache::makeKey()
* @param mixed $value
- * @param integer $ttl
+ * @param int $ttl
*/
public function testSetAndGet( $value, $ttl ) {
$curTTL = null;