summaryrefslogtreecommitdiff
path: root/includes/api
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-17 09:15:42 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-17 09:44:51 +0100
commita1789ddde42033f1b05cc4929491214ee6e79383 (patch)
tree63615735c4ddffaaabf2428946bb26f90899f7bf /includes/api
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff)
Update to MediaWiki 1.26.0
Diffstat (limited to 'includes/api')
-rw-r--r--includes/api/ApiBase.php169
-rw-r--r--includes/api/ApiBlock.php16
-rw-r--r--includes/api/ApiCreateAccount.php16
-rw-r--r--includes/api/ApiDelete.php4
-rw-r--r--includes/api/ApiEditPage.php86
-rw-r--r--includes/api/ApiEmailUser.php2
-rw-r--r--includes/api/ApiExpandTemplates.php32
-rw-r--r--includes/api/ApiFeedRecentChanges.php12
-rw-r--r--includes/api/ApiFeedWatchlist.php17
-rw-r--r--includes/api/ApiFileRevert.php2
-rw-r--r--includes/api/ApiFormatBase.php23
-rw-r--r--includes/api/ApiFormatDump.php58
-rw-r--r--includes/api/ApiFormatFeedWrapper.php9
-rw-r--r--includes/api/ApiFormatJson.php16
-rw-r--r--includes/api/ApiFormatPhp.php3
-rw-r--r--includes/api/ApiFormatRaw.php28
-rw-r--r--includes/api/ApiFormatWddx.php162
-rw-r--r--includes/api/ApiFormatXml.php11
-rw-r--r--includes/api/ApiHelp.php188
-rw-r--r--includes/api/ApiImageRotate.php4
-rw-r--r--includes/api/ApiImport.php7
-rw-r--r--includes/api/ApiLogin.php19
-rw-r--r--includes/api/ApiMain.php209
-rw-r--r--includes/api/ApiMessage.php30
-rw-r--r--includes/api/ApiMove.php2
-rw-r--r--includes/api/ApiOptions.php14
-rw-r--r--includes/api/ApiPageSet.php69
-rw-r--r--includes/api/ApiParamInfo.php49
-rw-r--r--includes/api/ApiParse.php126
-rw-r--r--includes/api/ApiProtect.php9
-rw-r--r--includes/api/ApiQuery.php23
-rw-r--r--includes/api/ApiQueryAllCategories.php3
-rw-r--r--includes/api/ApiQueryAllDeletedRevisions.php45
-rw-r--r--includes/api/ApiQueryAllLinks.php1
-rw-r--r--includes/api/ApiQueryAllMessages.php8
-rw-r--r--includes/api/ApiQueryAllPages.php12
-rw-r--r--includes/api/ApiQueryAllUsers.php11
-rw-r--r--includes/api/ApiQueryBacklinksprop.php8
-rw-r--r--includes/api/ApiQueryBase.php21
-rw-r--r--includes/api/ApiQueryBlocks.php9
-rw-r--r--includes/api/ApiQueryCategories.php5
-rw-r--r--includes/api/ApiQueryCategoryInfo.php2
-rw-r--r--includes/api/ApiQueryCategoryMembers.php11
-rw-r--r--includes/api/ApiQueryContributors.php6
-rw-r--r--includes/api/ApiQueryDeletedRevisions.php8
-rw-r--r--includes/api/ApiQueryDeletedrevs.php2
-rw-r--r--includes/api/ApiQueryDuplicateFiles.php2
-rw-r--r--includes/api/ApiQueryExtLinksUsage.php3
-rw-r--r--includes/api/ApiQueryExternalLinks.php2
-rw-r--r--includes/api/ApiQueryFileRepoInfo.php24
-rw-r--r--includes/api/ApiQueryFilearchive.php5
-rw-r--r--includes/api/ApiQueryIWBacklinks.php1
-rw-r--r--includes/api/ApiQueryIWLinks.php3
-rw-r--r--includes/api/ApiQueryImageInfo.php6
-rw-r--r--includes/api/ApiQueryImages.php2
-rw-r--r--includes/api/ApiQueryInfo.php19
-rw-r--r--includes/api/ApiQueryLangBacklinks.php1
-rw-r--r--includes/api/ApiQueryLangLinks.php5
-rw-r--r--includes/api/ApiQueryLinks.php4
-rw-r--r--includes/api/ApiQueryLogEvents.php3
-rw-r--r--includes/api/ApiQueryPageProps.php4
-rw-r--r--includes/api/ApiQueryPagesWithProp.php3
-rw-r--r--includes/api/ApiQueryProtectedTitles.php5
-rw-r--r--includes/api/ApiQueryRandom.php181
-rw-r--r--includes/api/ApiQueryRecentChanges.php5
-rw-r--r--includes/api/ApiQueryRevisions.php101
-rw-r--r--includes/api/ApiQueryRevisionsBase.php38
-rw-r--r--includes/api/ApiQuerySearch.php32
-rw-r--r--includes/api/ApiQuerySiteinfo.php18
-rw-r--r--includes/api/ApiQueryStashImageInfo.php4
-rw-r--r--includes/api/ApiQueryTags.php3
-rw-r--r--includes/api/ApiQueryTokens.php4
-rw-r--r--includes/api/ApiQueryUserContributions.php5
-rw-r--r--includes/api/ApiQueryUserInfo.php52
-rw-r--r--includes/api/ApiQueryUsers.php7
-rw-r--r--includes/api/ApiQueryWatchlist.php5
-rw-r--r--includes/api/ApiQueryWatchlistRaw.php31
-rw-r--r--includes/api/ApiResult.php164
-rw-r--r--includes/api/ApiRevisionDelete.php4
-rw-r--r--includes/api/ApiRollback.php2
-rw-r--r--includes/api/ApiSetNotificationTimestamp.php4
-rw-r--r--includes/api/ApiStashEdit.php7
-rw-r--r--includes/api/ApiUnblock.php8
-rw-r--r--includes/api/ApiUndelete.php9
-rw-r--r--includes/api/ApiUpload.php24
-rw-r--r--includes/api/i18n/ar.json4
-rw-r--r--includes/api/i18n/ast.json10
-rw-r--r--includes/api/i18n/ba.json13
-rw-r--r--includes/api/i18n/bcl.json10
-rw-r--r--includes/api/i18n/be-tarask.json4
-rw-r--r--includes/api/i18n/br.json13
-rw-r--r--includes/api/i18n/bs.json5
-rw-r--r--includes/api/i18n/ca.json17
-rw-r--r--includes/api/i18n/ce.json3
-rw-r--r--includes/api/i18n/ckb.json8
-rw-r--r--includes/api/i18n/cs.json105
-rw-r--r--includes/api/i18n/de.json107
-rw-r--r--includes/api/i18n/el.json89
-rw-r--r--includes/api/i18n/en-gb.json2
-rw-r--r--includes/api/i18n/en.json457
-rw-r--r--includes/api/i18n/es.json564
-rw-r--r--includes/api/i18n/et.json42
-rw-r--r--includes/api/i18n/eu.json11
-rw-r--r--includes/api/i18n/fa.json7
-rw-r--r--includes/api/i18n/fi.json8
-rw-r--r--includes/api/i18n/fo.json39
-rw-r--r--includes/api/i18n/fr.json421
-rw-r--r--includes/api/i18n/gl.json414
-rw-r--r--includes/api/i18n/he.json1185
-rw-r--r--includes/api/i18n/ht.json8
-rw-r--r--includes/api/i18n/hu.json13
-rw-r--r--includes/api/i18n/ia.json3
-rw-r--r--includes/api/i18n/is.json10
-rw-r--r--includes/api/i18n/it.json90
-rw-r--r--includes/api/i18n/ja.json374
-rw-r--r--includes/api/i18n/ko.json78
-rw-r--r--includes/api/i18n/ksh.json669
-rw-r--r--includes/api/i18n/ku-latn.json23
-rw-r--r--includes/api/i18n/ky.json19
-rw-r--r--includes/api/i18n/lb.json65
-rw-r--r--includes/api/i18n/lv.json7
-rw-r--r--includes/api/i18n/mk.json241
-rw-r--r--includes/api/i18n/mr.json12
-rw-r--r--includes/api/i18n/nap.json12
-rw-r--r--includes/api/i18n/nb.json91
-rw-r--r--includes/api/i18n/ne.json13
-rw-r--r--includes/api/i18n/nl.json42
-rw-r--r--includes/api/i18n/oc.json73
-rw-r--r--includes/api/i18n/olo.json12
-rw-r--r--includes/api/i18n/or.json14
-rw-r--r--includes/api/i18n/pl.json256
-rw-r--r--includes/api/i18n/ps.json21
-rw-r--r--includes/api/i18n/pt-br.json276
-rw-r--r--includes/api/i18n/pt.json15
-rw-r--r--includes/api/i18n/qqq.json366
-rw-r--r--includes/api/i18n/ru.json197
-rw-r--r--includes/api/i18n/shn.json8
-rw-r--r--includes/api/i18n/si.json1
-rw-r--r--includes/api/i18n/sq.json12
-rw-r--r--includes/api/i18n/sv.json75
-rw-r--r--includes/api/i18n/ta.json13
-rw-r--r--includes/api/i18n/tr.json12
-rw-r--r--includes/api/i18n/uk.json1286
-rw-r--r--includes/api/i18n/vi.json75
-rw-r--r--includes/api/i18n/wuu.json8
-rw-r--r--includes/api/i18n/yi.json10
-rw-r--r--includes/api/i18n/zh-hans.json743
-rw-r--r--includes/api/i18n/zh-hant.json42
148 files changed, 9724 insertions, 1466 deletions
diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php
index 6c33da57..d53797bc 100644
--- a/includes/api/ApiBase.php
+++ b/includes/api/ApiBase.php
@@ -85,6 +85,15 @@ abstract class ApiBase extends ContextSource {
// $msg for ApiBase::makeMessage(). Any value not having a mapping will use
// apihelp-{$path}-paramvalue-{$param}-{$value} is used.
const PARAM_HELP_MSG_PER_VALUE = 14;
+ /// @since 1.26
+ // When PARAM_TYPE is 'submodule', map parameter values to submodule paths.
+ // Default is to use all modules in $this->getModuleManager() in the group
+ // matching the parameter name.
+ const PARAM_SUBMODULE_MAP = 15;
+ /// @since 1.26
+ // When PARAM_TYPE is 'submodule', used to indicate the 'g' prefix added by
+ // ApiQueryGeneratorBase (and similar if anything else ever does that).
+ const PARAM_SUBMODULE_PARAM_PREFIX = 16;
const LIMIT_BIG1 = 500; // Fast query, std user limit
const LIMIT_BIG2 = 5000; // Fast query, bot/sysop limit
@@ -98,12 +107,17 @@ abstract class ApiBase extends ContextSource {
*/
const GET_VALUES_FOR_HELP = 1;
+ /** @var array Maps extension paths to info arrays */
+ private static $extensionInfo = null;
+
/** @var ApiMain */
private $mMainModule;
/** @var string */
private $mModuleName, $mModulePrefix;
private $mSlaveDB = null;
private $mParamCache = array();
+ /** @var array|null|bool */
+ private $mModuleSource = false;
/**
* @param ApiMain $mainModule
@@ -331,6 +345,22 @@ abstract class ApiBase extends ContextSource {
return null;
}
+ /**
+ * Returns data for HTTP conditional request mechanisms.
+ *
+ * @since 1.26
+ * @param string $condition Condition being queried:
+ * - last-modified: Return a timestamp representing the maximum of the
+ * last-modified dates for all resources involved in the request. See
+ * RFC 7232 § 2.2 for semantics.
+ * - etag: Return an entity-tag representing the state of all resources involved
+ * in the request. Quotes must be included. See RFC 7232 § 2.3 for semantics.
+ * @return string|boolean|null As described above, or null if no value is available.
+ */
+ public function getConditionalRequestData( $condition ) {
+ return null;
+ }
+
/**@}*/
/************************************************************************//**
@@ -833,7 +863,11 @@ abstract class ApiBase extends ContextSource {
$type = MWNamespace::getValidNamespaces();
}
if ( isset( $value ) && $type == 'submodule' ) {
- $type = $this->getModuleManager()->getNames( $paramName );
+ if ( isset( $paramSettings[self::PARAM_SUBMODULE_MAP] ) ) {
+ $type = array_keys( $paramSettings[self::PARAM_SUBMODULE_MAP] );
+ } else {
+ $type = $this->getModuleManager()->getNames( $paramName );
+ }
}
}
@@ -854,6 +888,8 @@ abstract class ApiBase extends ContextSource {
case 'NULL': // nothing to do
break;
case 'string':
+ case 'text':
+ case 'password':
if ( $required && $value === '' ) {
$this->dieUsageMsg( array( 'missingparam', $paramName ) );
}
@@ -1036,7 +1072,6 @@ abstract class ApiBase extends ContextSource {
*/
protected function validateLimit( $paramName, &$value, $min, $max, $botMax = null, $enforceLimits = false ) {
if ( !is_null( $min ) && $value < $min ) {
-
$msg = $this->encodeParamName( $paramName ) . " may not be less than $min (set to $value)";
$this->warnOrDie( $msg, $enforceLimits );
$value = $min;
@@ -1073,6 +1108,24 @@ abstract class ApiBase extends ContextSource {
* @return string Validated and normalized parameter
*/
protected function validateTimestamp( $value, $encParamName ) {
+ // Confusing synonyms for the current time accepted by wfTimestamp()
+ // (wfTimestamp() also accepts various non-strings and the string of 14
+ // ASCII NUL bytes, but those can't get here)
+ if ( !$value ) {
+ $this->logFeatureUsage( 'unclear-"now"-timestamp' );
+ $this->setWarning(
+ "Passing '$value' for timestamp parameter $encParamName has been deprecated." .
+ ' If for some reason you need to explicitly specify the current time without' .
+ ' calculating it client-side, use "now".'
+ );
+ return wfTimestamp( TS_MW );
+ }
+
+ // Explicit synonym for the current time
+ if ( $value === 'now' ) {
+ return wfTimestamp( TS_MW );
+ }
+
$unixTimestamp = wfTimestamp( TS_UNIX, $value );
if ( $unixTimestamp === false ) {
$this->dieUsage(
@@ -2203,6 +2256,93 @@ abstract class ApiBase extends ContextSource {
}
/**
+ * Returns information about the source of this module, if known
+ *
+ * Returned array is an array with the following keys:
+ * - path: Install path
+ * - name: Extension name, or "MediaWiki" for core
+ * - namemsg: (optional) i18n message key for a display name
+ * - license-name: (optional) Name of license
+ *
+ * @return array|null
+ */
+ protected function getModuleSourceInfo() {
+ global $IP;
+
+ if ( $this->mModuleSource !== false ) {
+ return $this->mModuleSource;
+ }
+
+ // First, try to find where the module comes from...
+ $rClass = new ReflectionClass( $this );
+ $path = $rClass->getFileName();
+ if ( !$path ) {
+ // No path known?
+ $this->mModuleSource = null;
+ return null;
+ }
+ $path = realpath( $path ) ?: $path;
+
+ // Build map of extension directories to extension info
+ if ( self::$extensionInfo === null ) {
+ self::$extensionInfo = array(
+ realpath( __DIR__ ) ?: __DIR__ => array(
+ 'path' => $IP,
+ 'name' => 'MediaWiki',
+ 'license-name' => 'GPL-2.0+',
+ ),
+ realpath( "$IP/extensions" ) ?: "$IP/extensions" => null,
+ );
+ $keep = array(
+ 'path' => null,
+ 'name' => null,
+ 'namemsg' => null,
+ 'license-name' => null,
+ );
+ foreach ( $this->getConfig()->get( 'ExtensionCredits' ) as $group ) {
+ foreach ( $group as $ext ) {
+ if ( !isset( $ext['path'] ) || !isset( $ext['name'] ) ) {
+ // This shouldn't happen, but does anyway.
+ continue;
+ }
+
+ $extpath = $ext['path'];
+ if ( !is_dir( $extpath ) ) {
+ $extpath = dirname( $extpath );
+ }
+ self::$extensionInfo[realpath( $extpath ) ?: $extpath] =
+ array_intersect_key( $ext, $keep );
+ }
+ }
+ foreach ( ExtensionRegistry::getInstance()->getAllThings() as $ext ) {
+ $extpath = $ext['path'];
+ if ( !is_dir( $extpath ) ) {
+ $extpath = dirname( $extpath );
+ }
+ self::$extensionInfo[realpath( $extpath ) ?: $extpath] =
+ array_intersect_key( $ext, $keep );
+ }
+ }
+
+ // Now traverse parent directories until we find a match or run out of
+ // parents.
+ do {
+ if ( array_key_exists( $path, self::$extensionInfo ) ) {
+ // Found it!
+ $this->mModuleSource = self::$extensionInfo[$path];
+ return $this->mModuleSource;
+ }
+
+ $oldpath = $path;
+ $path = dirname( $path );
+ } while ( $path !== $oldpath );
+
+ // No idea what extension this might be.
+ $this->mModuleSource = null;
+ return null;
+ }
+
+ /**
* Called from ApiHelp before the pieces are joined together and returned.
*
* This exists mainly for ApiMain to add the Permissions and Credits
@@ -2210,8 +2350,10 @@ abstract class ApiBase extends ContextSource {
*
* @param string[] &$help Array of help data
* @param array $options Options passed to ApiHelp::getHelp
+ * @param array &$tocData If a TOC is being generated, this array has keys
+ * as anchors in the page and values as for Linker::generateTOC().
*/
- public function modifyHelp( array &$help, array $options ) {
+ public function modifyHelp( array &$help, array $options, array &$tocData ) {
}
/**@}*/
@@ -2355,7 +2497,7 @@ abstract class ApiBase extends ContextSource {
* Returns the description string for this module
*
* Ignored if an i18n message exists for
- * "apihelp-{$this->getModulePathString()}-description".
+ * "apihelp-{$this->getModulePath()}-description".
*
* @deprecated since 1.25
* @return Message|string|array
@@ -2369,7 +2511,7 @@ abstract class ApiBase extends ContextSource {
*
* For each parameter, ignored if an i18n message exists for the parameter.
* By default that message is
- * "apihelp-{$this->getModulePathString()}-param-{$param}", but it may be
+ * "apihelp-{$this->getModulePath()}-param-{$param}", but it may be
* overridden using ApiBase::PARAM_HELP_MSG in the data returned by
* self::getFinalParams().
*
@@ -2519,7 +2661,6 @@ abstract class ApiBase extends ContextSource {
wfDeprecated( __METHOD__, '1.25' );
$params = $this->getFinalParams( ApiBase::GET_VALUES_FOR_HELP );
if ( $params ) {
-
$paramsDescription = $this->getFinalParamDescription();
$msg = '';
$paramPrefix = "\n" . str_repeat( ' ', 24 );
@@ -2578,7 +2719,11 @@ abstract class ApiBase extends ContextSource {
}
if ( $type === 'submodule' ) {
- $type = $this->getModuleManager()->getNames( $paramName );
+ if ( isset( $paramSettings[self::PARAM_SUBMODULE_MAP] ) ) {
+ $type = array_keys( $paramSettings[self::PARAM_SUBMODULE_MAP] );
+ } else {
+ $type = $this->getModuleManager()->getNames( $paramName );
+ }
sort( $type );
}
if ( is_array( $type ) ) {
@@ -2741,6 +2886,16 @@ abstract class ApiBase extends ContextSource {
return $this->getResult()->getData();
}
+ /**
+ * Call wfTransactionalTimeLimit() if this request was POSTed
+ * @since 1.26
+ */
+ protected function useTransactionalTimeLimit() {
+ if ( $this->getRequest()->wasPosted() ) {
+ wfTransactionalTimeLimit();
+ }
+ }
+
/**@}*/
}
diff --git a/includes/api/ApiBlock.php b/includes/api/ApiBlock.php
index 4d39ce1b..6adfc1a0 100644
--- a/includes/api/ApiBlock.php
+++ b/includes/api/ApiBlock.php
@@ -39,6 +39,8 @@ class ApiBlock extends ApiBase {
* of success. If it fails, the result will specify the nature of the error.
*/
public function execute() {
+ global $wgContLang;
+
$user = $this->getUser();
$params = $this->extractRequestParams();
@@ -50,7 +52,13 @@ class ApiBlock extends ApiBase {
if ( $user->isBlocked() ) {
$status = SpecialBlock::checkUnblockSelf( $params['user'], $user );
if ( $status !== true ) {
- $this->dieUsageMsg( array( $status ) );
+ $msg = $this->parseMsg( $status );
+ $this->dieUsage(
+ $msg['info'],
+ $msg['code'],
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) )
+ );
}
}
@@ -100,11 +108,9 @@ class ApiBlock extends ApiBase {
$res['user'] = $params['user'];
$res['userID'] = $target instanceof User ? $target->getId() : 0;
- $block = Block::newFromTarget( $target );
+ $block = Block::newFromTarget( $target, null, true );
if ( $block instanceof Block ) {
- $res['expiry'] = $block->mExpiry == $this->getDB()->getInfinity()
- ? 'infinite'
- : wfTimestamp( TS_ISO_8601, $block->mExpiry );
+ $res['expiry'] = $wgContLang->formatExpiry( $block->mExpiry, TS_ISO_8601, 'infinite' );
$res['id'] = $block->getId();
} else {
# should be unreachable
diff --git a/includes/api/ApiCreateAccount.php b/includes/api/ApiCreateAccount.php
index 455540b4..5443faca 100644
--- a/includes/api/ApiCreateAccount.php
+++ b/includes/api/ApiCreateAccount.php
@@ -21,6 +21,7 @@
*
* @file
*/
+use MediaWiki\Logger\LoggerFactory;
/**
* Unit to authenticate account registration attempts to the current wiki.
@@ -48,7 +49,12 @@ class ApiCreateAccount extends ApiBase {
);
}
if ( $this->getUser()->isBlockedFromCreateAccount() ) {
- $this->dieUsage( 'You cannot create a new account because you are blocked', 'blocked' );
+ $this->dieUsage(
+ 'You cannot create a new account because you are blocked',
+ 'blocked',
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $this->getUser()->getBlock() ) )
+ );
}
$params = $this->extractRequestParams();
@@ -90,6 +96,10 @@ class ApiCreateAccount extends ApiBase {
$loginForm->load();
$status = $loginForm->addNewaccountInternal();
+ LoggerFactory::getInstance( 'authmanager' )->info( 'Account creation attempt via API', array(
+ 'event' => 'accountcreation',
+ 'status' => $status,
+ ) );
$result = array();
if ( $status->isGood() ) {
// Success!
@@ -186,7 +196,9 @@ class ApiCreateAccount extends ApiBase {
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_REQUIRED => true
),
- 'password' => null,
+ 'password' => array(
+ ApiBase::PARAM_TYPE => 'password',
+ ),
'domain' => null,
'token' => null,
'email' => array(
diff --git a/includes/api/ApiDelete.php b/includes/api/ApiDelete.php
index d8b57182..bdf02bf1 100644
--- a/includes/api/ApiDelete.php
+++ b/includes/api/ApiDelete.php
@@ -39,6 +39,8 @@ class ApiDelete extends ApiBase {
* result object.
*/
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$params = $this->extractRequestParams();
$pageObj = $this->getTitleOrPageId( $params, 'fromdbmaster' );
@@ -131,7 +133,7 @@ class ApiDelete extends ApiBase {
$error = '';
// Luckily, Article.php provides a reusable delete function that does the hard work for us
- return $page->doDeleteArticleReal( $reason, false, 0, true, $error );
+ return $page->doDeleteArticleReal( $reason, false, 0, true, $error, $user );
}
/**
diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php
index 54a83915..2f1c01ce 100644
--- a/includes/api/ApiEditPage.php
+++ b/includes/api/ApiEditPage.php
@@ -35,6 +35,8 @@
*/
class ApiEditPage extends ApiBase {
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$user = $this->getUser();
$params = $this->extractRequestParams();
@@ -96,8 +98,14 @@ class ApiEditPage extends ApiBase {
$contentHandler = ContentHandler::getForModelID( $params['contentmodel'] );
}
- // @todo Ask handler whether direct editing is supported at all! make
- // allowFlatEdit() method or some such
+ $name = $titleObj->getPrefixedDBkey();
+ $model = $contentHandler->getModelID();
+ if ( $contentHandler->supportsDirectApiEditing() === false ) {
+ $this->dieUsage(
+ "Direct editing via API is not supported for content model $model used by $name",
+ 'no-direct-editing'
+ );
+ }
if ( !isset( $params['contentformat'] ) || $params['contentformat'] == '' ) {
$params['contentformat'] = $contentHandler->getDefaultFormat();
@@ -106,8 +114,6 @@ class ApiEditPage extends ApiBase {
$contentFormat = $params['contentformat'];
if ( !$contentHandler->isSupportedFormat( $contentFormat ) ) {
- $name = $titleObj->getPrefixedDBkey();
- $model = $contentHandler->getModelID();
$this->dieUsage( "The requested format $contentFormat is not supported for content model " .
" $model used by $name", 'badformat' );
@@ -126,7 +132,30 @@ class ApiEditPage extends ApiBase {
$errors = array_merge( $errors, $titleObj->getUserPermissionsErrors( 'create', $user ) );
}
if ( count( $errors ) ) {
- $this->dieUsageMsg( $errors[0] );
+ if ( is_array( $errors[0] ) ) {
+ switch ( $errors[0][0] ) {
+ case 'blockedtext':
+ $this->dieUsage(
+ 'You have been blocked from editing',
+ 'blocked',
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) )
+ );
+ break;
+ case 'autoblockedtext':
+ $this->dieUsage(
+ 'Your IP address has been blocked automatically, because it was used by a blocked user',
+ 'autoblocked',
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) )
+ );
+ break;
+ default:
+ $this->dieUsageMsg( $errors[0] );
+ }
+ } else {
+ $this->dieUsageMsg( $errors[0] );
+ }
}
$toMD5 = $params['text'];
@@ -242,7 +271,7 @@ class ApiEditPage extends ApiBase {
$titleObj->getNextRevisionID( $undoafterRev->getID() ) == $params['undo']
) {
$params['summary'] = wfMessage( 'undo-summary' )
- ->params ( $params['undo'], $undoRev->getUserText() )->inContentLanguage()->text();
+ ->params( $params['undo'], $undoRev->getUserText() )->inContentLanguage()->text();
}
}
@@ -277,16 +306,16 @@ class ApiEditPage extends ApiBase {
$requestArray['wpUndidRevision'] = $params['undo'];
}
- // Watch out for basetimestamp == ''
- // wfTimestamp() treats it as NOW, almost certainly causing an edit conflict
- if ( !is_null( $params['basetimestamp'] ) && $params['basetimestamp'] != '' ) {
- $requestArray['wpEdittime'] = wfTimestamp( TS_MW, $params['basetimestamp'] );
+ // Watch out for basetimestamp == '' or '0'
+ // It gets treated as NOW, almost certainly causing an edit conflict
+ if ( $params['basetimestamp'] !== null && (bool)$this->getMain()->getVal( 'basetimestamp' ) ) {
+ $requestArray['wpEdittime'] = $params['basetimestamp'];
} else {
$requestArray['wpEdittime'] = $pageObj->getTimestamp();
}
- if ( !is_null( $params['starttimestamp'] ) && $params['starttimestamp'] != '' ) {
- $requestArray['wpStarttime'] = wfTimestamp( TS_MW, $params['starttimestamp'] );
+ if ( $params['starttimestamp'] !== null ) {
+ $requestArray['wpStarttime'] = $params['starttimestamp'];
} else {
$requestArray['wpStarttime'] = wfTimestampNow(); // Fake wpStartime
}
@@ -362,9 +391,7 @@ class ApiEditPage extends ApiBase {
$ep = new EditPage( $articleObject );
- // allow editing of non-textual content.
- $ep->allowNonTextContent = true;
-
+ $ep->setApiEditOverride( true );
$ep->setContextTitle( $titleObj );
$ep->importFormData( $req );
$content = $ep->textbox1;
@@ -448,7 +475,12 @@ class ApiEditPage extends ApiBase {
$this->dieUsageMsg( array( 'spamdetected', $result['spam'] ) );
case EditPage::AS_BLOCKED_PAGE_FOR_USER:
- $this->dieUsageMsg( 'blockedtext' );
+ $this->dieUsage(
+ 'You have been blocked from editing',
+ 'blocked',
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) )
+ );
case EditPage::AS_MAX_ARTICLE_SIZE_EXCEEDED:
case EditPage::AS_CONTENT_TOO_BIG:
@@ -495,7 +527,7 @@ class ApiEditPage extends ApiBase {
$r['result'] = 'Success';
$r['pageid'] = intval( $titleObj->getArticleID() );
$r['title'] = $titleObj->getPrefixedText();
- $r['contentmodel'] = $titleObj->getContentModel();
+ $r['contentmodel'] = $articleObject->getContentModel();
$newRevId = $articleObject->getLatest();
if ( $newRevId == $oldRevId ) {
$r['nochange'] = true;
@@ -541,7 +573,9 @@ class ApiEditPage extends ApiBase {
'sectiontitle' => array(
ApiBase::PARAM_TYPE => 'string',
),
- 'text' => null,
+ 'text' => array(
+ ApiBase::PARAM_TYPE => 'text',
+ ),
'summary' => null,
'tags' => array(
ApiBase::PARAM_TYPE => ChangeTags::listExplicitlyDefinedTags(),
@@ -550,8 +584,12 @@ class ApiEditPage extends ApiBase {
'minor' => false,
'notminor' => false,
'bot' => false,
- 'basetimestamp' => null,
- 'starttimestamp' => null,
+ 'basetimestamp' => array(
+ ApiBase::PARAM_TYPE => 'timestamp',
+ ),
+ 'starttimestamp' => array(
+ ApiBase::PARAM_TYPE => 'timestamp',
+ ),
'recreate' => false,
'createonly' => false,
'nocreate' => false,
@@ -573,8 +611,12 @@ class ApiEditPage extends ApiBase {
),
),
'md5' => null,
- 'prependtext' => null,
- 'appendtext' => null,
+ 'prependtext' => array(
+ ApiBase::PARAM_TYPE => 'text',
+ ),
+ 'appendtext' => array(
+ ApiBase::PARAM_TYPE => 'text',
+ ),
'undo' => array(
ApiBase::PARAM_TYPE => 'integer'
),
diff --git a/includes/api/ApiEmailUser.php b/includes/api/ApiEmailUser.php
index 15eb475e..efb9769b 100644
--- a/includes/api/ApiEmailUser.php
+++ b/includes/api/ApiEmailUser.php
@@ -95,7 +95,7 @@ class ApiEmailUser extends ApiBase {
),
'subject' => null,
'text' => array(
- ApiBase::PARAM_TYPE => 'string',
+ ApiBase::PARAM_TYPE => 'text',
ApiBase::PARAM_REQUIRED => true
),
'ccme' => false,
diff --git a/includes/api/ApiExpandTemplates.php b/includes/api/ApiExpandTemplates.php
index 6d064eb2..6112534c 100644
--- a/includes/api/ApiExpandTemplates.php
+++ b/includes/api/ApiExpandTemplates.php
@@ -111,8 +111,9 @@ class ApiExpandTemplates extends ApiBase {
// the old way
ApiResult::setContentValue( $retval, 'wikitext', $wikitext );
} else {
+ $p_output = $wgParser->getOutput();
if ( isset( $prop['categories'] ) ) {
- $categories = $wgParser->getOutput()->getCategories();
+ $categories = $p_output->getCategories();
if ( $categories ) {
$categories_result = array();
foreach ( $categories as $category => $sortkey ) {
@@ -126,7 +127,7 @@ class ApiExpandTemplates extends ApiBase {
}
}
if ( isset( $prop['properties'] ) ) {
- $properties = $wgParser->getOutput()->getProperties();
+ $properties = $p_output->getProperties();
if ( $properties ) {
ApiResult::setArrayType( $properties, 'BCkvp', 'name' );
ApiResult::setIndexedTagName( $properties, 'property' );
@@ -142,6 +143,27 @@ class ApiExpandTemplates extends ApiBase {
if ( isset( $prop['wikitext'] ) ) {
$retval['wikitext'] = $wikitext;
}
+ if ( isset( $prop['modules'] ) ) {
+ $retval['modules'] = array_values( array_unique( $p_output->getModules() ) );
+ $retval['modulescripts'] = array_values( array_unique( $p_output->getModuleScripts() ) );
+ $retval['modulestyles'] = array_values( array_unique( $p_output->getModuleStyles() ) );
+ }
+ if ( isset( $prop['jsconfigvars'] ) ) {
+ $retval['jsconfigvars'] =
+ ApiResult::addMetadataToResultVars( $p_output->getJsConfigVars() );
+ }
+ if ( isset( $prop['encodedjsconfigvars'] ) ) {
+ $retval['encodedjsconfigvars'] = FormatJson::encode(
+ $p_output->getJsConfigVars(), false, FormatJson::ALL_OK
+ );
+ $retval[ApiResult::META_SUBELEMENTS][] = 'encodedjsconfigvars';
+ }
+ if ( isset( $prop['modules'] ) &&
+ !isset( $prop['jsconfigvars'] ) && !isset( $prop['encodedjsconfigvars'] ) ) {
+ $this->setWarning( "Property 'modules' was set but not 'jsconfigvars' " .
+ "or 'encodedjsconfigvars'. Configuration variables are necessary " .
+ "for proper module usage." );
+ }
}
}
ApiResult::setSubelementsList( $retval, array( 'wikitext', 'parsetree' ) );
@@ -154,7 +176,7 @@ class ApiExpandTemplates extends ApiBase {
ApiBase::PARAM_DFLT => 'API',
),
'text' => array(
- ApiBase::PARAM_TYPE => 'string',
+ ApiBase::PARAM_TYPE => 'text',
ApiBase::PARAM_REQUIRED => true,
),
'revid' => array(
@@ -167,9 +189,13 @@ class ApiExpandTemplates extends ApiBase {
'properties',
'volatile',
'ttl',
+ 'modules',
+ 'jsconfigvars',
+ 'encodedjsconfigvars',
'parsetree',
),
ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'includecomments' => false,
'generatexml' => array(
diff --git a/includes/api/ApiFeedRecentChanges.php b/includes/api/ApiFeedRecentChanges.php
index d452bbd6..d24112c7 100644
--- a/includes/api/ApiFeedRecentChanges.php
+++ b/includes/api/ApiFeedRecentChanges.php
@@ -66,9 +66,17 @@ class ApiFeedRecentChanges extends ApiBase {
$formatter = $this->getFeedObject( $feedFormat, $specialClass );
- // Everything is passed implicitly via $wgRequest… :(
- // The row-getting functionality should maybe be factored out of ChangesListSpecialPage too…
+ // Parameters are passed via the request in the context… :(
+ $context = new DerivativeContext( $this );
+ $context->setRequest( new DerivativeRequest(
+ $this->getRequest(),
+ $this->params,
+ $this->getRequest()->wasPosted()
+ ) );
+
+ // The row-getting functionality should be factored out of ChangesListSpecialPage too…
$rc = new $specialClass();
+ $rc->setContext( $context );
$rows = $rc->getRows();
$feedItems = $rows ? ChangesFeed::buildItems( $rows ) : array();
diff --git a/includes/api/ApiFeedWatchlist.php b/includes/api/ApiFeedWatchlist.php
index d1beef8a..0ddb3c38 100644
--- a/includes/api/ApiFeedWatchlist.php
+++ b/includes/api/ApiFeedWatchlist.php
@@ -126,7 +126,8 @@ class ApiFeedWatchlist extends ApiBase {
$msg = wfMessage( 'watchlist' )->inContentLanguage()->text();
- $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - ' . $msg . ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']';
+ $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - ' . $msg .
+ ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']';
$feedUrl = SpecialPage::getTitleFor( 'Watchlist' )->getFullURL();
$feed = new $feedClasses[$params['feedformat']] (
@@ -168,6 +169,11 @@ class ApiFeedWatchlist extends ApiBase {
* @return FeedItem
*/
private function createFeedItem( $info ) {
+ if ( !isset( $info['title'] ) ) {
+ // Probably a revdeled log entry, skip it.
+ return null;
+ }
+
$titleStr = $info['title'];
$title = Title::newFromText( $titleStr );
$curidParam = array();
@@ -204,9 +210,14 @@ class ApiFeedWatchlist extends ApiBase {
}
$timestamp = $info['timestamp'];
- $user = $info['user'];
- $completeText = "$comment ($user)";
+ if ( isset( $info['user'] ) ) {
+ $user = $info['user'];
+ $completeText = "$comment ($user)";
+ } else {
+ $user = '';
+ $completeText = (string)$comment;
+ }
return new FeedItem( $titleStr, $completeText, $titleUrl, $timestamp, $user );
}
diff --git a/includes/api/ApiFileRevert.php b/includes/api/ApiFileRevert.php
index 5517ee08..a49397dc 100644
--- a/includes/api/ApiFileRevert.php
+++ b/includes/api/ApiFileRevert.php
@@ -38,6 +38,8 @@ class ApiFileRevert extends ApiBase {
protected $params;
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$this->params = $this->extractRequestParams();
// Extract the file and archiveName from the request parameters
$this->validateParameters();
diff --git a/includes/api/ApiFormatBase.php b/includes/api/ApiFormatBase.php
index d078dc45..e522d709 100644
--- a/includes/api/ApiFormatBase.php
+++ b/includes/api/ApiFormatBase.php
@@ -173,6 +173,7 @@ abstract class ApiFormatBase extends ApiBase {
$mime = $this->getMimeType();
if ( $this->getIsHtml() && $mime !== null ) {
$format = $this->getFormat();
+ $lcformat = strtolower( $format );
$result = $this->getBuffer();
$context = new DerivativeContext( $this->getMain() );
@@ -181,12 +182,17 @@ abstract class ApiFormatBase extends ApiBase {
$out = new OutputPage( $context );
$context->setOutput( $out );
- $out->addModules( 'mediawiki.apipretty' );
+ $out->addModuleStyles( 'mediawiki.apipretty' );
$out->setPageTitle( $context->msg( 'api-format-title' ) );
- $header = $context->msg( 'api-format-prettyprint-header' )
- ->params( $format, strtolower( $format ) )
- ->parseAsBlock();
+ // When the format without suffix 'fm' is defined, there is a non-html version
+ if ( $this->getMain()->getModuleManager()->isDefined( $lcformat, 'format' ) ) {
+ $msg = $context->msg( 'api-format-prettyprint-header' )->params( $format, $lcformat );
+ } else {
+ $msg = $context->msg( 'api-format-prettyprint-header-only-html' )->params( $format );
+ }
+
+ $header = $msg->parseAsBlock();
$out->addHTML(
Html::rawElement( 'div', array( 'class' => 'api-pretty-header' ),
ApiHelp::fixHelpLinks( $header )
@@ -240,7 +246,7 @@ abstract class ApiFormatBase extends ApiBase {
}
/**
- * To avoid code duplication with the deprecation of dbg, dump, txt, wddx,
+ * To avoid code duplication with the deprecation of dbg, txt
* and yaml, this method is added to do the necessary work. It should be
* removed when those deprecated formats are removed.
*/
@@ -306,7 +312,7 @@ abstract class ApiFormatBase extends ApiBase {
// Escape everything first for full coverage
$text = htmlspecialchars( $text );
- if ( $this->mFormat === 'XML' || $this->mFormat === 'WDDX' ) {
+ if ( $this->mFormat === 'XML' ) {
// encode all comments or tags as safe blue strings
$text = str_replace( '&lt;', '<span style="color:blue;">&lt;', $text );
$text = str_replace( '&gt;', '&gt;</span>', $text );
@@ -381,10 +387,11 @@ abstract class ApiFormatBase extends ApiBase {
* are required to ignore it or filter it out.
*
* @deprecated since 1.25
- * @return bool
+ * @return bool Always true
*/
public function getNeedsRawData() {
- return false;
+ wfDeprecated( __METHOD__, '1.25' );
+ return true;
}
/**@}*/
diff --git a/includes/api/ApiFormatDump.php b/includes/api/ApiFormatDump.php
deleted file mode 100644
index f34e1ae4..00000000
--- a/includes/api/ApiFormatDump.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-/**
- *
- *
- * Created on August 8, 2010
- *
- * Copyright © 2010 Soxred93
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * API PHP's var_dump() output formatter
- * @deprecated since 1.24
- * @ingroup API
- */
-class ApiFormatDump extends ApiFormatBase {
-
- public function getMimeType() {
- // This looks like it should be text/plain, but IE7 is so
- // brain-damaged it tries to parse text/plain as HTML if it
- // contains HTML tags. Using MIME text/text works around this bug
- return 'text/text';
- }
-
- public function execute() {
- $this->markDeprecated();
- $data = $this->getResult()->getResultData( null, array(
- 'BC' => array(),
- 'Types' => array(),
- 'Strip' => 'all',
- ) );
- ob_start();
- var_dump( $data );
- $result = ob_get_contents();
- ob_end_clean();
- $this->printText( $result );
- }
-
- public function isDeprecated() {
- return true;
- }
-}
diff --git a/includes/api/ApiFormatFeedWrapper.php b/includes/api/ApiFormatFeedWrapper.php
index 00747eef..d2bfd48d 100644
--- a/includes/api/ApiFormatFeedWrapper.php
+++ b/includes/api/ApiFormatFeedWrapper.php
@@ -60,15 +60,6 @@ class ApiFormatFeedWrapper extends ApiFormatBase {
}
/**
- * Optimization - no need to sanitize data that will not be needed
- *
- * @return bool
- */
- public function getNeedsRawData() {
- return true;
- }
-
- /**
* ChannelFeed doesn't give us a method to print errors in a friendly
* manner, so just punt errors to the default printer.
* @return bool
diff --git a/includes/api/ApiFormatJson.php b/includes/api/ApiFormatJson.php
index 43877b78..be1b12c3 100644
--- a/includes/api/ApiFormatJson.php
+++ b/includes/api/ApiFormatJson.php
@@ -35,6 +35,15 @@ class ApiFormatJson extends ApiFormatBase {
public function __construct( ApiMain $main, $format ) {
parent::__construct( $main, $format );
$this->isRaw = ( $format === 'rawfm' );
+
+ if ( $this->getMain()->getCheck( 'callback' ) ) {
+ # T94015: jQuery appends a useless '_' parameter in jsonp mode.
+ # Mark the parameter as used in that case to avoid a warning that's
+ # outside the control of the end user.
+ # (and do it here because ApiMain::reportUnusedParams() gets called
+ # before our ::execute())
+ $this->getMain()->getCheck( '_' );
+ }
}
public function getMimeType() {
@@ -50,13 +59,6 @@ class ApiFormatJson extends ApiFormatBase {
/**
* @deprecated since 1.25
*/
- public function getNeedsRawData() {
- return $this->isRaw;
- }
-
- /**
- * @deprecated since 1.25
- */
public function getWantsHelp() {
wfDeprecated( __METHOD__, '1.25' );
// Help is always ugly in JSON
diff --git a/includes/api/ApiFormatPhp.php b/includes/api/ApiFormatPhp.php
index d88dd40b..6420a5b5 100644
--- a/includes/api/ApiFormatPhp.php
+++ b/includes/api/ApiFormatPhp.php
@@ -68,7 +68,8 @@ class ApiFormatPhp extends ApiFormatBase {
preg_match( '/\<\s*cross-domain-policy\s*\>/i', $text )
) {
$this->dieUsage(
- 'This response cannot be represented using format=php. See https://bugzilla.wikimedia.org/show_bug.cgi?id=66776',
+ 'This response cannot be represented using format=php. ' .
+ 'See https://bugzilla.wikimedia.org/show_bug.cgi?id=66776',
'internalerror'
);
}
diff --git a/includes/api/ApiFormatRaw.php b/includes/api/ApiFormatRaw.php
index 7bb2453d..9dbd4a55 100644
--- a/includes/api/ApiFormatRaw.php
+++ b/includes/api/ApiFormatRaw.php
@@ -31,14 +31,20 @@
class ApiFormatRaw extends ApiFormatBase {
private $errorFallback;
+ private $mFailWithHTTPError = false;
+
/**
* @param ApiMain $main
- * @param ApiFormatBase $errorFallback Object to fall back on for errors
+ * @param ApiFormatBase |null $errorFallback Object to fall back on for errors
*/
- public function __construct( ApiMain $main, ApiFormatBase $errorFallback ) {
+ public function __construct( ApiMain $main, ApiFormatBase $errorFallback = null ) {
parent::__construct( $main, 'raw' );
- $this->errorFallback = $errorFallback;
+ if ( $errorFallback === null ) {
+ $this->errorFallback = $main->createPrinterByName( $main->getParameter( 'format' ) );
+ } else {
+ $this->errorFallback = $errorFallback;
+ }
}
public function getMimeType() {
@@ -59,6 +65,9 @@ class ApiFormatRaw extends ApiFormatBase {
$data = $this->getResult()->getResultData();
if ( isset( $data['error'] ) ) {
$this->errorFallback->initPrinter( $unused );
+ if ( $this->mFailWithHTTPError ) {
+ $this->getMain()->getRequest()->response()->statusHeader( 400 );
+ }
} else {
parent::initPrinter( $unused );
}
@@ -85,4 +94,17 @@ class ApiFormatRaw extends ApiFormatBase {
}
$this->printText( $data['text'] );
}
+
+ /**
+ * Output HTTP error code 400 when if an error is encountered
+ *
+ * The purpose is for output formats where the user-agent will
+ * not be able to interpret the validity of the content in any
+ * other way. For example subtitle files read by browser video players.
+ *
+ * @param bool $fail
+ */
+ public function setFailWithHTTPError( $fail ) {
+ $this->mFailWithHTTPError = $fail;
+ }
}
diff --git a/includes/api/ApiFormatWddx.php b/includes/api/ApiFormatWddx.php
deleted file mode 100644
index c18353fe..00000000
--- a/includes/api/ApiFormatWddx.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-/**
- *
- *
- * Created on Oct 22, 2006
- *
- * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * API WDDX output formatter
- * @deprecated since 1.24
- * @ingroup API
- */
-class ApiFormatWddx extends ApiFormatBase {
-
- public function getMimeType() {
- return 'text/xml';
- }
-
- public function execute() {
- $this->markDeprecated();
-
- $data = $this->getResult()->getResultData( null, array(
- 'BC' => array(),
- 'Types' => array( 'AssocAsObject' => true ),
- 'Strip' => 'all',
- ) );
-
- if ( !$this->getIsHtml() && !static::useSlowPrinter() ) {
- $txt = wddx_serialize_value( $data );
- $txt = str_replace(
- '<struct><var name=\'php_class_name\'><string>stdClass</string></var>',
- '<struct>',
- $txt
- );
- $this->printText( $txt );
- } else {
- // Don't do newlines and indentation if we weren't asked
- // for pretty output
- $nl = ( $this->getIsHtml() ? "\n" : '' );
- $indstr = ( $this->getIsHtml() ? ' ' : '' );
- $this->printText( "<?xml version=\"1.0\"?>$nl" );
- $this->printText( "<wddxPacket version=\"1.0\">$nl" );
- $this->printText( "$indstr<header />$nl" );
- $this->printText( "$indstr<data>$nl" );
- $this->slowWddxPrinter( $data, 4 );
- $this->printText( "$indstr</data>$nl" );
- $this->printText( "</wddxPacket>$nl" );
- }
- }
-
- public static function useSlowPrinter() {
- if ( !function_exists( 'wddx_serialize_value' ) ) {
- return true;
- }
-
- // Some versions of PHP have a broken wddx_serialize_value, see
- // PHP bug 45314. Test encoding an affected character (U+00A0)
- // to avoid this.
- $expected =
- "<wddxPacket version='1.0'><header/><data><string>\xc2\xa0</string></data></wddxPacket>";
- if ( wddx_serialize_value( "\xc2\xa0" ) !== $expected ) {
- return true;
- }
-
- // Some versions of HHVM don't correctly encode ampersands.
- $expected =
- "<wddxPacket version='1.0'><header/><data><string>&amp;</string></data></wddxPacket>";
- if ( wddx_serialize_value( '&' ) !== $expected ) {
- return true;
- }
-
- // Some versions of HHVM don't correctly encode empty arrays as subvalues.
- $expected =
- "<wddxPacket version='1.0'><header/><data><array length='1'><array length='0'></array></array></data></wddxPacket>";
- if ( wddx_serialize_value( array( array() ) ) !== $expected ) {
- return true;
- }
-
- // Some versions of HHVM don't correctly encode associative arrays with numeric keys.
- $expected =
- "<wddxPacket version='1.0'><header/><data><struct><var name='2'><number>1</number></var></struct></data></wddxPacket>";
- if ( wddx_serialize_value( array( 2 => 1 ) ) !== $expected ) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Recursively go through the object and output its data in WDDX format.
- * @param mixed $elemValue
- * @param int $indent
- */
- function slowWddxPrinter( $elemValue, $indent = 0 ) {
- $indstr = ( $this->getIsHtml() ? str_repeat( ' ', $indent ) : '' );
- $indstr2 = ( $this->getIsHtml() ? str_repeat( ' ', $indent + 2 ) : '' );
- $nl = ( $this->getIsHtml() ? "\n" : '' );
-
- if ( is_array( $elemValue ) ) {
- $cnt = count( $elemValue );
- if ( $cnt != 0 && array_keys( $elemValue ) !== range( 0, $cnt - 1 ) ) {
- $elemValue = (object)$elemValue;
- }
- }
-
- if ( is_array( $elemValue ) ) {
- // Regular array
- $this->printText( $indstr . Xml::element( 'array', array(
- 'length' => count( $elemValue ) ), null ) . $nl );
- foreach ( $elemValue as $subElemValue ) {
- $this->slowWddxPrinter( $subElemValue, $indent + 2 );
- }
- $this->printText( "$indstr</array>$nl" );
- } elseif ( is_object( $elemValue ) ) {
- // Associative array (<struct>)
- $this->printText( "$indstr<struct>$nl" );
- foreach ( $elemValue as $subElemName => $subElemValue ) {
- $this->printText( $indstr2 . Xml::element( 'var', array(
- 'name' => $subElemName
- ), null ) . $nl );
- $this->slowWddxPrinter( $subElemValue, $indent + 4 );
- $this->printText( "$indstr2</var>$nl" );
- }
- $this->printText( "$indstr</struct>$nl" );
- } elseif ( is_int( $elemValue ) || is_float( $elemValue ) ) {
- $this->printText( $indstr . Xml::element( 'number', null, $elemValue ) . $nl );
- } elseif ( is_string( $elemValue ) ) {
- $this->printText( $indstr . Xml::element( 'string', null, $elemValue, false ) . $nl );
- } elseif ( is_bool( $elemValue ) ) {
- $this->printText( $indstr . Xml::element( 'boolean',
- array( 'value' => $elemValue ? 'true' : 'false' ) ) . $nl
- );
- } elseif ( $elemValue === null ) {
- $this->printText( $indstr . Xml::element( 'null', array() ) . $nl );
- } else {
- ApiBase::dieDebug( __METHOD__, 'Unknown type ' . gettype( $elemValue ) );
- }
- }
-
- public function isDeprecated() {
- return true;
- }
-}
diff --git a/includes/api/ApiFormatXml.php b/includes/api/ApiFormatXml.php
index fa0bac34..e8ad387b 100644
--- a/includes/api/ApiFormatXml.php
+++ b/includes/api/ApiFormatXml.php
@@ -39,13 +39,6 @@ class ApiFormatXml extends ApiFormatBase {
return 'text/xml';
}
- /**
- * @deprecated since 1.25
- */
- public function getNeedsRawData() {
- return true;
- }
-
public function setRootElement( $rootElemName ) {
$this->mRootElemName = $rootElemName;
}
@@ -72,7 +65,7 @@ class ApiFormatXml extends ApiFormatBase {
'Custom' => function ( &$data, &$metadata ) {
if ( isset( $metadata[ApiResult::META_TYPE] ) ) {
// We want to use non-BC for BCassoc to force outputting of _idx.
- switch( $metadata[ApiResult::META_TYPE] ) {
+ switch ( $metadata[ApiResult::META_TYPE] ) {
case 'BCassoc':
$metadata[ApiResult::META_TYPE] = 'assoc';
break;
@@ -267,7 +260,7 @@ class ApiFormatXml extends ApiFormatBase {
return '_' . preg_replace_callback(
"/[^$nc]/uS",
function ( $m ) {
- return sprintf( '.%X.', utf8ToCodepoint( $m[0] ) );
+ return sprintf( '.%X.', UtfNormal\Utils::utf8ToCodepoint( $m[0] ) );
},
str_replace( '.', '.2E.', $name )
);
diff --git a/includes/api/ApiHelp.php b/includes/api/ApiHelp.php
index 53e8c343..f6d124f0 100644
--- a/includes/api/ApiHelp.php
+++ b/includes/api/ApiHelp.php
@@ -45,6 +45,7 @@ class ApiHelp extends ApiBase {
$context->setLanguage( $this->getMain()->getLanguage() );
$context->setTitle( SpecialPage::getTitleFor( 'ApiHelp' ) );
$out = new OutputPage( $context );
+ $out->setCopyrightUrl( 'https://www.mediawiki.org/wiki/Special:MyLanguage/Copyright' );
$context->setOutput( $out );
self::getHelp( $context, $modules, $params );
@@ -82,6 +83,7 @@ class ApiHelp extends ApiBase {
* - submodules: (bool) Include help for submodules of the current module
* - recursivesubmodules: (bool) Include help for submodules recursively
* - helptitle: (string) Title to link for additional modules' help. Should contain $1.
+ * - toc: (bool) Include a table of contents
*
* @param IContextSource $context
* @param ApiBase[]|ApiBase $modules
@@ -97,6 +99,9 @@ class ApiHelp extends ApiBase {
$out = $context->getOutput();
$out->addModules( 'mediawiki.apihelp' );
+ if ( !empty( $options['toc'] ) ) {
+ $out->addModules( 'mediawiki.toc' );
+ }
$out->setPageTitle( $context->msg( 'api-help-title' ) );
$cacheKey = null;
@@ -107,6 +112,7 @@ class ApiHelp extends ApiBase {
if ( $cacheHelpTimeout > 0 ) {
// Get help text from cache if present
$cacheKey = wfMemcKey( 'apihelp', $modules[0]->getModulePath(),
+ (int)!empty( $options['toc'] ),
str_replace( ' ', '_', SpecialVersion::getVersion( 'nodb' ) ) );
$cached = $wgMemc->get( $cacheKey );
if ( $cached ) {
@@ -133,7 +139,11 @@ class ApiHelp extends ApiBase {
}
$haveModules = array();
- $out->addHTML( self::getHelpInternal( $context, $modules, $options, $haveModules ) );
+ $html = self::getHelpInternal( $context, $modules, $options, $haveModules );
+ if ( !empty( $options['toc'] ) && $haveModules ) {
+ $out->addHTML( Linker::generateTOC( $haveModules, $context->getLanguage() ) );
+ }
+ $out->addHTML( $html );
$helptitle = isset( $options['helptitle'] ) ? $options['helptitle'] : null;
$html = self::fixHelpLinks( $out->getHTML(), $helptitle, $haveModules );
@@ -150,7 +160,7 @@ class ApiHelp extends ApiBase {
*
* @param string $html
* @param string|null $helptitle Title to link to rather than api.php, must contain '$1'
- * @param array $localModules Modules to link within the current page
+ * @param array $localModules Keys are modules to link within the current page, values are ignored
* @return string
*/
public static function fixHelpLinks( $html, $helptitle = null, $localModules = array() ) {
@@ -164,17 +174,17 @@ class ApiHelp extends ApiBase {
$old = $href;
$href = rawurldecode( $href );
} while ( $old !== $href );
- if ( preg_match( '!Special:ApiHelp/([^&/|]+)!', $href, $m ) ) {
+ if ( preg_match( '!Special:ApiHelp/([^&/|#]+)((?:#.*)?)!', $href, $m ) ) {
if ( isset( $localModules[$m[1]] ) ) {
- $href = '#' . $m[1];
+ $href = $m[2] === '' ? '#' . $m[1] : $m[2];
} elseif ( $helptitle !== null ) {
- $href = Title::newFromText( str_replace( '$1', $m[1], $helptitle ) )
+ $href = Title::newFromText( str_replace( '$1', $m[1], $helptitle ) . $m[2] )
->getFullUrl();
} else {
$href = wfAppendQuery( wfScript( 'api' ), array(
'action' => 'help',
'modules' => $m[1],
- ) );
+ ) ) . $m[2];
}
$node->setAttribute( 'href', $href );
$node->removeAttribute( 'title' );
@@ -212,11 +222,16 @@ class ApiHelp extends ApiBase {
) {
$out = '';
- $level = min( 6, empty( $options['headerlevel'] ) ? 2 : $options['headerlevel'] );
- $options['headerlevel'] = $level;
+ $level = empty( $options['headerlevel'] ) ? 2 : $options['headerlevel'];
+ if ( empty( $options['tocnumber'] ) ) {
+ $tocnumber = array( 2 => 0 );
+ } else {
+ $tocnumber = &$options['tocnumber'];
+ }
foreach ( $modules as $module ) {
- $haveModules[$module->getModulePath()] = true;
+ $tocnumber[$level]++;
+ $path = $module->getModulePath();
$module->setContext( $context );
$help = array(
'header' => '',
@@ -228,8 +243,13 @@ class ApiHelp extends ApiBase {
'submodules' => '',
);
- if ( empty( $options['noheader'] ) ) {
- $path = $module->getModulePath();
+ if ( empty( $options['noheader'] ) || !empty( $options['toc'] ) ) {
+ $anchor = $path;
+ $i = 1;
+ while ( isset( $haveModules[$anchor] ) ) {
+ $anchor = $path . '|' . ++$i;
+ }
+
if ( $module->isMain() ) {
$header = $context->msg( 'api-help-main-header' )->parse();
} else {
@@ -241,10 +261,22 @@ class ApiHelp extends ApiBase {
$context->msg( 'parentheses', $module->getModulePrefix() )->parse();
}
}
- $help['header'] .= Html::element( "h$level",
- array( 'id' => $path, 'class' => 'apihelp-header' ),
- $header
+ $haveModules[$anchor] = array(
+ 'toclevel' => count( $tocnumber ),
+ 'level' => $level,
+ 'anchor' => $anchor,
+ 'line' => $header,
+ 'number' => join( '.', $tocnumber ),
+ 'index' => false,
);
+ if ( empty( $options['noheader'] ) ) {
+ $help['header'] .= Html::element( 'h' . min( 6, $level ),
+ array( 'id' => $anchor, 'class' => 'apihelp-header' ),
+ $header
+ );
+ }
+ } else {
+ $haveModules[$path] = true;
}
$links = array();
@@ -277,25 +309,55 @@ class ApiHelp extends ApiBase {
);
}
- $flags = $module->getHelpFlags();
- if ( $flags ) {
- $help['flags'] .= Html::openElement( 'div',
- array( 'class' => 'apihelp-block apihelp-flags' ) );
- $msg = $context->msg( 'api-help-flags' );
- if ( !$msg->isDisabled() ) {
- $help['flags'] .= self::wrap(
- $msg->numParams( count( $flags ) ), 'apihelp-block-head', 'div'
- );
+ $help['flags'] .= Html::openElement( 'div',
+ array( 'class' => 'apihelp-block apihelp-flags' ) );
+ $msg = $context->msg( 'api-help-flags' );
+ if ( !$msg->isDisabled() ) {
+ $help['flags'] .= self::wrap(
+ $msg->numParams( count( $flags ) ), 'apihelp-block-head', 'div'
+ );
+ }
+ $help['flags'] .= Html::openElement( 'ul' );
+ foreach ( $module->getHelpFlags() as $flag ) {
+ $help['flags'] .= Html::rawElement( 'li', null,
+ self::wrap( $context->msg( "api-help-flag-$flag" ), "apihelp-flag-$flag" )
+ );
+ }
+ $sourceInfo = $module->getModuleSourceInfo();
+ if ( $sourceInfo ) {
+ if ( isset( $sourceInfo['namemsg'] ) ) {
+ $extname = $context->msg( $sourceInfo['namemsg'] )->text();
+ } else {
+ $extname = $sourceInfo['name'];
}
- $help['flags'] .= Html::openElement( 'ul' );
- foreach ( $flags as $flag ) {
- $help['flags'] .= Html::rawElement( 'li', null,
- self::wrap( $context->msg( "api-help-flag-$flag" ), "apihelp-flag-$flag" )
- );
+ $help['flags'] .= Html::rawElement( 'li', null,
+ self::wrap(
+ $context->msg( 'api-help-source', $extname, $sourceInfo['name'] ),
+ 'apihelp-source'
+ )
+ );
+
+ $link = SpecialPage::getTitleFor( 'Version', 'License/' . $sourceInfo['name'] );
+ if ( isset( $sourceInfo['license-name'] ) ) {
+ $msg = $context->msg( 'api-help-license', $link, $sourceInfo['license-name'] );
+ } elseif ( SpecialVersion::getExtLicenseFileName( dirname( $sourceInfo['path'] ) ) ) {
+ $msg = $context->msg( 'api-help-license-noname', $link );
+ } else {
+ $msg = $context->msg( 'api-help-license-unknown' );
}
- $help['flags'] .= Html::closeElement( 'ul' );
- $help['flags'] .= Html::closeElement( 'div' );
+ $help['flags'] .= Html::rawElement( 'li', null,
+ self::wrap( $msg, 'apihelp-license' )
+ );
+ } else {
+ $help['flags'] .= Html::rawElement( 'li', null,
+ self::wrap( $context->msg( 'api-help-source-unknown' ), 'apihelp-source' )
+ );
+ $help['flags'] .= Html::rawElement( 'li', null,
+ self::wrap( $context->msg( 'api-help-license-unknown' ), 'apihelp-license' )
+ );
}
+ $help['flags'] .= Html::closeElement( 'ul' );
+ $help['flags'] .= Html::closeElement( 'div' );
foreach ( $module->getFinalDescription() as $msg ) {
$msg->setContext( $context );
@@ -429,19 +491,30 @@ class ApiHelp extends ApiBase {
switch ( $type ) {
case 'submodule':
$groups[] = $name;
- $submodules = $module->getModuleManager()->getNames( $name );
+ if ( isset( $settings[ApiBase::PARAM_SUBMODULE_MAP] ) ) {
+ $map = $settings[ApiBase::PARAM_SUBMODULE_MAP];
+ ksort( $map );
+ $submodules = array();
+ foreach ( $map as $v => $m ) {
+ $submodules[] = "[[Special:ApiHelp/{$m}|{$v}]]";
+ }
+ } else {
+ $submodules = $module->getModuleManager()->getNames( $name );
+ sort( $submodules );
+ $prefix = $module->isMain()
+ ? '' : ( $module->getModulePath() . '+' );
+ $submodules = array_map( function ( $name ) use ( $prefix ) {
+ return "[[Special:ApiHelp/{$prefix}{$name}|{$name}]]";
+ }, $submodules );
+ }
$count = count( $submodules );
- sort( $submodules );
- $prefix = $module->isMain()
- ? '' : ( $module->getModulePath() . '+' );
- $submodules = array_map( function ( $name ) use ( $prefix ) {
- return "[[Special:ApiHelp/{$prefix}{$name}|{$name}]]";
- }, $submodules );
$info[] = $context->msg( 'api-help-param-list' )
->params( $multi ? 2 : 1 )
->params( $context->getLanguage()->commaList( $submodules ) )
->parse();
$hintPipeSeparated = false;
+ // No type message necessary, we have a list of values.
+ $type = null;
break;
case 'namespace':
@@ -452,6 +525,8 @@ class ApiHelp extends ApiBase {
->params( $context->getLanguage()->commaList( $namespaces ) )
->parse();
$hintPipeSeparated = false;
+ // No type message necessary, we have a list of values.
+ $type = null;
break;
case 'limit':
@@ -494,10 +569,29 @@ class ApiHelp extends ApiBase {
case 'upload':
$info[] = $context->msg( 'api-help-param-upload' )
->parse();
+ // No type message necessary, api-help-param-upload should handle it.
+ $type = null;
+ break;
+
+ case 'string':
+ case 'text':
+ // Displaying a type message here would be useless.
+ $type = null;
break;
}
}
+ // Add type. Messages for grep: api-help-param-type-limit
+ // api-help-param-type-integer api-help-param-type-boolean
+ // api-help-param-type-timestamp api-help-param-type-user
+ // api-help-param-type-password
+ if ( is_string( $type ) ) {
+ $msg = $context->msg( "api-help-param-type-$type" );
+ if ( !$msg->isDisabled() ) {
+ $info[] = $msg->params( $multi ? 2 : 1 )->parse();
+ }
+ }
+
if ( $multi ) {
$extra = array();
if ( $hintPipeSeparated ) {
@@ -590,6 +684,15 @@ class ApiHelp extends ApiBase {
$help['examples'] .= Html::closeElement( 'div' );
}
+ $subtocnumber = $tocnumber;
+ $subtocnumber[$level + 1] = 0;
+ $suboptions = array(
+ 'submodules' => $options['recursivesubmodules'],
+ 'headerlevel' => $level + 1,
+ 'tocnumber' => &$subtocnumber,
+ 'noheader' => false,
+ ) + $options;
+
if ( $options['submodules'] && $module->getModuleManager() ) {
$manager = $module->getModuleManager();
$submodules = array();
@@ -600,16 +703,13 @@ class ApiHelp extends ApiBase {
$submodules[] = $manager->getModule( $name );
}
}
- $help['submodules'] .= self::getHelpInternal( $context, $submodules, array(
- 'submodules' => $options['recursivesubmodules'],
- 'headerlevel' => $level + 1,
- 'noheader' => false,
- ) + $options, $haveModules );
+ $help['submodules'] .= self::getHelpInternal( $context, $submodules, $suboptions, $haveModules );
+ $numSubmodules = count( $submodules );
}
- $module->modifyHelp( $help, $options );
+ $module->modifyHelp( $help, $suboptions, $haveModules );
- Hooks::run( 'APIHelpModifyOutput', array( $module, &$help, $options ) );
+ Hooks::run( 'APIHelpModifyOutput', array( $module, &$help, $suboptions, &$haveModules ) );
$out .= join( "\n", $help );
}
diff --git a/includes/api/ApiImageRotate.php b/includes/api/ApiImageRotate.php
index 865d39fa..7a544ec0 100644
--- a/includes/api/ApiImageRotate.php
+++ b/includes/api/ApiImageRotate.php
@@ -49,6 +49,8 @@ class ApiImageRotate extends ApiBase {
}
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$params = $this->extractRequestParams();
$rotation = $params['rotation'];
@@ -60,7 +62,7 @@ class ApiImageRotate extends ApiBase {
$result = array();
- self::addValues( $result, $pageSet->getInvalidTitles(), 'invalid', 'title' );
+ self::addValues( $result, $pageSet->getInvalidTitlesAndReasons(), 'invalid' );
self::addValues( $result, $pageSet->getSpecialTitles(), 'special', 'title' );
self::addValues( $result, $pageSet->getMissingPageIDs(), 'missing', 'pageid' );
self::addValues( $result, $pageSet->getMissingRevisionIDs(), 'missing', 'revid' );
diff --git a/includes/api/ApiImport.php b/includes/api/ApiImport.php
index 2e87d22d..735cc7fa 100644
--- a/includes/api/ApiImport.php
+++ b/includes/api/ApiImport.php
@@ -32,9 +32,13 @@
class ApiImport extends ApiBase {
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$user = $this->getUser();
$params = $this->extractRequestParams();
+ $this->requireMaxOneParameter( $params, 'namespace', 'rootpage' );
+
$isUpload = false;
if ( isset( $params['interwikisource'] ) ) {
if ( !$user->isAllowed( 'import' ) ) {
@@ -63,8 +67,7 @@ class ApiImport extends ApiBase {
$importer = new WikiImporter( $source->value, $this->getConfig() );
if ( isset( $params['namespace'] ) ) {
$importer->setTargetNamespace( $params['namespace'] );
- }
- if ( isset( $params['rootpage'] ) ) {
+ } elseif ( isset( $params['rootpage'] ) ) {
$statusRootPage = $importer->setTargetRootPage( $params['rootpage'] );
if ( !$statusRootPage->isGood() ) {
$this->dieStatus( $statusRootPage );
diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php
index 5480d940..c66e2156 100644
--- a/includes/api/ApiLogin.php
+++ b/includes/api/ApiLogin.php
@@ -24,6 +24,7 @@
*
* @file
*/
+use MediaWiki\Logger\LoggerFactory;
/**
* Unit to authenticate log-in attempts to the current wiki.
@@ -144,6 +145,10 @@ class ApiLogin extends ApiBase {
case LoginForm::CREATE_BLOCKED:
$result['result'] = 'CreateBlocked';
$result['details'] = 'Your IP address is blocked from account creation';
+ $block = $context->getUser()->getBlock();
+ if ( $block ) {
+ $result = array_merge( $result, ApiQueryUserInfo::getBlockInfo( $block ) );
+ }
break;
case LoginForm::THROTTLED:
@@ -154,6 +159,10 @@ class ApiLogin extends ApiBase {
case LoginForm::USER_BLOCKED:
$result['result'] = 'Blocked';
+ $block = User::newFromName( $params['name'] )->getBlock();
+ if ( $block ) {
+ $result = array_merge( $result, ApiQueryUserInfo::getBlockInfo( $block ) );
+ }
break;
case LoginForm::ABORTED:
@@ -166,6 +175,12 @@ class ApiLogin extends ApiBase {
}
$this->getResult()->addValue( null, 'login', $result );
+
+ LoggerFactory::getInstance( 'authmanager' )->info( 'Login attempt', array(
+ 'event' => 'login',
+ 'successful' => $authRes === LoginForm::SUCCESS,
+ 'status' => LoginForm::$statusCodes[$authRes],
+ ) );
}
public function mustBePosted() {
@@ -179,7 +194,9 @@ class ApiLogin extends ApiBase {
public function getAllowedParams() {
return array(
'name' => null,
- 'password' => null,
+ 'password' => array(
+ ApiBase::PARAM_TYPE => 'password',
+ ),
'domain' => null,
'token' => null,
);
diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php
index 3bf066cf..d943c86b 100644
--- a/includes/api/ApiMain.php
+++ b/includes/api/ApiMain.php
@@ -100,8 +100,6 @@ class ApiMain extends ApiBase {
'jsonfm' => 'ApiFormatJson',
'php' => 'ApiFormatPhp',
'phpfm' => 'ApiFormatPhp',
- 'wddx' => 'ApiFormatWddx',
- 'wddxfm' => 'ApiFormatWddx',
'xml' => 'ApiFormatXml',
'xmlfm' => 'ApiFormatXml',
'yaml' => 'ApiFormatYaml',
@@ -111,8 +109,6 @@ class ApiMain extends ApiBase {
'txtfm' => 'ApiFormatTxt',
'dbg' => 'ApiFormatDbg',
'dbgfm' => 'ApiFormatDbg',
- 'dump' => 'ApiFormatDump',
- 'dumpfm' => 'ApiFormatDump',
'none' => 'ApiFormatNone',
);
@@ -429,13 +425,16 @@ class ApiMain extends ApiBase {
// In case an error occurs during data output,
// clear the output buffer and print just the error information
+ $obLevel = ob_get_level();
ob_start();
$t = microtime( true );
try {
$this->executeAction();
+ $isError = false;
} catch ( Exception $e ) {
$this->handleException( $e );
+ $isError = true;
}
// Log the request whether or not there was an error
@@ -443,9 +442,13 @@ class ApiMain extends ApiBase {
// Send cache headers after any code which might generate an error, to
// avoid sending public cache headers for errors.
- $this->sendCacheHeaders();
+ $this->sendCacheHeaders( $isError );
- ob_end_flush();
+ // Executing the action might have already messed with the output
+ // buffers.
+ while ( ob_get_level() > $obLevel ) {
+ ob_end_flush();
+ }
}
/**
@@ -536,7 +539,7 @@ class ApiMain extends ApiBase {
// Log the request and reset cache headers
$main->logRequest( 0 );
- $main->sendCacheHeaders();
+ $main->sendCacheHeaders( true );
ob_end_flush();
}
@@ -577,8 +580,7 @@ class ApiMain extends ApiBase {
if ( !in_array( $originParam, $origins ) ) {
// origin parameter set but incorrect
// Send a 403 response
- $message = HttpStatus::getMessage( 403 );
- $response->header( "HTTP/1.1 403 $message", true, 403 );
+ $response->statusHeader( 403 );
$response->header( 'Cache-Control: no-cache' );
echo "'origin' parameter does not match Origin header\n";
@@ -706,7 +708,12 @@ class ApiMain extends ApiBase {
return "/^https?:\/\/$wildcard$/";
}
- protected function sendCacheHeaders() {
+ /**
+ * Send caching headers
+ * @param boolean $isError Whether an error response is being output
+ * @since 1.26 added $isError parameter
+ */
+ protected function sendCacheHeaders( $isError ) {
$response = $this->getRequest()->response();
$out = $this->getOutput();
@@ -716,6 +723,19 @@ class ApiMain extends ApiBase {
$out->addVaryHeader( 'X-Forwarded-Proto' );
}
+ if ( !$isError && $this->mModule &&
+ ( $this->getRequest()->getMethod() === 'GET' || $this->getRequest()->getMethod() === 'HEAD' )
+ ) {
+ $etag = $this->mModule->getConditionalRequestData( 'etag' );
+ if ( $etag !== null ) {
+ $response->header( "ETag: $etag" );
+ }
+ $lastMod = $this->mModule->getConditionalRequestData( 'last-modified' );
+ if ( $lastMod !== null ) {
+ $response->header( 'Last-Modified: ' . wfTimestamp( TS_RFC2822, $lastMod ) );
+ }
+ }
+
// The logic should be:
// $this->mCacheControl['max-age'] is set?
// Use it, the module knows better than our guess.
@@ -999,6 +1019,121 @@ class ApiMain extends ApiBase {
}
/**
+ * Check selected RFC 7232 precondition headers
+ *
+ * RFC 7232 envisions a particular model where you send your request to "a
+ * resource", and for write requests that you can read "the resource" by
+ * changing the method to GET. When the API receives a GET request, it
+ * works out even though "the resource" from RFC 7232's perspective might
+ * be many resources from MediaWiki's perspective. But it totally fails for
+ * a POST, since what HTTP sees as "the resource" is probably just
+ * "/api.php" with all the interesting bits in the body.
+ *
+ * Therefore, we only support RFC 7232 precondition headers for GET (and
+ * HEAD). That means we don't need to bother with If-Match and
+ * If-Unmodified-Since since they only apply to modification requests.
+ *
+ * And since we don't support Range, If-Range is ignored too.
+ *
+ * @since 1.26
+ * @param ApiBase $module Api module being used
+ * @return bool True on success, false should exit immediately
+ */
+ protected function checkConditionalRequestHeaders( $module ) {
+ if ( $this->mInternalMode ) {
+ // No headers to check in internal mode
+ return true;
+ }
+
+ if ( $this->getRequest()->getMethod() !== 'GET' && $this->getRequest()->getMethod() !== 'HEAD' ) {
+ // Don't check POSTs
+ return true;
+ }
+
+ $return304 = false;
+
+ $ifNoneMatch = array_diff(
+ $this->getRequest()->getHeader( 'If-None-Match', WebRequest::GETHEADER_LIST ) ?: array(),
+ array( '' )
+ );
+ if ( $ifNoneMatch ) {
+ if ( $ifNoneMatch === array( '*' ) ) {
+ // API responses always "exist"
+ $etag = '*';
+ } else {
+ $etag = $module->getConditionalRequestData( 'etag' );
+ }
+ }
+ if ( $ifNoneMatch && $etag !== null ) {
+ $test = substr( $etag, 0, 2 ) === 'W/' ? substr( $etag, 2 ) : $etag;
+ $match = array_map( function ( $s ) {
+ return substr( $s, 0, 2 ) === 'W/' ? substr( $s, 2 ) : $s;
+ }, $ifNoneMatch );
+ $return304 = in_array( $test, $match, true );
+ } else {
+ $value = trim( $this->getRequest()->getHeader( 'If-Modified-Since' ) );
+
+ // Some old browsers sends sizes after the date, like this:
+ // Wed, 20 Aug 2003 06:51:19 GMT; length=5202
+ // Ignore that.
+ $i = strpos( $value, ';' );
+ if ( $i !== false ) {
+ $value = trim( substr( $value, 0, $i ) );
+ }
+
+ if ( $value !== '' ) {
+ try {
+ $ts = new MWTimestamp( $value );
+ if (
+ // RFC 7231 IMF-fixdate
+ $ts->getTimestamp( TS_RFC2822 ) === $value ||
+ // RFC 850
+ $ts->format( 'l, d-M-y H:i:s' ) . ' GMT' === $value ||
+ // asctime (with and without space-padded day)
+ $ts->format( 'D M j H:i:s Y' ) === $value ||
+ $ts->format( 'D M j H:i:s Y' ) === $value
+ ) {
+ $lastMod = $module->getConditionalRequestData( 'last-modified' );
+ if ( $lastMod !== null ) {
+ // Mix in some MediaWiki modification times
+ $modifiedTimes = array(
+ 'page' => $lastMod,
+ 'user' => $this->getUser()->getTouched(),
+ 'epoch' => $this->getConfig()->get( 'CacheEpoch' ),
+ );
+ if ( $this->getConfig()->get( 'UseSquid' ) ) {
+ // T46570: the core page itself may not change, but resources might
+ $modifiedTimes['sepoch'] = wfTimestamp(
+ TS_MW, time() - $this->getConfig()->get( 'SquidMaxage' )
+ );
+ }
+ Hooks::run( 'OutputPageCheckLastModified', array( &$modifiedTimes ) );
+ $lastMod = max( $modifiedTimes );
+ $return304 = wfTimestamp( TS_MW, $lastMod ) <= $ts->getTimestamp( TS_MW );
+ }
+ }
+ } catch ( TimestampException $e ) {
+ // Invalid timestamp, ignore it
+ }
+ }
+ }
+
+ if ( $return304 ) {
+ $this->getRequest()->response()->statusHeader( 304 );
+
+ // Avoid outputting the compressed representation of a zero-length body
+ MediaWiki\suppressWarnings();
+ ini_set( 'zlib.output_compression', 0 );
+ MediaWiki\restoreWarnings();
+ wfClearOutputBuffers();
+
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
* Check for sufficient permissions to execute
* @param ApiBase $module An Api module
*/
@@ -1068,10 +1203,6 @@ class ApiMain extends ApiBase {
// Create an appropriate printer
$this->mPrinter = $this->createPrinterByName( $params['format'] );
}
-
- if ( $this->mPrinter->getNeedsRawData() ) {
- $this->getResult()->setRawMode();
- }
}
/**
@@ -1088,6 +1219,10 @@ class ApiMain extends ApiBase {
return;
}
+ if ( !$this->checkConditionalRequestHeaders( $module ) ) {
+ return;
+ }
+
if ( !$this->mInternalMode ) {
$this->setupExternalResponse( $module, $params );
}
@@ -1307,7 +1442,7 @@ class ApiMain extends ApiBase {
);
}
- public function modifyHelp( array &$help, array $options ) {
+ public function modifyHelp( array &$help, array $options, array &$tocData ) {
// Wish PHP had an "array_insert_before". Instead, we have to manually
// reindex the array to get 'permissions' in the right place.
$oldHelp = $help;
@@ -1318,6 +1453,7 @@ class ApiMain extends ApiBase {
}
$help[$k] = $v;
}
+ $help['datatypes'] = '';
$help['credits'] = '';
// Fill 'permissions'
@@ -1350,13 +1486,48 @@ class ApiMain extends ApiBase {
$help['permissions'] .= Html::closeElement( 'dl' );
$help['permissions'] .= Html::closeElement( 'div' );
- // Fill 'credits', if applicable
+ // Fill 'datatypes' and 'credits', if applicable
if ( empty( $options['nolead'] ) ) {
- $help['credits'] .= Html::element( 'h' . min( 6, $options['headerlevel'] + 1 ),
- array( 'id' => '+credits', 'class' => 'apihelp-header' ),
- $this->msg( 'api-credits-header' )->parse()
+ $level = $options['headerlevel'];
+ $tocnumber = &$options['tocnumber'];
+
+ $header = $this->msg( 'api-help-datatypes-header' )->parse();
+ $help['datatypes'] .= Html::rawelement( 'h' . min( 6, $level ),
+ array( 'id' => 'main/datatypes', 'class' => 'apihelp-header' ),
+ Html::element( 'span', array( 'id' => Sanitizer::escapeId( 'main/datatypes' ) ) ) .
+ $header
+ );
+ $help['datatypes'] .= $this->msg( 'api-help-datatypes' )->parseAsBlock();
+ if ( !isset( $tocData['main/datatypes'] ) ) {
+ $tocnumber[$level]++;
+ $tocData['main/datatypes'] = array(
+ 'toclevel' => count( $tocnumber ),
+ 'level' => $level,
+ 'anchor' => 'main/datatypes',
+ 'line' => $header,
+ 'number' => join( '.', $tocnumber ),
+ 'index' => false,
+ );
+ }
+
+ $header = $this->msg( 'api-credits-header' )->parse();
+ $help['credits'] .= Html::rawelement( 'h' . min( 6, $level ),
+ array( 'id' => 'main/credits', 'class' => 'apihelp-header' ),
+ Html::element( 'span', array( 'id' => Sanitizer::escapeId( 'main/credits' ) ) ) .
+ $header
);
$help['credits'] .= $this->msg( 'api-credits' )->useDatabase( false )->parseAsBlock();
+ if ( !isset( $tocData['main/credits'] ) ) {
+ $tocnumber[$level]++;
+ $tocData['main/credits'] = array(
+ 'toclevel' => count( $tocnumber ),
+ 'level' => $level,
+ 'anchor' => 'main/credits',
+ 'line' => $header,
+ 'number' => join( '.', $tocnumber ),
+ 'index' => false,
+ );
+ }
}
}
diff --git a/includes/api/ApiMessage.php b/includes/api/ApiMessage.php
index 6717c390..db826a68 100644
--- a/includes/api/ApiMessage.php
+++ b/includes/api/ApiMessage.php
@@ -132,6 +132,21 @@ class ApiMessage extends Message implements IApiMessage {
public function setApiData( array $data ) {
$this->apiData = $data;
}
+
+ public function serialize() {
+ return serialize( array(
+ 'parent' => parent::serialize(),
+ 'apiCode' => $this->apiCode,
+ 'apiData' => $this->apiData,
+ ) );
+ }
+
+ public function unserialize( $serialized ) {
+ $data = unserialize( $serialized );
+ parent::unserialize( $data['parent'] );
+ $this->apiCode = $data['apiCode'];
+ $this->apiData = $data['apiData'];
+ }
}
/**
@@ -188,4 +203,19 @@ class ApiRawMessage extends RawMessage implements IApiMessage {
public function setApiData( array $data ) {
$this->apiData = $data;
}
+
+ public function serialize() {
+ return serialize( array(
+ 'parent' => parent::serialize(),
+ 'apiCode' => $this->apiCode,
+ 'apiData' => $this->apiData,
+ ) );
+ }
+
+ public function unserialize( $serialized ) {
+ $data = unserialize( $serialized );
+ parent::unserialize( $data['parent'] );
+ $this->apiCode = $data['apiCode'];
+ $this->apiData = $data['apiData'];
+ }
}
diff --git a/includes/api/ApiMove.php b/includes/api/ApiMove.php
index e42958bf..aca43784 100644
--- a/includes/api/ApiMove.php
+++ b/includes/api/ApiMove.php
@@ -31,6 +31,8 @@
class ApiMove extends ApiBase {
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$user = $this->getUser();
$params = $this->extractRequestParams();
diff --git a/includes/api/ApiOptions.php b/includes/api/ApiOptions.php
index 8ef06299..a62bcb6d 100644
--- a/includes/api/ApiOptions.php
+++ b/includes/api/ApiOptions.php
@@ -52,6 +52,14 @@ class ApiOptions extends ApiBase {
$this->dieUsageMsg( array( 'missingparam', 'optionname' ) );
}
+ // Load the user from the master to reduce CAS errors on double post (T95839)
+ if ( wfGetLB()->getServerCount() > 1 ) {
+ $user = User::newFromId( $user->getId() );
+ if ( !$user->loadFromId( User::READ_LATEST ) ) {
+ $this->dieUsage( 'Anonymous users cannot change preferences', 'notloggedin' );
+ }
+ }
+
if ( $params['reset'] ) {
$user->resetOptions( $params['resetkinds'], $this->getContext() );
$changed = true;
@@ -75,11 +83,17 @@ class ApiOptions extends ApiBase {
$prefs = Preferences::getPreferences( $user, $this->getContext() );
$prefsKinds = $user->getOptionKinds( $this->getContext(), $changes );
+ $htmlForm = null;
foreach ( $changes as $key => $value ) {
switch ( $prefsKinds[$key] ) {
case 'registered':
// Regular option.
+ if ( $htmlForm === null ) {
+ // We need a dummy HTMLForm for the validate callback...
+ $htmlForm = new HTMLForm( array(), $this );
+ }
$field = HTMLForm::loadInputFromParameters( $key, $prefs[$key] );
+ $field->mParent = $htmlForm;
$validation = $field->validate( $value, $user->getOptions() );
break;
case 'registered-multiselect':
diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php
index e6f218d6..1415b794 100644
--- a/includes/api/ApiPageSet.php
+++ b/includes/api/ApiPageSet.php
@@ -58,7 +58,7 @@ class ApiPageSet extends ApiBase {
private $mGoodTitles = array();
private $mMissingPages = array(); // [ns][dbkey] => fake page_id
private $mMissingTitles = array();
- private $mInvalidTitles = array();
+ private $mInvalidTitles = array(); // [fake_page_id] => array( 'title' => $title, 'invalidreason' => $reason )
private $mMissingPageIDs = array();
private $mRedirectTitles = array();
private $mSpecialTitles = array();
@@ -66,6 +66,7 @@ class ApiPageSet extends ApiBase {
private $mInterwikiTitles = array();
/** @var Title[] */
private $mPendingRedirectIDs = array();
+ private $mResolvedRedirectTitles = array();
private $mConvertedTitles = array();
private $mGoodRevIDs = array();
private $mLiveRevIDs = array();
@@ -396,9 +397,22 @@ class ApiPageSet extends ApiBase {
/**
* Titles that were deemed invalid by Title::newFromText()
* The array's index will be unique and negative for each item
+ * @deprecated since 1.26, use self::getInvalidTitlesAndReasons()
* @return string[] Array of strings (not Title objects)
*/
public function getInvalidTitles() {
+ wfDeprecated( __METHOD__, '1.26' );
+ return array_map( function ( $t ) {
+ return $t['title'];
+ }, $this->mInvalidTitles );
+ }
+
+ /**
+ * Titles that were deemed invalid by Title::newFromText()
+ * The array's index will be unique and negative for each item
+ * @return array[] Array of arrays with 'title' and 'invalidreason' properties
+ */
+ public function getInvalidTitlesAndReasons() {
return $this->mInvalidTitles;
}
@@ -421,7 +435,7 @@ class ApiPageSet extends ApiBase {
/**
* Get a list of redirect resolutions - maps a title to its redirect
- * target.
+ * target. Includes generator data for redirect source when available.
* @param ApiResult $result
* @return array Array of prefixed_title (string) => Title object
* @since 1.21
@@ -439,6 +453,15 @@ class ApiPageSet extends ApiBase {
if ( $titleTo->isExternal() ) {
$r['tointerwiki'] = $titleTo->getInterwiki();
}
+ if ( isset( $this->mResolvedRedirectTitles[$titleStrFrom] ) ) {
+ $titleFrom = $this->mResolvedRedirectTitles[$titleStrFrom];
+ $ns = $titleFrom->getNamespace();
+ $dbkey = $titleFrom->getDBkey();
+ if ( isset( $this->mGeneratorData[$ns][$dbkey] ) ) {
+ $r = array_merge( $this->mGeneratorData[$ns][$dbkey], $r );
+ }
+ }
+
$values[] = $r;
}
if ( !empty( $values ) && $result ) {
@@ -552,7 +575,7 @@ class ApiPageSet extends ApiBase {
*
* @param array $invalidChecks List of types of invalid titles to include.
* Recognized values are:
- * - invalidTitles: Titles from $this->getInvalidTitles()
+ * - invalidTitles: Titles and reasons from $this->getInvalidTitlesAndReasons()
* - special: Titles from $this->getSpecialTitles()
* - missingIds: ids from $this->getMissingPageIDs()
* - missingRevIds: ids from $this->getMissingRevisionIDs()
@@ -566,7 +589,7 @@ class ApiPageSet extends ApiBase {
) {
$result = array();
if ( in_array( "invalidTitles", $invalidChecks ) ) {
- self::addValues( $result, $this->getInvalidTitles(), 'invalid', 'title' );
+ self::addValues( $result, $this->getInvalidTitlesAndReasons(), 'invalid' );
}
if ( in_array( "special", $invalidChecks ) ) {
self::addValues( $result, $this->getSpecialTitles(), 'special', 'title' );
@@ -1017,6 +1040,7 @@ class ApiPageSet extends ApiBase {
$row->rd_fragment,
$row->rd_interwiki
);
+ $this->mResolvedRedirectTitles[$from] = $this->mPendingRedirectIDs[$rdfrom];
unset( $this->mPendingRedirectIDs[$rdfrom] );
if ( $to->isExternal() ) {
$this->mInterwikiTitles[$to->getPrefixedText()] = $to->getInterwiki();
@@ -1037,7 +1061,9 @@ class ApiPageSet extends ApiBase {
continue;
}
$lb->addObj( $rt );
- $this->mRedirectTitles[$title->getPrefixedText()] = $rt;
+ $from = $title->getPrefixedText();
+ $this->mResolvedRedirectTitles[$from] = $title;
+ $this->mRedirectTitles[$from] = $rt;
unset( $this->mPendingRedirectIDs[$id] );
}
}
@@ -1077,17 +1103,21 @@ class ApiPageSet extends ApiBase {
foreach ( $titles as $title ) {
if ( is_string( $title ) ) {
- $titleObj = Title::newFromText( $title, $this->mDefaultNamespace );
+ try {
+ $titleObj = Title::newFromTextThrow( $title, $this->mDefaultNamespace );
+ } catch ( MalformedTitleException $ex ) {
+ // Handle invalid titles gracefully
+ $this->mAllPages[0][$title] = $this->mFakePageId;
+ $this->mInvalidTitles[$this->mFakePageId] = array(
+ 'title' => $title,
+ 'invalidreason' => $ex->getMessage(),
+ );
+ $this->mFakePageId--;
+ continue; // There's nothing else we can do
+ }
} else {
$titleObj = $title;
}
- if ( !$titleObj ) {
- // Handle invalid titles gracefully
- $this->mAllPages[0][$title] = $this->mFakePageId;
- $this->mInvalidTitles[$this->mFakePageId] = $title;
- $this->mFakePageId--;
- continue; // There's nothing else we can do
- }
$unconvertedTitle = $titleObj->getPrefixedText();
$titleWasConverted = false;
if ( $titleObj->isExternal() ) {
@@ -1287,8 +1317,8 @@ class ApiPageSet extends ApiBase {
),
'generator' => array(
ApiBase::PARAM_TYPE => null,
- ApiBase::PARAM_VALUE_LINKS => array(),
ApiBase::PARAM_HELP_MSG => 'api-pageset-param-generator',
+ ApiBase::PARAM_SUBMODULE_PARAM_PREFIX => 'g',
),
'redirects' => array(
ApiBase::PARAM_DFLT => false,
@@ -1314,10 +1344,8 @@ class ApiPageSet extends ApiBase {
if ( !$this->mAllowGenerator ) {
unset( $result['generator'] );
} elseif ( $flags & ApiBase::GET_VALUES_FOR_HELP ) {
- foreach ( $this->getGenerators() as $g ) {
- $result['generator'][ApiBase::PARAM_TYPE][] = $g;
- $result['generator'][ApiBase::PARAM_VALUE_LINKS][$g] = "Special:ApiHelp/query+$g";
- }
+ $result['generator'][ApiBase::PARAM_TYPE] = 'submodule';
+ $result['generator'][ApiBase::PARAM_SUBMODULE_MAP] = $this->getGenerators();
}
return $result;
@@ -1338,13 +1366,14 @@ class ApiPageSet extends ApiBase {
$query = $this->getMain()->getModuleManager()->getModule( 'query' );
}
$gens = array();
+ $prefix = $query->getModulePath() . '+';
$mgr = $query->getModuleManager();
foreach ( $mgr->getNamesWithClasses() as $name => $class ) {
if ( is_subclass_of( $class, 'ApiQueryGeneratorBase' ) ) {
- $gens[] = $name;
+ $gens[$name] = $prefix . $name;
}
}
- sort( $gens );
+ ksort( $gens );
self::$generators = $gens;
}
diff --git a/includes/api/ApiParamInfo.php b/includes/api/ApiParamInfo.php
index 4dcaf78e..2ab37ad1 100644
--- a/includes/api/ApiParamInfo.php
+++ b/includes/api/ApiParamInfo.php
@@ -195,6 +195,24 @@ class ApiParamInfo extends ApiBase {
}
$ret['prefix'] = $module->getModulePrefix();
+ $sourceInfo = $module->getModuleSourceInfo();
+ if ( $sourceInfo ) {
+ $ret['source'] = $sourceInfo['name'];
+ if ( isset( $sourceInfo['namemsg'] ) ) {
+ $ret['sourcename'] = $this->context->msg( $sourceInfo['namemsg'] )->text();
+ } else {
+ $ret['sourcename'] = $ret['source'];
+ }
+
+ $link = SpecialPage::getTitleFor( 'Version', 'License/' . $sourceInfo['name'] )->getFullUrl();
+ if ( isset( $sourceInfo['license-name'] ) ) {
+ $ret['licensetag'] = $sourceInfo['license-name'];
+ $ret['licenselink'] = (string)$link;
+ } elseif ( SpecialVersion::getExtLicenseFileName( dirname( $sourceInfo['path'] ) ) ) {
+ $ret['licenselink'] = (string)$link;
+ }
+ }
+
$this->formatHelpMessages( $ret, 'description', $module->getFinalDescription() );
foreach ( $module->getHelpFlags() as $flag ) {
@@ -273,14 +291,20 @@ class ApiParamInfo extends ApiBase {
if ( isset( $settings[ApiBase::PARAM_DFLT] ) ) {
switch ( $settings[ApiBase::PARAM_TYPE] ) {
case 'boolean':
- $item['default'] = ( $settings[ApiBase::PARAM_DFLT] ? 'true' : 'false' );
+ $item['default'] = (bool)$settings[ApiBase::PARAM_DFLT];
break;
case 'string':
+ case 'text':
+ case 'password':
$item['default'] = strval( $settings[ApiBase::PARAM_DFLT] );
break;
case 'integer':
+ case 'limit':
$item['default'] = intval( $settings[ApiBase::PARAM_DFLT] );
break;
+ case 'timestamp':
+ $item['default'] = wfTimestamp( TS_ISO_8601, $settings[ApiBase::PARAM_DFLT] );
+ break;
default:
$item['default'] = $settings[ApiBase::PARAM_DFLT];
break;
@@ -302,9 +326,23 @@ class ApiParamInfo extends ApiBase {
if ( isset( $settings[ApiBase::PARAM_TYPE] ) ) {
if ( $settings[ApiBase::PARAM_TYPE] === 'submodule' ) {
- $item['type'] = $module->getModuleManager()->getNames( $name );
- sort( $item['type'] );
- $item['submodules'] = true;
+ if ( isset( $settings[ApiBase::PARAM_SUBMODULE_MAP] ) ) {
+ ksort( $settings[ApiBase::PARAM_SUBMODULE_MAP] );
+ $item['type'] = array_keys( $settings[ApiBase::PARAM_SUBMODULE_MAP] );
+ $item['submodules'] = $settings[ApiBase::PARAM_SUBMODULE_MAP];
+ } else {
+ $item['type'] = $module->getModuleManager()->getNames( $name );
+ sort( $item['type'] );
+ $prefix = $module->isMain()
+ ? '' : ( $module->getModulePath() . '+' );
+ $item['submodules'] = array();
+ foreach ( $item['type'] as $v ) {
+ $item['submodules'][$v] = $prefix . $v;
+ }
+ }
+ if ( isset( $settings[ApiBase::PARAM_SUBMODULE_PARAM_PREFIX] ) ) {
+ $item['submoduleparamprefix'] = $settings[ApiBase::PARAM_SUBMODULE_PARAM_PREFIX];
+ }
} else {
$item['type'] = $settings[ApiBase::PARAM_TYPE];
}
@@ -323,6 +361,9 @@ class ApiParamInfo extends ApiBase {
if ( isset( $settings[ApiBase::PARAM_MIN] ) ) {
$item['min'] = $settings[ApiBase::PARAM_MIN];
}
+ if ( !empty( $settings[ApiBase::PARAM_RANGE_ENFORCE] ) ) {
+ $item['enforcerange'] = true;
+ }
if ( !empty( $settings[ApiBase::PARAM_HELP_MSG_INFO] ) ) {
$item['info'] = array();
diff --git a/includes/api/ApiParse.php b/includes/api/ApiParse.php
index 1b5e2658..cce85723 100644
--- a/includes/api/ApiParse.php
+++ b/includes/api/ApiParse.php
@@ -71,7 +71,9 @@ class ApiParse extends ApiBase {
if ( isset( $params['section'] ) ) {
$this->section = $params['section'];
if ( !preg_match( '/^((T-)?\d+|new)$/', $this->section ) ) {
- $this->dieUsage( "The section parameter must be a valid section id or 'new'", "invalidsection" );
+ $this->dieUsage(
+ "The section parameter must be a valid section id or 'new'", "invalidsection"
+ );
}
} else {
$this->section = false;
@@ -89,7 +91,10 @@ class ApiParse extends ApiBase {
if ( !is_null( $oldid ) || !is_null( $pageid ) || !is_null( $page ) ) {
if ( $this->section === 'new' ) {
- $this->dieUsage( 'section=new cannot be combined with oldid, pageid or page parameters. Please use text', 'params' );
+ $this->dieUsage(
+ 'section=new cannot be combined with oldid, pageid or page parameters. ' .
+ 'Please use text', 'params'
+ );
}
if ( !is_null( $oldid ) ) {
// Don't use the parser cache
@@ -107,7 +112,10 @@ class ApiParse extends ApiBase {
$popts = $this->makeParserOptions( $pageObj, $params );
// If for some reason the "oldid" is actually the current revision, it may be cached
- if ( $rev->isCurrent() ) {
+ // Deliberately comparing $pageObj->getLatest() with $rev->getId(), rather than
+ // checking $rev->isCurrent(), because $pageObj is what actually ends up being used,
+ // and if its ->getLatest() is outdated, $rev->isCurrent() won't tell us that.
+ if ( $rev->getId() == $pageObj->getLatest() ) {
// May get from/save to parser cache
$p_result = $this->getParsedContent( $pageObj, $popts,
$pageid, isset( $prop['wikitext'] ) );
@@ -161,9 +169,24 @@ class ApiParse extends ApiBase {
$popts = $this->makeParserOptions( $pageObj, $params );
- // Potentially cached
- $p_result = $this->getParsedContent( $pageObj, $popts, $pageid,
- isset( $prop['wikitext'] ) );
+ // Don't pollute the parser cache when setting options that aren't
+ // in ParserOptions::optionsHash()
+ /// @todo: This should be handled closer to the actual cache instead of here, see T110269
+ $suppressCache =
+ $params['disablepp'] ||
+ $params['disablelimitreport'] ||
+ $params['preview'] ||
+ $params['sectionpreview'] ||
+ $params['disabletidy'];
+
+ if ( $suppressCache ) {
+ $this->content = $this->getContent( $pageObj, $pageid );
+ $p_result = $this->content->getParserOutput( $titleObj, null, $popts );
+ } else {
+ // Potentially cached
+ $p_result = $this->getParsedContent( $pageObj, $popts, $pageid,
+ isset( $prop['wikitext'] ) );
+ }
}
} else { // Not $oldid, $pageid, $page. Hence based on $text
$titleObj = Title::newFromText( $title );
@@ -252,6 +275,7 @@ class ApiParse extends ApiBase {
$result_array = array();
$result_array['title'] = $titleObj->getPrefixedText();
+ $result_array['pageid'] = $pageid ? $pageid : $pageObj->getId();
if ( !is_null( $oldid ) ) {
$result_array['revid'] = intval( $oldid );
@@ -347,7 +371,28 @@ class ApiParse extends ApiBase {
$result_array['modules'] = array_values( array_unique( $p_result->getModules() ) );
$result_array['modulescripts'] = array_values( array_unique( $p_result->getModuleScripts() ) );
$result_array['modulestyles'] = array_values( array_unique( $p_result->getModuleStyles() ) );
- $result_array['modulemessages'] = array_values( array_unique( $p_result->getModuleMessages() ) );
+ // To be removed in 1.27
+ $result_array['modulemessages'] = array();
+ $this->setWarning( 'modulemessages is deprecated since MediaWiki 1.26' );
+ }
+
+ if ( isset( $prop['jsconfigvars'] ) ) {
+ $result_array['jsconfigvars'] =
+ ApiResult::addMetadataToResultVars( $p_result->getJsConfigVars() );
+ }
+
+ if ( isset( $prop['encodedjsconfigvars'] ) ) {
+ $result_array['encodedjsconfigvars'] = FormatJson::encode(
+ $p_result->getJsConfigVars(), false, FormatJson::ALL_OK
+ );
+ $result_array[ApiResult::META_SUBELEMENTS][] = 'encodedjsconfigvars';
+ }
+
+ if ( isset( $prop['modules'] ) &&
+ !isset( $prop['jsconfigvars'] ) && !isset( $prop['encodedjsconfigvars'] ) ) {
+ $this->setWarning( "Property 'modules' was set but not 'jsconfigvars' " .
+ "or 'encodedjsconfigvars'. Configuration variables are necessary " .
+ "for proper module usage." );
}
if ( isset( $prop['indicators'] ) ) {
@@ -381,9 +426,12 @@ class ApiParse extends ApiBase {
$result_array[ApiResult::META_BC_SUBELEMENTS][] = 'limitreporthtml';
}
- if ( $params['generatexml'] ) {
+ if ( isset( $prop['parsetree'] ) || $params['generatexml'] ) {
+ if ( !isset( $prop['parsetree'] ) ) {
+ $this->logFeatureUsage( 'action=parse&generatexml' );
+ }
if ( $this->content->getModel() != CONTENT_MODEL_WIKITEXT ) {
- $this->dieUsage( "generatexml is only supported for wikitext content", "notwikitext" );
+ $this->dieUsage( "parsetree is only supported for wikitext content", "notwikitext" );
}
$wgParser->startExternalParse( $titleObj, $popts, Parser::OT_PREPROCESS );
@@ -431,10 +479,13 @@ class ApiParse extends ApiBase {
protected function makeParserOptions( WikiPage $pageObj, array $params ) {
$popts = $pageObj->makeParserOptions( $this->getContext() );
- $popts->enableLimitReport( !$params['disablepp'] );
+ $popts->enableLimitReport( !$params['disablepp'] && !$params['disablelimitreport'] );
$popts->setIsPreview( $params['preview'] || $params['sectionpreview'] );
$popts->setIsSectionPreview( $params['sectionpreview'] );
$popts->setEditSection( !$params['disableeditsection'] );
+ if ( $params['disabletidy'] ) {
+ $popts->setTidy( false );
+ }
return $popts;
}
@@ -447,14 +498,9 @@ class ApiParse extends ApiBase {
* @return ParserOutput
*/
private function getParsedContent( WikiPage $page, $popts, $pageId = null, $getWikitext = false ) {
- $this->content = $page->getContent( Revision::RAW ); //XXX: really raw?
+ $this->content = $this->getContent( $page, $pageId );
if ( $this->section !== false && $this->content !== null ) {
- $this->content = $this->getSectionContent(
- $this->content,
- !is_null( $pageId ) ? 'page id ' . $pageId : $page->getTitle()->getPrefixedText()
- );
-
// Not cached (save or load)
return $this->content->getParserOutput( $page->getTitle(), null, $popts );
}
@@ -473,6 +519,27 @@ class ApiParse extends ApiBase {
}
/**
+ * Get the content for the given page and the requested section.
+ *
+ * @param WikiPage $page
+ * @param int $pageId
+ * @return Content
+ */
+ private function getContent( WikiPage $page, $pageId = null ) {
+ $content = $page->getContent( Revision::RAW ); //XXX: really raw?
+
+ if ( $this->section !== false && $content !== null ) {
+ $content = $this->getSectionContent(
+ $content,
+ !is_null( $pageId ) ? 'page id ' . $pageId : $page->getTitle()->getPrefixedText()
+ );
+ }
+ return $content;
+ }
+
+ /**
+ * Extract the requested section from the given Content
+ *
* @param Content $content
* @param string $what Identifies the content in error messages, e.g. page title.
* @return Content|bool
@@ -504,12 +571,13 @@ class ApiParse extends ApiBase {
$sectionTitle = !is_null( $params['sectiontitle'] ) ? $params['sectiontitle'] : '';
if ( $this->section === 'new' && ( $sectionTitle === '' || $summary === '' ) ) {
- if( $sectionTitle !== '' ) {
+ if ( $sectionTitle !== '' ) {
$summary = $params['sectiontitle'];
}
if ( $summary !== '' ) {
- $summary = wfMessage( 'newsectionsummary' )->rawParams( $wgParser->stripSectionName( $summary ) )
- ->inContentLanguage()->text();
+ $summary = wfMessage( 'newsectionsummary' )
+ ->rawParams( $wgParser->stripSectionName( $summary ) )
+ ->inContentLanguage()->text();
}
}
return Linker::formatComment( $summary, $title, $this->section === 'new' );
@@ -676,7 +744,9 @@ class ApiParse extends ApiBase {
public function getAllowedParams() {
return array(
'title' => null,
- 'text' => null,
+ 'text' => array(
+ ApiBase::PARAM_TYPE => 'text',
+ ),
'summary' => null,
'page' => null,
'pageid' => array(
@@ -705,13 +775,19 @@ class ApiParse extends ApiBase {
'headitems',
'headhtml',
'modules',
+ 'jsconfigvars',
+ 'encodedjsconfigvars',
'indicators',
'iwlinks',
'wikitext',
'properties',
'limitreportdata',
'limitreporthtml',
- )
+ 'parsetree',
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(
+ 'parsetree' => array( 'apihelp-parse-paramvalue-prop-parsetree', CONTENT_MODEL_WIKITEXT ),
+ ),
),
'pst' => false,
'onlypst' => false,
@@ -720,13 +796,19 @@ class ApiParse extends ApiBase {
'sectiontitle' => array(
ApiBase::PARAM_TYPE => 'string',
),
- 'disablepp' => false,
+ 'disablepp' => array(
+ ApiBase::PARAM_DFLT => false,
+ ApiBase::PARAM_DEPRECATED => true,
+ ),
+ 'disablelimitreport' => false,
'disableeditsection' => false,
+ 'disabletidy' => false,
'generatexml' => array(
ApiBase::PARAM_DFLT => false,
ApiBase::PARAM_HELP_MSG => array(
'apihelp-parse-param-generatexml', CONTENT_MODEL_WIKITEXT
),
+ ApiBase::PARAM_DEPRECATED => true,
),
'preview' => false,
'sectionpreview' => false,
diff --git a/includes/api/ApiProtect.php b/includes/api/ApiProtect.php
index ad028375..c07aaca4 100644
--- a/includes/api/ApiProtect.php
+++ b/includes/api/ApiProtect.php
@@ -29,6 +29,8 @@
*/
class ApiProtect extends ApiBase {
public function execute() {
+ global $wgContLang;
+
$params = $this->extractRequestParams();
$pageObj = $this->getTitleOrPageId( $params, 'fromdbmaster' );
@@ -78,7 +80,7 @@ class ApiProtect extends ApiBase {
}
if ( wfIsInfinity( $expiry[$i] ) ) {
- $expiryarray[$p[0]] = $db->getInfinity();
+ $expiryarray[$p[0]] = 'infinity';
} else {
$exp = strtotime( $expiry[$i] );
if ( $exp < 0 || !$exp ) {
@@ -93,10 +95,7 @@ class ApiProtect extends ApiBase {
}
$resultProtections[] = array(
$p[0] => $protections[$p[0]],
- 'expiry' => ( $expiryarray[$p[0]] == $db->getInfinity()
- ? 'infinite'
- : wfTimestamp( TS_ISO_8601, $expiryarray[$p[0]] )
- )
+ 'expiry' => $wgContLang->formatExpiry( $expiryarray[$p[0]], TS_ISO_8601, 'infinite' ),
);
}
diff --git a/includes/api/ApiQuery.php b/includes/api/ApiQuery.php
index bfe32052..5378e925 100644
--- a/includes/api/ApiQuery.php
+++ b/includes/api/ApiQuery.php
@@ -292,7 +292,7 @@ class ApiQuery extends ApiBase {
// Write the continuation data into the result
$this->setContinuationManager( null );
- if ( $this->mParams['continue'] === null ) {
+ if ( $this->mParams['rawcontinue'] ) {
$data = $continuationManager->getRawContinuation();
if ( $data ) {
$this->getResult()->addValue( null, 'query-continue', $data,
@@ -302,15 +302,14 @@ class ApiQuery extends ApiBase {
$continuationManager->setContinuationIntoResult( $this->getResult() );
}
+ /// @todo: Remove this after a suitable period of time. When REL1_26 is cut, if not before.
if ( $this->mParams['continue'] === null && !$this->mParams['rawcontinue'] &&
- $this->getResult()->getResultData( 'query-continue' ) !== null
+ $this->getResult()->getResultData( 'continue' ) !== null
) {
- $this->logFeatureUsage( 'action=query&!rawcontinue&!continue' );
$this->setWarning(
- 'Formatting of continuation data will be changing soon. ' .
- 'To continue using the current formatting, use the \'rawcontinue\' parameter. ' .
- 'To begin using the new format, pass an empty string for \'continue\' ' .
- 'in the initial query.'
+ 'Formatting of continuation data has changed. ' .
+ 'To receive raw query-continue data, use the \'rawcontinue\' parameter. ' .
+ 'To silence this warning, pass an empty string for \'continue\' in the initial query.'
);
}
}
@@ -407,8 +406,8 @@ class ApiQuery extends ApiBase {
$pages[$fakeId] = $vals;
}
// Report any invalid titles
- foreach ( $pageSet->getInvalidTitles() as $fakeId => $title ) {
- $pages[$fakeId] = array( 'title' => $title, 'invalid' => true );
+ foreach ( $pageSet->getInvalidTitlesAndReasons() as $fakeId => $data ) {
+ $pages[$fakeId] = $data + array( 'invalid' => true );
}
// Report any missing page ids
foreach ( $pageSet->getMissingPageIDs() as $pageid ) {
@@ -485,7 +484,7 @@ class ApiQuery extends ApiBase {
public function setGeneratorContinue( $module, $paramName, $paramValue ) {
wfDeprecated( __METHOD__, '1.24' );
$this->getContinuationManager()->addGeneratorContinueParam( $module, $paramName, $paramValue );
- return $this->getParameter( 'continue' ) !== null;
+ return !$this->getParameter( 'rawcontinue' );
}
/**
@@ -549,7 +548,9 @@ class ApiQuery extends ApiBase {
'export' => false,
'exportnowrap' => false,
'iwurl' => false,
- 'continue' => null,
+ 'continue' => array(
+ ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
+ ),
'rawcontinue' => false,
);
if ( $flags ) {
diff --git a/includes/api/ApiQueryAllCategories.php b/includes/api/ApiQueryAllCategories.php
index cc0b71af..0711c902 100644
--- a/includes/api/ApiQueryAllCategories.php
+++ b/includes/api/ApiQueryAllCategories.php
@@ -186,7 +186,8 @@ class ApiQueryAllCategories extends ApiQueryGeneratorBase {
'prop' => array(
ApiBase::PARAM_TYPE => array( 'size', 'hidden' ),
ApiBase::PARAM_DFLT => '',
- ApiBase::PARAM_ISMULTI => true
+ ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
);
}
diff --git a/includes/api/ApiQueryAllDeletedRevisions.php b/includes/api/ApiQueryAllDeletedRevisions.php
index 4e4d2af7..172ee999 100644
--- a/includes/api/ApiQueryAllDeletedRevisions.php
+++ b/includes/api/ApiQueryAllDeletedRevisions.php
@@ -55,7 +55,6 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
$result = $this->getResult();
$pageSet = $this->getPageSet();
- $titles = $pageSet->getTitles();
// This module operates in two modes:
// 'user': List deleted revs by a certain user
@@ -83,6 +82,21 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
}
}
+ // If we're generating titles only, we can use DISTINCT for a better
+ // query. But we can't do that in 'user' mode (wrong index), and we can
+ // only do it when sorting ASC (because MySQL apparently can't use an
+ // index backwards for grouping even though it can for ORDER BY, WTF?)
+ $dir = $params['dir'];
+ $optimizeGenerateTitles = false;
+ if ( $mode === 'all' && $params['generatetitles'] && $resultPageSet !== null ) {
+ if ( $dir === 'newer' ) {
+ $optimizeGenerateTitles = true;
+ } else {
+ $p = $this->getModulePrefix();
+ $this->setWarning( "For better performance when generating titles, set {$p}dir=newer" );
+ }
+ }
+
$this->addTables( 'archive' );
if ( $resultPageSet === null ) {
$this->parseParameters( $params );
@@ -90,7 +104,12 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
$this->addFields( array( 'ar_title', 'ar_namespace' ) );
} else {
$this->limit = $this->getParameter( 'limit' ) ?: 10;
- $this->addFields( array( 'ar_title', 'ar_namespace', 'ar_timestamp', 'ar_rev_id', 'ar_id' ) );
+ $this->addFields( array( 'ar_title', 'ar_namespace' ) );
+ if ( $optimizeGenerateTitles ) {
+ $this->addOption( 'DISTINCT' );
+ } else {
+ $this->addFields( array( 'ar_timestamp', 'ar_rev_id', 'ar_id' ) );
+ }
}
if ( $this->fld_tags ) {
@@ -130,7 +149,6 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
}
}
- $dir = $params['dir'];
$miser_ns = null;
if ( $mode == 'all' ) {
@@ -229,7 +247,14 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
if ( !is_null( $params['continue'] ) ) {
$cont = explode( '|', $params['continue'] );
$op = ( $dir == 'newer' ? '>' : '<' );
- if ( $mode == 'all' ) {
+ if ( $optimizeGenerateTitles ) {
+ $this->dieContinueUsageIf( count( $cont ) != 2 );
+ $ns = intval( $cont[0] );
+ $this->dieContinueUsageIf( strval( $ns ) !== $cont[0] );
+ $title = $db->addQuotes( $cont[1] );
+ $this->addWhere( "ar_namespace $op $ns OR " .
+ "(ar_namespace = $ns AND ar_title $op= $title)" );
+ } elseif ( $mode == 'all' ) {
$this->dieContinueUsageIf( count( $cont ) != 4 );
$ns = intval( $cont[0] );
$this->dieContinueUsageIf( strval( $ns ) !== $cont[0] );
@@ -259,7 +284,13 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
$sort = ( $dir == 'newer' ? '' : ' DESC' );
$orderby = array();
- if ( $mode == 'all' ) {
+ if ( $optimizeGenerateTitles ) {
+ // Targeting index name_title_timestamp
+ if ( $params['namespace'] === null || count( array_unique( $params['namespace'] ) ) > 1 ) {
+ $orderby[] = "ar_namespace $sort";
+ }
+ $orderby[] = "ar_title $sort";
+ } elseif ( $mode == 'all' ) {
// Targeting index name_title_timestamp
if ( $params['namespace'] === null || count( array_unique( $params['namespace'] ) ) > 1 ) {
$orderby[] = "ar_namespace $sort";
@@ -283,7 +314,9 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase {
foreach ( $res as $row ) {
if ( ++$count > $this->limit ) {
// We've had enough
- if ( $mode == 'all' ) {
+ if ( $optimizeGenerateTitles ) {
+ $this->setContinueEnumParameter( 'continue', "$row->ar_namespace|$row->ar_title" );
+ } elseif ( $mode == 'all' ) {
$this->setContinueEnumParameter( 'continue',
"$row->ar_namespace|$row->ar_title|$row->ar_timestamp|$row->ar_id"
);
diff --git a/includes/api/ApiQueryAllLinks.php b/includes/api/ApiQueryAllLinks.php
index fadecfb4..347da896 100644
--- a/includes/api/ApiQueryAllLinks.php
+++ b/includes/api/ApiQueryAllLinks.php
@@ -255,6 +255,7 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
ApiBase::PARAM_TYPE => array_merge(
array( 'ids', 'title' ), array_keys( $this->props )
),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'namespace' => array(
ApiBase::PARAM_DFLT => $this->dfltNamespace,
diff --git a/includes/api/ApiQueryAllMessages.php b/includes/api/ApiQueryAllMessages.php
index 44af83d0..152711f8 100644
--- a/includes/api/ApiQueryAllMessages.php
+++ b/includes/api/ApiQueryAllMessages.php
@@ -136,7 +136,11 @@ class ApiQueryAllMessages extends ApiQueryBase {
}
if ( !$skip ) {
- $a = array( 'name' => $message );
+ $a = array(
+ 'name' => $message,
+ 'normalizedname' => MessageCache::normalizeKey( $message ),
+ );
+
$args = array();
if ( isset( $params['args'] ) && count( $params['args'] ) != 0 ) {
$args = $params['args'];
@@ -245,6 +249,6 @@ class ApiQueryAllMessages extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Meta#allmessages_.2F_am';
+ return 'https://www.mediawiki.org/wiki/API:Allmessages';
}
}
diff --git a/includes/api/ApiQueryAllPages.php b/includes/api/ApiQueryAllPages.php
index 0149ad2f..e441991a 100644
--- a/includes/api/ApiQueryAllPages.php
+++ b/includes/api/ApiQueryAllPages.php
@@ -175,10 +175,14 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
// 1999 rules works fine, but that breaks other DBs. Sigh.
/// @todo Once we drop support for 1992-rule DBs, we can simplify this.
$dbType = $db->getType();
- if ( $dbType === 'mysql' || $dbType === 'sqlite' ||
- $dbType === 'postgres' && $db->getServerVersion() >= 9.1
- ) {
- // 1999 rules, or screw-the-rules
+ if ( $dbType === 'mysql' || $dbType === 'sqlite' ) {
+ // Ignore the rules, or 1999 rules if you count unique keys
+ // over non-NULL columns as satisfying the requirement for
+ // "functional dependency" and don't require including
+ // constant-in-WHERE columns in the GROUP BY.
+ $this->addOption( 'GROUP BY', array( 'page_title' ) );
+ } elseif ( $dbType === 'postgres' && $db->getServerVersion() >= 9.1 ) {
+ // 1999 rules only counting primary keys
$this->addOption( 'GROUP BY', array( 'page_title', 'page_id' ) );
} else {
// 1992 rules
diff --git a/includes/api/ApiQueryAllUsers.php b/includes/api/ApiQueryAllUsers.php
index 0cea84f8..eb3e5537 100644
--- a/includes/api/ApiQueryAllUsers.php
+++ b/includes/api/ApiQueryAllUsers.php
@@ -41,7 +41,7 @@ class ApiQueryAllUsers extends ApiQueryBase {
* @return string
*/
private function getCanonicalUserName( $name ) {
- return str_replace( '_', ' ', $name );
+ return strtr( $name, '_', ' ' );
}
public function execute() {
@@ -235,14 +235,14 @@ class ApiQueryAllUsers extends ApiQueryBase {
}
$data = array(
- 'userid' => $row->user_id,
+ 'userid' => (int)$row->user_id,
'name' => $row->user_name,
);
if ( $fld_blockinfo && !is_null( $row->ipb_by_text ) ) {
- $data['blockid'] = $row->ipb_id;
+ $data['blockid'] = (int)$row->ipb_id;
$data['blockedby'] = $row->ipb_by_text;
- $data['blockedbyid'] = $row->ipb_by;
+ $data['blockedbyid'] = (int)$row->ipb_by;
$data['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $row->ipb_timestamp );
$data['blockreason'] = $row->ipb_reason;
$data['blockexpiry'] = $row->ipb_expiry;
@@ -340,7 +340,8 @@ class ApiQueryAllUsers extends ApiQueryBase {
'rights',
'editcount',
'registration'
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'limit' => array(
ApiBase::PARAM_DFLT => 10,
diff --git a/includes/api/ApiQueryBacklinksprop.php b/includes/api/ApiQueryBacklinksprop.php
index 8e271e7b..a50d58b2 100644
--- a/includes/api/ApiQueryBacklinksprop.php
+++ b/includes/api/ApiQueryBacklinksprop.php
@@ -277,7 +277,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
$vals = array();
if ( $fld_pageid ) {
- $vals['pageid'] = $row->page_id;
+ $vals['pageid'] = (int)$row->page_id;
}
if ( $fld_title ) {
ApiQueryBase::addTitleInfo( $vals,
@@ -335,6 +335,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
),
ApiBase::PARAM_ISMULTI => true,
ApiBase::PARAM_DFLT => 'pageid|title',
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'namespace' => array(
ApiBase::PARAM_ISMULTI => true,
@@ -405,8 +406,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
}
public function getHelpUrls() {
- $name = $this->getModuleName();
- $prefix = $this->getModulePrefix();
- return "https://www.mediawiki.org/wiki/API:Properties#{$name}_.2F_{$prefix}";
+ $name = ucfirst( $this->getModuleName() );
+ return "https://www.mediawiki.org/wiki/API:{$name}";
}
}
diff --git a/includes/api/ApiQueryBase.php b/includes/api/ApiQueryBase.php
index a15754ce..c66e21b7 100644
--- a/includes/api/ApiQueryBase.php
+++ b/includes/api/ApiQueryBase.php
@@ -123,6 +123,7 @@ abstract class ApiQueryBase extends ApiBase {
*/
public function selectNamedDB( $name, $db, $groups ) {
$this->mDb = $this->getQuery()->getNamedDB( $name, $db, $groups );
+ return $this->mDb;
}
/**
@@ -503,7 +504,7 @@ abstract class ApiQueryBase extends ApiBase {
* capitalization settings.
*
* @param string $titlePart Title part
- * @param int $defaultNamespace Namespace of the title
+ * @param int $namespace Namespace of the title
* @return string DBkey (no namespace prefix)
*/
public function titlePartToKey( $titlePart, $namespace = NS_MAIN ) {
@@ -525,6 +526,24 @@ abstract class ApiQueryBase extends ApiBase {
}
/**
+ * Convert an input title or title prefix into a namespace constant and dbkey.
+ *
+ * @since 1.26
+ * @param string $titlePart Title part
+ * @param int $defaultNamespace Default namespace if none is given
+ * @return array (int, string) Namespace number and DBkey
+ */
+ public function prefixedTitlePartToKey( $titlePart, $defaultNamespace = NS_MAIN ) {
+ $t = Title::newFromText( $titlePart . 'x', $defaultNamespace );
+ if ( !$t || $t->hasFragment() || $t->isExternal() ) {
+ // Invalid title (e.g. bad chars) or contained a '#'.
+ $this->dieUsageMsg( array( 'invalidtitle', $titlePart ) );
+ }
+
+ return array( $t->getNamespace(), substr( $t->getDbKey(), 0, -1 ) );
+ }
+
+ /**
* Gets the personalised direction parameter description
*
* @param string $p ModulePrefix
diff --git a/includes/api/ApiQueryBlocks.php b/includes/api/ApiQueryBlocks.php
index 4a7023b7..d004020d 100644
--- a/includes/api/ApiQueryBlocks.php
+++ b/includes/api/ApiQueryBlocks.php
@@ -191,19 +191,19 @@ class ApiQueryBlocks extends ApiQueryBase {
ApiResult::META_TYPE => 'assoc',
);
if ( $fld_id ) {
- $block['id'] = $row->ipb_id;
+ $block['id'] = (int)$row->ipb_id;
}
if ( $fld_user && !$row->ipb_auto ) {
$block['user'] = $row->ipb_address;
}
if ( $fld_userid && !$row->ipb_auto ) {
- $block['userid'] = $row->ipb_user;
+ $block['userid'] = (int)$row->ipb_user;
}
if ( $fld_by ) {
$block['by'] = $row->ipb_by_text;
}
if ( $fld_byid ) {
- $block['byid'] = $row->ipb_by;
+ $block['byid'] = (int)$row->ipb_by;
}
if ( $fld_timestamp ) {
$block['timestamp'] = wfTimestamp( TS_ISO_8601, $row->ipb_timestamp );
@@ -303,7 +303,8 @@ class ApiQueryBlocks extends ApiQueryBase {
'range',
'flags'
),
- ApiBase::PARAM_ISMULTI => true
+ ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'show' => array(
ApiBase::PARAM_TYPE => array(
diff --git a/includes/api/ApiQueryCategories.php b/includes/api/ApiQueryCategories.php
index 35fa56ef..9e82fe7e 100644
--- a/includes/api/ApiQueryCategories.php
+++ b/includes/api/ApiQueryCategories.php
@@ -184,7 +184,8 @@ class ApiQueryCategories extends ApiQueryGeneratorBase {
'sortkey',
'timestamp',
'hidden',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'show' => array(
ApiBase::PARAM_ISMULTI => true,
@@ -226,6 +227,6 @@ class ApiQueryCategories extends ApiQueryGeneratorBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#categories_.2F_cl';
+ return 'https://www.mediawiki.org/wiki/API:Categories';
}
}
diff --git a/includes/api/ApiQueryCategoryInfo.php b/includes/api/ApiQueryCategoryInfo.php
index 9f6c6044..9266442e 100644
--- a/includes/api/ApiQueryCategoryInfo.php
+++ b/includes/api/ApiQueryCategoryInfo.php
@@ -115,6 +115,6 @@ class ApiQueryCategoryInfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#categoryinfo_.2F_ci';
+ return 'https://www.mediawiki.org/wiki/API:Categoryinfo';
}
}
diff --git a/includes/api/ApiQueryCategoryMembers.php b/includes/api/ApiQueryCategoryMembers.php
index ec0c1d14..6dcfe0eb 100644
--- a/includes/api/ApiQueryCategoryMembers.php
+++ b/includes/api/ApiQueryCategoryMembers.php
@@ -158,7 +158,9 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase {
}
$startsortkey = pack( 'H*', $params['starthexsortkey'] );
} else {
- $this->logFeatureUsage( 'list=categorymembers&cmstartsortkey' );
+ if ( $params['startsortkey'] !== null ) {
+ $this->logFeatureUsage( 'list=categorymembers&cmstartsortkey' );
+ }
$startsortkey = $params['startsortkey'];
}
if ( $params['endsortkeyprefix'] !== null ) {
@@ -169,7 +171,9 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase {
}
$endsortkey = pack( 'H*', $params['endhexsortkey'] );
} else {
- $this->logFeatureUsage( 'list=categorymembers&cmendsortkey' );
+ if ( $params['endsortkey'] !== null ) {
+ $this->logFeatureUsage( 'list=categorymembers&cmendsortkey' );
+ }
$endsortkey = $params['endsortkey'];
}
@@ -310,7 +314,8 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase {
'sortkeyprefix',
'type',
'timestamp',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'namespace' => array(
ApiBase::PARAM_ISMULTI => true,
diff --git a/includes/api/ApiQueryContributors.php b/includes/api/ApiQueryContributors.php
index 7e76db25..524bffd4 100644
--- a/includes/api/ApiQueryContributors.php
+++ b/includes/api/ApiQueryContributors.php
@@ -89,7 +89,7 @@ class ApiQueryContributors extends ApiQueryBase {
$res = $this->select( __METHOD__ );
foreach ( $res as $row ) {
$fit = $result->addValue( array( 'query', 'pages', $row->page ),
- 'anoncontributors', $row->anons
+ 'anoncontributors', (int)$row->anons
);
if ( !$fit ) {
// This not fitting isn't reasonable, so it probably means that
@@ -189,7 +189,7 @@ class ApiQueryContributors extends ApiQueryBase {
}
$fit = $this->addPageSubItem( $row->page,
- array( 'userid' => $row->user, 'name' => $row->username ),
+ array( 'userid' => (int)$row->user, 'name' => $row->username ),
'user'
);
if ( !$fit ) {
@@ -250,6 +250,6 @@ class ApiQueryContributors extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#contributors_.2F_pc';
+ return 'https://www.mediawiki.org/wiki/API:Contributors';
}
}
diff --git a/includes/api/ApiQueryDeletedRevisions.php b/includes/api/ApiQueryDeletedRevisions.php
index 26ae2668..bf48b194 100644
--- a/includes/api/ApiQueryDeletedRevisions.php
+++ b/includes/api/ApiQueryDeletedRevisions.php
@@ -234,8 +234,10 @@ class ApiQueryDeletedRevisions extends ApiQueryRevisionsBase {
}
}
if ( !isset( $pageMap[$row->ar_namespace][$row->ar_title] ) ) {
- ApiBase::dieDebug( "Found row in archive (ar_id={$row->ar_id}) that didn't " .
- "get processed by ApiPageSet" );
+ ApiBase::dieDebug(
+ __METHOD__,
+ "Found row in archive (ar_id={$row->ar_id}) that didn't get processed by ApiPageSet"
+ );
}
$fit = $this->addPageSubItem(
@@ -299,6 +301,6 @@ class ApiQueryDeletedRevisions extends ApiQueryRevisionsBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#deletedrevisions_.2F_drv';
+ return 'https://www.mediawiki.org/wiki/API:Deletedrevisions';
}
}
diff --git a/includes/api/ApiQueryDeletedrevs.php b/includes/api/ApiQueryDeletedrevs.php
index 72a331f1..76f594e2 100644
--- a/includes/api/ApiQueryDeletedrevs.php
+++ b/includes/api/ApiQueryDeletedrevs.php
@@ -328,7 +328,7 @@ class ApiQueryDeletedrevs extends ApiQueryBase {
$rev['user'] = $row->ar_user_text;
}
if ( $fld_userid ) {
- $rev['userid'] = $row->ar_user;
+ $rev['userid'] = (int)$row->ar_user;
}
}
}
diff --git a/includes/api/ApiQueryDuplicateFiles.php b/includes/api/ApiQueryDuplicateFiles.php
index 4d0bcfed..3282c717 100644
--- a/includes/api/ApiQueryDuplicateFiles.php
+++ b/includes/api/ApiQueryDuplicateFiles.php
@@ -189,6 +189,6 @@ class ApiQueryDuplicateFiles extends ApiQueryGeneratorBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#duplicatefiles_.2F_df';
+ return 'https://www.mediawiki.org/wiki/API:Duplicatefiles';
}
}
diff --git a/includes/api/ApiQueryExtLinksUsage.php b/includes/api/ApiQueryExtLinksUsage.php
index 3f65a19e..38eba12c 100644
--- a/includes/api/ApiQueryExtLinksUsage.php
+++ b/includes/api/ApiQueryExtLinksUsage.php
@@ -155,7 +155,8 @@ class ApiQueryExtLinksUsage extends ApiQueryGeneratorBase {
'ids',
'title',
'url'
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'offset' => array(
ApiBase::PARAM_TYPE => 'integer',
diff --git a/includes/api/ApiQueryExternalLinks.php b/includes/api/ApiQueryExternalLinks.php
index ec3d9d27..725ac88b 100644
--- a/includes/api/ApiQueryExternalLinks.php
+++ b/includes/api/ApiQueryExternalLinks.php
@@ -134,6 +134,6 @@ class ApiQueryExternalLinks extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#extlinks_.2F_el';
+ return 'https://www.mediawiki.org/wiki/API:Extlinks';
}
}
diff --git a/includes/api/ApiQueryFileRepoInfo.php b/includes/api/ApiQueryFileRepoInfo.php
index 9ad7e27e..12b9893d 100644
--- a/includes/api/ApiQueryFileRepoInfo.php
+++ b/includes/api/ApiQueryFileRepoInfo.php
@@ -41,18 +41,26 @@ class ApiQueryFileRepoInfo extends ApiQueryBase {
}
public function execute() {
+ $conf = $this->getConfig();
+
$params = $this->extractRequestParams();
$props = array_flip( $params['prop'] );
$repos = array();
$repoGroup = $this->getInitialisedRepoGroup();
+ $foreignTargets = $conf->get( 'ForeignUploadTargets' );
+
+ $repoGroup->forEachForeignRepo( function ( $repo ) use ( &$repos, $props, $foreignTargets ) {
+ $repoProps = $repo->getInfo();
+ $repoProps['canUpload'] = in_array( $repoProps['name'], $foreignTargets );
- $repoGroup->forEachForeignRepo( function ( $repo ) use ( &$repos, $props ) {
- $repos[] = array_intersect_key( $repo->getInfo(), $props );
+ $repos[] = array_intersect_key( $repoProps, $props );
} );
- $repos[] = array_intersect_key( $repoGroup->getLocalRepo()->getInfo(), $props );
+ $localInfo = $repoGroup->getLocalRepo()->getInfo();
+ $localInfo['canUpload'] = $conf->get( 'EnableUploads' );
+ $repos[] = array_intersect_key( $localInfo, $props );
$result = $this->getResult();
ApiResult::setIndexedTagName( $repos, 'repo' );
@@ -85,10 +93,14 @@ class ApiQueryFileRepoInfo extends ApiQueryBase {
$props = array_merge( $props, array_keys( $repo->getInfo() ) );
} );
- return array_values( array_unique( array_merge(
+ $propValues = array_values( array_unique( array_merge(
$props,
array_keys( $repoGroup->getLocalRepo()->getInfo() )
) ) );
+
+ $propValues[] = 'canUpload';
+
+ return $propValues;
}
protected function getExamplesMessages() {
@@ -97,4 +109,8 @@ class ApiQueryFileRepoInfo extends ApiQueryBase {
=> 'apihelp-query+filerepoinfo-example-simple',
);
}
+
+ public function getHelpUrls() {
+ return 'https://www.mediawiki.org/wiki/API:Filerepoinfo';
+ }
}
diff --git a/includes/api/ApiQueryFilearchive.php b/includes/api/ApiQueryFilearchive.php
index 4d357a7f..8156edb9 100644
--- a/includes/api/ApiQueryFilearchive.php
+++ b/includes/api/ApiQueryFilearchive.php
@@ -162,7 +162,7 @@ class ApiQueryFilearchive extends ApiQueryBase {
}
$file = array();
- $file['id'] = $row->fa_id;
+ $file['id'] = (int)$row->fa_id;
$file['name'] = $row->fa_name;
$title = Title::makeTitle( NS_FILE, $row->fa_name );
self::addTitleInfo( $file, $title );
@@ -179,7 +179,7 @@ class ApiQueryFilearchive extends ApiQueryBase {
if ( $fld_user &&
Revision::userCanBitfield( $row->fa_deleted, File::DELETED_USER, $user )
) {
- $file['userid'] = $row->fa_user;
+ $file['userid'] = (int)$row->fa_user;
$file['user'] = $row->fa_user_text;
}
if ( $fld_sha1 ) {
@@ -274,6 +274,7 @@ class ApiQueryFilearchive extends ApiQueryBase {
'bitdepth',
'archivename',
),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'limit' => array(
ApiBase::PARAM_DFLT => 10,
diff --git a/includes/api/ApiQueryIWBacklinks.php b/includes/api/ApiQueryIWBacklinks.php
index 618387d2..2fe4bd91 100644
--- a/includes/api/ApiQueryIWBacklinks.php
+++ b/includes/api/ApiQueryIWBacklinks.php
@@ -186,6 +186,7 @@ class ApiQueryIWBacklinks extends ApiQueryGeneratorBase {
'iwprefix',
'iwtitle',
),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'dir' => array(
ApiBase::PARAM_DFLT => 'ascending',
diff --git a/includes/api/ApiQueryIWLinks.php b/includes/api/ApiQueryIWLinks.php
index aca3f700..82619cc4 100644
--- a/includes/api/ApiQueryIWLinks.php
+++ b/includes/api/ApiQueryIWLinks.php
@@ -151,7 +151,8 @@ class ApiQueryIWLinks extends ApiQueryBase {
ApiBase::PARAM_ISMULTI => true,
ApiBase::PARAM_TYPE => array(
'url',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'prefix' => null,
'title' => null,
diff --git a/includes/api/ApiQueryImageInfo.php b/includes/api/ApiQueryImageInfo.php
index 095e5dda..ba36c67f 100644
--- a/includes/api/ApiQueryImageInfo.php
+++ b/includes/api/ApiQueryImageInfo.php
@@ -523,9 +523,9 @@ class ApiQueryImageInfo extends ApiQueryBase {
}
if ( $meta ) {
- wfSuppressWarnings();
+ MediaWiki\suppressWarnings();
$metadata = unserialize( $file->getMetadata() );
- wfRestoreWarnings();
+ MediaWiki\restoreWarnings();
if ( $metadata && $version !== 'latest' ) {
$metadata = $file->convertMetadataVersion( $metadata, $version );
}
@@ -798,6 +798,6 @@ class ApiQueryImageInfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#imageinfo_.2F_ii';
+ return 'https://www.mediawiki.org/wiki/API:Imageinfo';
}
}
diff --git a/includes/api/ApiQueryImages.php b/includes/api/ApiQueryImages.php
index 029d945d..1b39d282 100644
--- a/includes/api/ApiQueryImages.php
+++ b/includes/api/ApiQueryImages.php
@@ -172,6 +172,6 @@ class ApiQueryImages extends ApiQueryGeneratorBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#images_.2F_im';
+ return 'https://www.mediawiki.org/wiki/API:Images';
}
}
diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php
index 66178d4f..b05c75c3 100644
--- a/includes/api/ApiQueryInfo.php
+++ b/includes/api/ApiQueryInfo.php
@@ -37,7 +37,7 @@ class ApiQueryInfo extends ApiQueryBase {
$fld_notificationtimestamp = false,
$fld_preload = false, $fld_displaytitle = false;
- private $params, $titles, $missing, $everything, $pageCounter;
+ private $params, $titles, $missing, $everything;
private $pageRestrictions, $pageIsRedir, $pageIsNew, $pageTouched,
$pageLatest, $pageLength;
@@ -799,6 +799,7 @@ class ApiQueryInfo extends ApiQueryBase {
}
public function getCacheMode( $params ) {
+ // Other props depend on something about the current user
$publicProps = array(
'protection',
'talkid',
@@ -807,13 +808,15 @@ class ApiQueryInfo extends ApiQueryBase {
'preload',
'displaytitle',
);
- if ( !is_null( $params['prop'] ) ) {
- foreach ( $params['prop'] as $prop ) {
- if ( !in_array( $prop, $publicProps ) ) {
- return 'private';
- }
- }
+ if ( array_diff( (array)$params['prop'], $publicProps ) ) {
+ return 'private';
}
+
+ // testactions also depends on the current user
+ if ( $params['testactions'] ) {
+ return 'private';
+ }
+
if ( !is_null( $params['token'] ) ) {
return 'private';
}
@@ -868,6 +871,6 @@ class ApiQueryInfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#info_.2F_in';
+ return 'https://www.mediawiki.org/wiki/API:Info';
}
}
diff --git a/includes/api/ApiQueryLangBacklinks.php b/includes/api/ApiQueryLangBacklinks.php
index 7be18b2f..9f77b84a 100644
--- a/includes/api/ApiQueryLangBacklinks.php
+++ b/includes/api/ApiQueryLangBacklinks.php
@@ -185,6 +185,7 @@ class ApiQueryLangBacklinks extends ApiQueryGeneratorBase {
'lllang',
'lltitle',
),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'dir' => array(
ApiBase::PARAM_DFLT => 'ascending',
diff --git a/includes/api/ApiQueryLangLinks.php b/includes/api/ApiQueryLangLinks.php
index 5919ee97..25e534e1 100644
--- a/includes/api/ApiQueryLangLinks.php
+++ b/includes/api/ApiQueryLangLinks.php
@@ -146,7 +146,8 @@ class ApiQueryLangLinks extends ApiQueryBase {
'url',
'langname',
'autonym',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'lang' => null,
'title' => null,
@@ -183,6 +184,6 @@ class ApiQueryLangLinks extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#langlinks_.2F_ll';
+ return 'https://www.mediawiki.org/wiki/API:Langlinks';
}
}
diff --git a/includes/api/ApiQueryLinks.php b/includes/api/ApiQueryLinks.php
index 3bd37144..d7b85c93 100644
--- a/includes/api/ApiQueryLinks.php
+++ b/includes/api/ApiQueryLinks.php
@@ -42,13 +42,13 @@ class ApiQueryLinks extends ApiQueryGeneratorBase {
$this->table = 'pagelinks';
$this->prefix = 'pl';
$this->titlesParam = 'titles';
- $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Properties#links_.2F_pl';
+ $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Links';
break;
case self::TEMPLATES:
$this->table = 'templatelinks';
$this->prefix = 'tl';
$this->titlesParam = 'templates';
- $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Properties#templates_.2F_tl';
+ $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Templates';
break;
default:
ApiBase::dieDebug( __METHOD__, 'Unknown module name' );
diff --git a/includes/api/ApiQueryLogEvents.php b/includes/api/ApiQueryLogEvents.php
index 7b2381f4..d87ad1e3 100644
--- a/includes/api/ApiQueryLogEvents.php
+++ b/includes/api/ApiQueryLogEvents.php
@@ -401,7 +401,8 @@ class ApiQueryLogEvents extends ApiQueryBase {
'parsedcomment',
'details',
'tags'
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'type' => array(
ApiBase::PARAM_TYPE => $config->get( 'LogTypes' )
diff --git a/includes/api/ApiQueryPageProps.php b/includes/api/ApiQueryPageProps.php
index dd19bf23..1f992f8f 100644
--- a/includes/api/ApiQueryPageProps.php
+++ b/includes/api/ApiQueryPageProps.php
@@ -137,12 +137,12 @@ class ApiQueryPageProps extends ApiQueryBase {
protected function getExamplesMessages() {
return array(
- 'action=query&prop=pageprops&titles=Category:Foo'
+ 'action=query&prop=pageprops&titles=Main%20Page|MediaWiki'
=> 'apihelp-query+pageprops-example-simple',
);
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#pageprops_.2F_pp';
+ return 'https://www.mediawiki.org/wiki/API:Pageprops';
}
}
diff --git a/includes/api/ApiQueryPagesWithProp.php b/includes/api/ApiQueryPagesWithProp.php
index 7bcaf247..ad641a46 100644
--- a/includes/api/ApiQueryPagesWithProp.php
+++ b/includes/api/ApiQueryPagesWithProp.php
@@ -140,7 +140,8 @@ class ApiQueryPagesWithProp extends ApiQueryGeneratorBase {
'ids',
'title',
'value',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'continue' => array(
ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
diff --git a/includes/api/ApiQueryProtectedTitles.php b/includes/api/ApiQueryProtectedTitles.php
index fb65e5e2..5ef2f70b 100644
--- a/includes/api/ApiQueryProtectedTitles.php
+++ b/includes/api/ApiQueryProtectedTitles.php
@@ -123,7 +123,7 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase {
}
if ( isset( $prop['userid'] ) || /*B/C*/isset( $prop['user'] ) ) {
- $vals['userid'] = $row->pt_user;
+ $vals['userid'] = (int)$row->pt_user;
}
if ( isset( $prop['comment'] ) ) {
@@ -216,7 +216,8 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase {
'parsedcomment',
'expiry',
'level'
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'continue' => array(
ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
diff --git a/includes/api/ApiQueryRandom.php b/includes/api/ApiQueryRandom.php
index a2c28443..8e7031c0 100644
--- a/includes/api/ApiQueryRandom.php
+++ b/includes/api/ApiQueryRandom.php
@@ -31,8 +31,6 @@
* @ingroup API
*/
class ApiQueryRandom extends ApiQueryGeneratorBase {
- private $pageIDs;
-
public function __construct( ApiQuery $query, $moduleName ) {
parent::__construct( $query, $moduleName, 'rn' );
}
@@ -46,102 +44,131 @@ class ApiQueryRandom extends ApiQueryGeneratorBase {
}
/**
- * @param string $randstr
- * @param int $limit
- * @param int $namespace
- * @param ApiPageSet $resultPageSet
- * @param bool $redirect
- * @return void
+ * Actually perform the query and add pages to the result.
+ * @param ApiPageSet|null $resultPageSet
+ * @param int $limit Number of pages to fetch
+ * @param string|null $start Starting page_random
+ * @param int|null $startId Starting page_id
+ * @param string|null $end Ending page_random
+ * @return array (int, string|null) Number of pages left to query and continuation string
*/
- protected function prepareQuery( $randstr, $limit, $namespace, &$resultPageSet, $redirect ) {
+ protected function runQuery( $resultPageSet, $limit, $start, $startId, $end ) {
+ $params = $this->extractRequestParams();
+
$this->resetQueryParams();
$this->addTables( 'page' );
- $this->addOption( 'LIMIT', $limit );
- $this->addWhereFld( 'page_namespace', $namespace );
- $this->addWhereRange( 'page_random', 'newer', $randstr, null );
- $this->addWhereFld( 'page_is_redirect', $redirect );
+ $this->addFields( array( 'page_id', 'page_random' ) );
if ( is_null( $resultPageSet ) ) {
- $this->addFields( array( 'page_id', 'page_title', 'page_namespace' ) );
+ $this->addFields( array( 'page_title', 'page_namespace' ) );
} else {
$this->addFields( $resultPageSet->getPageTableFields() );
}
- }
+ $this->addWhereFld( 'page_namespace', $params['namespace'] );
+ if ( $params['redirect'] || $params['filterredir'] === 'redirects' ) {
+ $this->addWhereFld( 'page_is_redirect', 1 );
+ } elseif ( $params['filterredir'] === 'nonredirects' ) {
+ $this->addWhereFld( 'page_is_redirect', 0 );
+ } elseif ( is_null( $resultPageSet ) ) {
+ $this->addFields( array( 'page_is_redirect' ) );
+ }
+ $this->addOption( 'LIMIT', $limit + 1 );
+
+ if ( $start !== null ) {
+ $start = $this->getDB()->addQuotes( $start );
+ if ( $startId !== null ) {
+ $startId = (int)$startId;
+ $this->addWhere( "page_random = $start AND page_id >= $startId OR page_random > $start" );
+ } else {
+ $this->addWhere( "page_random >= $start" );
+ }
+ }
+ if ( $end !== null ) {
+ $this->addWhere( 'page_random < ' . $this->getDB()->addQuotes( $end ) );
+ }
+ $this->addOption( 'ORDER BY', array( 'page_random', 'page_id' ) );
+
+ $result = $this->getResult();
+ $path = array( 'query', $this->getModuleName() );
- /**
- * @param ApiPageSet $resultPageSet
- * @return int
- */
- protected function runQuery( $resultPageSet = null ) {
$res = $this->select( __METHOD__ );
$count = 0;
foreach ( $res as $row ) {
- $count++;
+ if ( $count++ >= $limit ) {
+ return array( 0, "{$row->page_random}|{$row->page_id}" );
+ }
if ( is_null( $resultPageSet ) ) {
- // Prevent duplicates
- if ( !in_array( $row->page_id, $this->pageIDs ) ) {
- $fit = $this->getResult()->addValue(
- array( 'query', $this->getModuleName() ),
- null, $this->extractRowInfo( $row ) );
- if ( !$fit ) {
- // We can't really query-continue a random list.
- // Return an insanely high value so
- // $count < $limit is false
- return 1E9;
- }
- $this->pageIDs[] = $row->page_id;
+ $title = Title::makeTitle( $row->page_namespace, $row->page_title );
+ $page = array(
+ 'id' => (int)$row->page_id,
+ );
+ ApiQueryBase::addTitleInfo( $page, $title );
+ if ( isset( $row->page_is_redirect ) ) {
+ $page['redirect'] = (bool)$row->page_is_redirect;
+ }
+ $fit = $result->addValue( $path, null, $page );
+ if ( !$fit ) {
+ return array( 0, "{$row->page_random}|{$row->page_id}" );
}
} else {
$resultPageSet->processDbRow( $row );
}
}
- return $count;
+ return array( $limit - $count, null );
}
/**
- * @param ApiPageSet $resultPageSet
- * @return void
+ * @param ApiPageSet|null $resultPageSet
*/
public function run( $resultPageSet = null ) {
$params = $this->extractRequestParams();
- $result = $this->getResult();
- $this->pageIDs = array();
-
- $this->prepareQuery(
- wfRandom(),
- $params['limit'],
- $params['namespace'],
- $resultPageSet,
- $params['redirect']
- );
- $count = $this->runQuery( $resultPageSet );
- if ( $count < $params['limit'] ) {
- /* We got too few pages, we probably picked a high value
- * for page_random. We'll just take the lowest ones, see
- * also the comment in Title::getRandomTitle()
- */
- $this->prepareQuery(
- 0,
- $params['limit'] - $count,
- $params['namespace'],
- $resultPageSet,
- $params['redirect']
- );
- $this->runQuery( $resultPageSet );
+
+ // Since 'filterredir" will always be set in $params, we have to dig
+ // into the WebRequest to see if it was actually passed.
+ $request = $this->getMain()->getRequest();
+ if ( $request->getCheck( $this->encodeParamName( 'filterredir' ) ) ) {
+ $this->requireMaxOneParameter( $params, 'filterredir', 'redirect' );
}
- if ( is_null( $resultPageSet ) ) {
- $result->addIndexedTagName( array( 'query', $this->getModuleName() ), 'page' );
+ if ( $params['redirect'] ) {
+ $this->logFeatureUsage( "list=random&rnredirect=" );
+ }
+
+ if ( isset( $params['continue'] ) ) {
+ $cont = explode( '|', $params['continue'] );
+ $this->dieContinueUsageIf( count( $cont ) != 4 );
+ $rand = $cont[0];
+ $start = $cont[1];
+ $startId = (int)$cont[2];
+ $end = $cont[3] ? $rand : null;
+ $this->dieContinueUsageIf( !preg_match( '/^0\.\d+$/', $rand ) );
+ $this->dieContinueUsageIf( !preg_match( '/^0\.\d+$/', $start ) );
+ $this->dieContinueUsageIf( $cont[2] !== (string)$startId );
+ $this->dieContinueUsageIf( $cont[3] !== '0' && $cont[3] !== '1' );
+ } else {
+ $rand = wfRandom();
+ $start = $rand;
+ $startId = null;
+ $end = null;
}
- }
- private function extractRowInfo( $row ) {
- $title = Title::makeTitle( $row->page_namespace, $row->page_title );
- $vals = array();
- $vals['id'] = intval( $row->page_id );
- ApiQueryBase::addTitleInfo( $vals, $title );
+ list( $left, $continue ) = $this->runQuery( $resultPageSet, $params['limit'], $start, $startId, $end );
+ if ( $end === null && $continue === null ) {
+ // Wrap around. We do this even if $left === 0 for continuation
+ // (saving a DB query in this rare case probably isn't worth the
+ // added code complexity it would require).
+ $end = $rand;
+ list( $left, $continue ) = $this->runQuery( $resultPageSet, $left, null, null, $end );
+ }
+
+ if ( $continue !== null ) {
+ $endFlag = $end === null ? 0 : 1;
+ $this->setContinueEnumParameter( 'continue', "$rand|$continue|$endFlag" );
+ }
- return $vals;
+ if ( is_null( $resultPageSet ) ) {
+ $this->getResult()->addIndexedTagName( array( 'query', $this->getModuleName() ), 'page' );
+ }
}
public function getCacheMode( $params ) {
@@ -154,14 +181,24 @@ class ApiQueryRandom extends ApiQueryGeneratorBase {
ApiBase::PARAM_TYPE => 'namespace',
ApiBase::PARAM_ISMULTI => true
),
+ 'filterredir' => array(
+ ApiBase::PARAM_TYPE => array( 'all', 'redirects', 'nonredirects' ),
+ ApiBase::PARAM_DFLT => 'nonredirects', // for BC
+ ),
+ 'redirect' => array(
+ ApiBase::PARAM_DEPRECATED => true,
+ ApiBase::PARAM_DFLT => false,
+ ),
'limit' => array(
ApiBase::PARAM_TYPE => 'limit',
ApiBase::PARAM_DFLT => 1,
ApiBase::PARAM_MIN => 1,
- ApiBase::PARAM_MAX => 10,
- ApiBase::PARAM_MAX2 => 20
+ ApiBase::PARAM_MAX => ApiBase::LIMIT_BIG1,
+ ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2
+ ),
+ 'continue' => array(
+ ApiBase::PARAM_HELP_MSG => 'api-help-param-continue'
),
- 'redirect' => false,
);
}
diff --git a/includes/api/ApiQueryRecentChanges.php b/includes/api/ApiQueryRecentChanges.php
index f6a64785..f5790629 100644
--- a/includes/api/ApiQueryRecentChanges.php
+++ b/includes/api/ApiQueryRecentChanges.php
@@ -458,7 +458,7 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
}
if ( $this->fld_userid ) {
- $vals['userid'] = $row->rc_user;
+ $vals['userid'] = (int)$row->rc_user;
}
if ( !$row->rc_user ) {
@@ -636,7 +636,8 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
'loginfo',
'tags',
'sha1',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'token' => array(
ApiBase::PARAM_DEPRECATED => true,
diff --git a/includes/api/ApiQueryRevisions.php b/includes/api/ApiQueryRevisions.php
index 552ca3b4..0282fc59 100644
--- a/includes/api/ApiQueryRevisions.php
+++ b/includes/api/ApiQueryRevisions.php
@@ -91,10 +91,10 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
// Enum mode can only be used when exactly one page is provided.
// Enumerating revisions on multiple pages make it extremely
// difficult to manage continuations and require additional SQL indexes
- $enumRevMode = ( !is_null( $params['user'] ) || !is_null( $params['excludeuser'] ) ||
- !is_null( $params['limit'] ) || !is_null( $params['startid'] ) ||
- !is_null( $params['endid'] ) || $params['dir'] === 'newer' ||
- !is_null( $params['start'] ) || !is_null( $params['end'] ) );
+ $enumRevMode = ( $params['user'] !== null || $params['excludeuser'] !== null ||
+ $params['limit'] !== null || $params['startid'] !== null ||
+ $params['endid'] !== null || $params['dir'] === 'newer' ||
+ $params['start'] !== null || $params['end'] !== null );
$pageSet = $this->getPageSet();
$pageCount = $pageSet->getGoodTitleCount();
@@ -149,7 +149,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
}
} else {
$this->limit = $this->getParameter( 'limit' ) ?: 10;
- $this->addFields( array( 'rev_id', 'rev_page' ) );
+ $this->addFields( array( 'rev_id', 'rev_timestamp', 'rev_page' ) );
}
if ( $this->fld_tags ) {
@@ -160,7 +160,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
$this->addFields( 'ts_tags' );
}
- if ( !is_null( $params['tag'] ) ) {
+ if ( $params['tag'] !== null ) {
$this->addTables( 'change_tag' );
$this->addJoinConds(
array( 'change_tag' => array( 'INNER JOIN', array( 'rev_id=ct_rev_id' ) ) )
@@ -196,58 +196,63 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
}
if ( $enumRevMode ) {
+ // Indexes targeted:
+ // page_timestamp if we don't have rvuser
+ // page_user_timestamp if we have a logged-in rvuser
+ // page_timestamp or usertext_timestamp if we have an IP rvuser
+
// This is mostly to prevent parameter errors (and optimize SQL?)
- if ( !is_null( $params['startid'] ) && !is_null( $params['start'] ) ) {
+ if ( $params['startid'] !== null && $params['start'] !== null ) {
$this->dieUsage( 'start and startid cannot be used together', 'badparams' );
}
- if ( !is_null( $params['endid'] ) && !is_null( $params['end'] ) ) {
+ if ( $params['endid'] !== null && $params['end'] !== null ) {
$this->dieUsage( 'end and endid cannot be used together', 'badparams' );
}
- if ( !is_null( $params['user'] ) && !is_null( $params['excludeuser'] ) ) {
+ if ( $params['user'] !== null && $params['excludeuser'] !== null ) {
$this->dieUsage( 'user and excludeuser cannot be used together', 'badparams' );
}
- // Continuing effectively uses startid. But we can't use rvstartid
- // directly, because there is no way to tell the client to ''not''
- // send rvstart if it sent it in the original query. So instead we
- // send the continuation startid as rvcontinue, and ignore both
- // rvstart and rvstartid when that is supplied.
- if ( !is_null( $params['continue'] ) ) {
- $params['startid'] = $params['continue'];
- $params['start'] = null;
+ if ( $params['continue'] !== null ) {
+ $cont = explode( '|', $params['continue'] );
+ $this->dieContinueUsageIf( count( $cont ) != 2 );
+ $op = ( $params['dir'] === 'newer' ? '>' : '<' );
+ $continueTimestamp = $db->addQuotes( $db->timestamp( $cont[0] ) );
+ $continueId = (int)$cont[1];
+ $this->dieContinueUsageIf( $continueId != $cont[1] );
+ $this->addWhere( "rev_timestamp $op $continueTimestamp OR " .
+ "(rev_timestamp = $continueTimestamp AND " .
+ "rev_id $op= $continueId)"
+ );
}
- // This code makes an assumption that sorting by rev_id and rev_timestamp produces
- // the same result. This way users may request revisions starting at a given time,
- // but to page through results use the rev_id returned after each page.
- // Switching to rev_id removes the potential problem of having more than
- // one row with the same timestamp for the same page.
- // The order needs to be the same as start parameter to avoid SQL filesort.
- if ( is_null( $params['startid'] ) && is_null( $params['endid'] ) ) {
- $this->addTimestampWhereRange( 'rev_timestamp', $params['dir'],
- $params['start'], $params['end'] );
- } else {
- $this->addWhereRange( 'rev_id', $params['dir'],
- $params['startid'], $params['endid'] );
- // One of start and end can be set
- // If neither is set, this does nothing
- $this->addTimestampWhereRange( 'rev_timestamp', $params['dir'],
- $params['start'], $params['end'], false );
- }
+ $this->addTimestampWhereRange( 'rev_timestamp', $params['dir'],
+ $params['start'], $params['end'] );
+ $this->addWhereRange( 'rev_id', $params['dir'],
+ $params['startid'], $params['endid'] );
// There is only one ID, use it
$ids = array_keys( $pageSet->getGoodTitles() );
$this->addWhereFld( 'rev_page', reset( $ids ) );
- if ( !is_null( $params['user'] ) ) {
- $this->addWhereFld( 'rev_user_text', $params['user'] );
- } elseif ( !is_null( $params['excludeuser'] ) ) {
- $this->addWhere( 'rev_user_text != ' .
- $db->addQuotes( $params['excludeuser'] ) );
+ if ( $params['user'] !== null ) {
+ $user = User::newFromName( $params['user'] );
+ if ( $user && $user->getId() > 0 ) {
+ $this->addWhereFld( 'rev_user', $user->getId() );
+ } else {
+ $this->addWhereFld( 'rev_user_text', $params['user'] );
+ }
+ } elseif ( $params['excludeuser'] !== null ) {
+ $user = User::newFromName( $params['excludeuser'] );
+ if ( $user && $user->getId() > 0 ) {
+ $this->addWhere( 'rev_user != ' . $user->getId() );
+ } else {
+ $this->addWhere( 'rev_user_text != ' .
+ $db->addQuotes( $params['excludeuser'] ) );
+ }
}
- if ( !is_null( $params['user'] ) || !is_null( $params['excludeuser'] ) ) {
+ if ( $params['user'] !== null || $params['excludeuser'] !== null ) {
// Paranoia: avoid brute force searches (bug 17342)
if ( !$this->getUser()->isAllowed( 'deletedhistory' ) ) {
$bitmask = Revision::DELETED_USER;
@@ -261,16 +266,20 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
}
}
} elseif ( $revCount > 0 ) {
+ // Always targets the PRIMARY index
+
$revs = $pageSet->getLiveRevisionIDs();
// Get all revision IDs
$this->addWhereFld( 'rev_id', array_keys( $revs ) );
- if ( !is_null( $params['continue'] ) ) {
+ if ( $params['continue'] !== null ) {
$this->addWhere( 'rev_id >= ' . intval( $params['continue'] ) );
}
$this->addOption( 'ORDER BY', 'rev_id' );
} elseif ( $pageCount > 0 ) {
+ // Always targets the rev_page_id index
+
$titles = $pageSet->getGoodTitles();
// When working in multi-page non-enumeration mode,
@@ -282,7 +291,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
// Every time someone relies on equality propagation, god kills a kitten :)
$this->addWhereFld( 'rev_page', array_keys( $titles ) );
- if ( !is_null( $params['continue'] ) ) {
+ if ( $params['continue'] !== null ) {
$cont = explode( '|', $params['continue'] );
$this->dieContinueUsageIf( count( $cont ) != 2 );
$pageid = intval( $cont[0] );
@@ -312,7 +321,8 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
// We've reached the one extra which shows that there are
// additional pages to be had. Stop here...
if ( $enumRevMode ) {
- $this->setContinueEnumParameter( 'continue', intval( $row->rev_id ) );
+ $this->setContinueEnumParameter( 'continue',
+ $row->rev_timestamp . '|' . intval( $row->rev_id ) );
} elseif ( $revCount > 0 ) {
$this->setContinueEnumParameter( 'continue', intval( $row->rev_id ) );
} else {
@@ -344,7 +354,8 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
$fit = $this->addPageSubItem( $row->rev_page, $rev, 'rev' );
if ( !$fit ) {
if ( $enumRevMode ) {
- $this->setContinueEnumParameter( 'continue', intval( $row->rev_id ) );
+ $this->setContinueEnumParameter( 'continue',
+ $row->rev_timestamp . '|' . intval( $row->rev_id ) );
} elseif ( $revCount > 0 ) {
$this->setContinueEnumParameter( 'continue', intval( $row->rev_id ) );
} else {
@@ -443,6 +454,6 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#revisions_.2F_rv';
+ return 'https://www.mediawiki.org/wiki/API:Revisions';
}
}
diff --git a/includes/api/ApiQueryRevisionsBase.php b/includes/api/ApiQueryRevisionsBase.php
index 64f6120a..d57dc3cc 100644
--- a/includes/api/ApiQueryRevisionsBase.php
+++ b/includes/api/ApiQueryRevisionsBase.php
@@ -37,7 +37,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
protected $fld_ids = false, $fld_flags = false, $fld_timestamp = false,
$fld_size = false, $fld_sha1 = false, $fld_comment = false,
$fld_parsedcomment = false, $fld_user = false, $fld_userid = false,
- $fld_content = false, $fld_tags = false, $fld_contentmodel = false;
+ $fld_content = false, $fld_tags = false, $fld_contentmodel = false, $fld_parsetree = false;
public function execute() {
$this->run();
@@ -104,6 +104,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
$this->fld_userid = isset( $prop['userid'] );
$this->fld_user = isset( $prop['user'] );
$this->fld_tags = isset( $prop['tags'] );
+ $this->fld_parsetree = isset( $prop['parsetree'] );
if ( !empty( $params['contentformat'] ) ) {
$this->contentFormat = $params['contentformat'];
@@ -112,7 +113,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
$this->limit = $params['limit'];
$this->fetchContent = $this->fld_content || !is_null( $this->diffto )
- || !is_null( $this->difftotext );
+ || !is_null( $this->difftotext ) || $this->fld_parsetree;
$smallLimit = false;
if ( $this->fetchContent ) {
@@ -273,10 +274,11 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
$vals['textmissing'] = true;
}
}
- if ( $this->fld_content && $content ) {
- $text = null;
-
- if ( $this->generateXML ) {
+ if ( $this->fld_parsetree || ( $this->fld_content && $this->generateXML ) ) {
+ if ( !$this->fld_parsetree ) {
+ $this->logFeatureUsage( 'action=query&prop=revisions+base&generatexml' );
+ }
+ if ( $content ) {
if ( $content->getModel() === CONTENT_MODEL_WIKITEXT ) {
$t = $content->getNativeData(); # note: don't set $text
@@ -299,6 +301,10 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
" uses content model " . $content->getModel() );
}
}
+ }
+
+ if ( $this->fld_content && $content ) {
+ $text = null;
if ( $this->expandTemplates && !$this->parseContent ) {
#XXX: implement template expansion for all content types in ContentHandler?
@@ -431,9 +437,26 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
'comment',
'parsedcomment',
'content',
- 'tags'
+ 'tags',
+ 'parsetree',
),
ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-prop',
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(
+ 'ids' => 'apihelp-query+revisions+base-paramvalue-prop-ids',
+ 'flags' => 'apihelp-query+revisions+base-paramvalue-prop-flags',
+ 'timestamp' => 'apihelp-query+revisions+base-paramvalue-prop-timestamp',
+ 'user' => 'apihelp-query+revisions+base-paramvalue-prop-user',
+ 'userid' => 'apihelp-query+revisions+base-paramvalue-prop-userid',
+ 'size' => 'apihelp-query+revisions+base-paramvalue-prop-size',
+ 'sha1' => 'apihelp-query+revisions+base-paramvalue-prop-sha1',
+ 'contentmodel' => 'apihelp-query+revisions+base-paramvalue-prop-contentmodel',
+ 'comment' => 'apihelp-query+revisions+base-paramvalue-prop-comment',
+ 'parsedcomment' => 'apihelp-query+revisions+base-paramvalue-prop-parsedcomment',
+ 'content' => 'apihelp-query+revisions+base-paramvalue-prop-content',
+ 'tags' => 'apihelp-query+revisions+base-paramvalue-prop-tags',
+ 'parsetree' => array( 'apihelp-query+revisions+base-paramvalue-prop-parsetree',
+ CONTENT_MODEL_WIKITEXT ),
+ ),
),
'limit' => array(
ApiBase::PARAM_TYPE => 'limit',
@@ -448,6 +471,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
),
'generatexml' => array(
ApiBase::PARAM_DFLT => false,
+ ApiBase::PARAM_DEPRECATED => true,
ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-generatexml',
),
'parse' => array(
diff --git a/includes/api/ApiQuerySearch.php b/includes/api/ApiQuerySearch.php
index e29ef8d2..b866f43e 100644
--- a/includes/api/ApiQuerySearch.php
+++ b/includes/api/ApiQuerySearch.php
@@ -82,6 +82,7 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
SearchEngine::create( $params['backend'] ) : SearchEngine::create();
$search->setLimitOffset( $limit + 1, $params['offset'] );
$search->setNamespaces( $params['namespace'] );
+ $search->setFeatureData( 'rewrite', (bool)$params['enablerewrites'] );
$query = $search->transformSearchTerm( $query );
$query = $search->replacePrefixes( $query );
@@ -92,7 +93,9 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
} elseif ( $what == 'title' ) {
$matches = $search->searchTitle( $query );
} elseif ( $what == 'nearmatch' ) {
- $matches = SearchEngine::getNearMatchResultSet( $query );
+ // near matches must receive the user input as provided, otherwise
+ // the near matches within namespaces are lost.
+ $matches = SearchEngine::getNearMatchResultSet( $params['search'] );
} else {
// We default to title searches; this is a terrible legacy
// of the way we initially set up the MySQL fulltext-based
@@ -129,6 +132,14 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
if ( isset( $searchInfo['suggestion'] ) && $matches->hasSuggestion() ) {
$apiResult->addValue( array( 'query', 'searchinfo' ),
'suggestion', $matches->getSuggestionQuery() );
+ $apiResult->addValue( array( 'query', 'searchinfo' ),
+ 'suggestionsnippet', $matches->getSuggestionSnippet() );
+ }
+ if ( isset( $searchInfo['rewrittenquery'] ) && $matches->hasRewrittenQuery() ) {
+ $apiResult->addValue( array( 'query', 'searchinfo' ),
+ 'rewrittenquery', $matches->getQueryAfterRewrite() );
+ $apiResult->addValue( array( 'query', 'searchinfo' ),
+ 'rewrittenquerysnippet', $matches->getQueryAfterRewriteSnippet() );
}
}
@@ -172,6 +183,9 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
if ( isset( $prop['titlesnippet'] ) ) {
$vals['titlesnippet'] = $result->getTitleSnippet();
}
+ if ( isset( $prop['categorysnippet'] ) ) {
+ $vals['categorysnippet'] = $result->getCategorySnippet();
+ }
if ( !is_null( $result->getRedirectTitle() ) ) {
if ( isset( $prop['redirecttitle'] ) ) {
$vals['redirecttitle'] = $result->getRedirectTitle()->getPrefixedText();
@@ -188,6 +202,9 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
$vals['sectionsnippet'] = $result->getSectionSnippet();
}
}
+ if ( isset( $prop['isfilematch'] ) ) {
+ $vals['isfilematch'] = $result->isFileMatch();
+ }
// Add item to results and see whether it fits
$fit = $apiResult->addValue( array( 'query', $this->getModuleName() ),
@@ -228,7 +245,7 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
// Add item to results and see whether it fits
$fit = $apiResult->addValue(
- array( 'query', 'interwiki' . $this->getModuleName(), $result->getInterwikiPrefix() ),
+ array( 'query', 'interwiki' . $this->getModuleName(), $result->getInterwikiPrefix() ),
null,
$vals
);
@@ -293,10 +310,11 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
)
),
'info' => array(
- ApiBase::PARAM_DFLT => 'totalhits|suggestion',
+ ApiBase::PARAM_DFLT => 'totalhits|suggestion|rewrittenquery',
ApiBase::PARAM_TYPE => array(
'totalhits',
'suggestion',
+ 'rewrittenquery',
),
ApiBase::PARAM_ISMULTI => true,
),
@@ -306,16 +324,19 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
'size',
'wordcount',
'timestamp',
- 'score',
'snippet',
'titlesnippet',
'redirecttitle',
'redirectsnippet',
'sectiontitle',
'sectionsnippet',
- 'hasrelated',
+ 'isfilematch',
+ 'categorysnippet',
+ 'score', // deprecated
+ 'hasrelated', // deprecated
),
ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'offset' => array(
ApiBase::PARAM_DFLT => 0,
@@ -329,6 +350,7 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
ApiBase::PARAM_MAX2 => ApiBase::LIMIT_SML2
),
'interwiki' => false,
+ 'enablerewrites' => false,
);
$alternatives = SearchEngine::getSearchTypes();
diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php
index b7b10846..12651558 100644
--- a/includes/api/ApiQuerySiteinfo.php
+++ b/includes/api/ApiQuerySiteinfo.php
@@ -176,6 +176,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
$data['linktrail'] = $linktrail ?: '';
$data['legaltitlechars'] = Title::legalChars();
+ $data['invalidusernamechars'] = $config->get( 'InvalidUsernameCharacters' );
global $IP;
$git = SpecialVersion::getGitHeadSha1( $IP );
@@ -297,6 +298,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
}
}
+ ApiResult::setArrayType( $data, 'assoc' );
ApiResult::setIndexedTagName( $data, 'ns' );
return $this->getResult()->addValue( 'query', $property, $data );
@@ -511,6 +513,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
$groups = array_intersect( $rights[$group], $allGroups );
if ( $groups ) {
$arr[$type] = $groups;
+ ApiResult::setArrayType( $arr[$type], 'BCarray' );
ApiResult::setIndexedTagName( $arr[$type], 'group' );
}
}
@@ -682,6 +685,11 @@ class ApiQuerySiteinfo extends ApiQueryBase {
'semiprotectedlevels' => $config->get( 'SemiprotectedRestrictionLevels' ),
);
+ ApiResult::setArrayType( $data['types'], 'BCarray' );
+ ApiResult::setArrayType( $data['levels'], 'BCarray' );
+ ApiResult::setArrayType( $data['cascadinglevels'], 'BCarray' );
+ ApiResult::setArrayType( $data['semiprotectedlevels'], 'BCarray' );
+
ApiResult::setIndexedTagName( $data['types'], 'type' );
ApiResult::setIndexedTagName( $data['levels'], 'level' );
ApiResult::setIndexedTagName( $data['cascadinglevels'], 'level' );
@@ -741,6 +749,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
global $wgParser;
$wgParser->firstCallInit();
$tags = array_map( array( $this, 'formatParserTags' ), $wgParser->getTags() );
+ ApiResult::setArrayType( $tags, 'BCarray' );
ApiResult::setIndexedTagName( $tags, 't' );
return $this->getResult()->addValue( 'query', $property, $tags );
@@ -750,6 +759,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
global $wgParser;
$wgParser->firstCallInit();
$hooks = $wgParser->getFunctionHooks();
+ ApiResult::setArrayType( $hooks, 'BCarray' );
ApiResult::setIndexedTagName( $hooks, 'h' );
return $this->getResult()->addValue( 'query', $property, $hooks );
@@ -757,6 +767,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
public function appendVariables( $property ) {
$variables = MagicWord::getVariableIDs();
+ ApiResult::setArrayType( $variables, 'BCarray' );
ApiResult::setIndexedTagName( $variables, 'v' );
return $this->getResult()->addValue( 'query', $property, $variables );
@@ -765,6 +776,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
public function appendProtocols( $property ) {
// Make a copy of the global so we don't try to set the _element key of it - bug 45130
$protocols = array_values( $this->getConfig()->get( 'UrlProtocols' ) );
+ ApiResult::setArrayType( $protocols, 'BCarray' );
ApiResult::setIndexedTagName( $protocols, 'p' );
return $this->getResult()->addValue( 'query', $property, $protocols );
@@ -792,6 +804,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $subscribers ),
);
+ ApiResult::setArrayType( $arr['subscribers'], 'BCarray' );
ApiResult::setIndexedTagName( $arr['subscribers'], 's' );
$data[] = $arr;
}
@@ -842,7 +855,8 @@ class ApiQuerySiteinfo extends ApiQueryBase {
'variables',
'protocols',
'defaultoptions',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'filteriw' => array(
ApiBase::PARAM_TYPE => array(
@@ -868,6 +882,6 @@ class ApiQuerySiteinfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Meta#siteinfo_.2F_si';
+ return 'https://www.mediawiki.org/wiki/API:Siteinfo';
}
}
diff --git a/includes/api/ApiQueryStashImageInfo.php b/includes/api/ApiQueryStashImageInfo.php
index 11268426..3de72bfe 100644
--- a/includes/api/ApiQueryStashImageInfo.php
+++ b/includes/api/ApiQueryStashImageInfo.php
@@ -122,4 +122,8 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
=> 'apihelp-query+stashimageinfo-example-params',
);
}
+
+ public function getHelpUrls() {
+ return 'https://www.mediawiki.org/wiki/API:Stashimageinfo';
+ }
}
diff --git a/includes/api/ApiQueryTags.php b/includes/api/ApiQueryTags.php
index 45f73b20..284bb821 100644
--- a/includes/api/ApiQueryTags.php
+++ b/includes/api/ApiQueryTags.php
@@ -163,7 +163,8 @@ class ApiQueryTags extends ApiQueryBase {
'source',
'active',
),
- ApiBase::PARAM_ISMULTI => true
+ ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
)
);
}
diff --git a/includes/api/ApiQueryTokens.php b/includes/api/ApiQueryTokens.php
index 65a08a3b..f8876646 100644
--- a/includes/api/ApiQueryTokens.php
+++ b/includes/api/ApiQueryTokens.php
@@ -93,4 +93,8 @@ class ApiQueryTokens extends ApiQueryBase {
public function getCacheMode( $params ) {
return 'private';
}
+
+ public function getHelpUrls() {
+ return 'https://www.mediawiki.org/wiki/API:Tokens';
+ }
}
diff --git a/includes/api/ApiQueryUserContributions.php b/includes/api/ApiQueryUserContributions.php
index e5ec67d0..e3030944 100644
--- a/includes/api/ApiQueryUserContributions.php
+++ b/includes/api/ApiQueryUserContributions.php
@@ -340,7 +340,7 @@ class ApiQueryContributions extends ApiQueryBase {
}
// Any rows where we can't view the user were filtered out in the query.
- $vals['userid'] = $row->rev_user;
+ $vals['userid'] = (int)$row->rev_user;
$vals['user'] = $row->rev_user_text;
if ( $row->rev_deleted & Revision::DELETED_USER ) {
$vals['userhidden'] = true;
@@ -491,7 +491,8 @@ class ApiQueryContributions extends ApiQueryBase {
'flags',
'patrolled',
'tags'
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'show' => array(
ApiBase::PARAM_ISMULTI => true,
diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php
index 4a7d1e0f..251c42bc 100644
--- a/includes/api/ApiQueryUserInfo.php
+++ b/includes/api/ApiQueryUserInfo.php
@@ -51,9 +51,33 @@ class ApiQueryUserInfo extends ApiQueryBase {
$result->addValue( 'query', $this->getModuleName(), $r );
}
+ /**
+ * Get basic info about a given block
+ * @param Block $block
+ * @return array Array containing several keys:
+ * - blockid - ID of the block
+ * - blockedby - username of the blocker
+ * - blockedbyid - user ID of the blocker
+ * - blockreason - reason provided for the block
+ * - blockedtimestamp - timestamp for when the block was placed/modified
+ * - blockexpiry - expiry time of the block
+ */
+ public static function getBlockInfo( Block $block ) {
+ global $wgContLang;
+ $vals = array();
+ $vals['blockid'] = $block->getId();
+ $vals['blockedby'] = $block->getByName();
+ $vals['blockedbyid'] = $block->getBy();
+ $vals['blockreason'] = $block->mReason;
+ $vals['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $block->mTimestamp );
+ $vals['blockexpiry'] = $wgContLang->formatExpiry(
+ $block->getExpiry(), TS_ISO_8601, 'infinite'
+ );
+ return $vals;
+ }
+
protected function getCurrentUserInfo() {
$user = $this->getUser();
- $result = $this->getResult();
$vals = array();
$vals['id'] = intval( $user->getId() );
$vals['name'] = $user->getName();
@@ -62,18 +86,8 @@ class ApiQueryUserInfo extends ApiQueryBase {
$vals['anon'] = true;
}
- if ( isset( $this->prop['blockinfo'] ) ) {
- if ( $user->isBlocked() ) {
- $block = $user->getBlock();
- $vals['blockid'] = $block->getId();
- $vals['blockedby'] = $block->getByName();
- $vals['blockedbyid'] = $block->getBy();
- $vals['blockreason'] = $user->blockedFor();
- $vals['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $block->mTimestamp );
- $vals['blockexpiry'] = $block->getExpiry() === 'infinity'
- ? 'infinite'
- : wfTimestamp( TS_ISO_8601, $block->getExpiry() );
- }
+ if ( isset( $this->prop['blockinfo'] ) && $user->isBlocked() ) {
+ $vals = array_merge( $vals, self::getBlockInfo( $user->getBlock() ) );
}
if ( isset( $this->prop['hasmsg'] ) ) {
@@ -253,10 +267,12 @@ class ApiQueryUserInfo extends ApiQueryBase {
'registrationdate',
'unreadcount',
),
- ApiBase::PARAM_HELP_MSG => array(
- 'apihelp-query+userinfo-param-prop',
- self::WL_UNREAD_LIMIT - 1,
- self::WL_UNREAD_LIMIT . '+',
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(
+ 'unreadcount' => array(
+ 'apihelp-query+userinfo-paramvalue-prop-unreadcount',
+ self::WL_UNREAD_LIMIT - 1,
+ self::WL_UNREAD_LIMIT . '+',
+ ),
),
)
);
@@ -272,6 +288,6 @@ class ApiQueryUserInfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Meta#userinfo_.2F_ui';
+ return 'https://www.mediawiki.org/wiki/API:Userinfo';
}
}
diff --git a/includes/api/ApiQueryUsers.php b/includes/api/ApiQueryUsers.php
index f22c2134..1d0048ce 100644
--- a/includes/api/ApiQueryUsers.php
+++ b/includes/api/ApiQueryUsers.php
@@ -193,9 +193,9 @@ class ApiQueryUsers extends ApiQueryBase {
$data[$name]['hidden'] = true;
}
if ( isset( $this->prop['blockinfo'] ) && !is_null( $row->ipb_by_text ) ) {
- $data[$name]['blockid'] = $row->ipb_id;
+ $data[$name]['blockid'] = (int)$row->ipb_id;
$data[$name]['blockedby'] = $row->ipb_by_text;
- $data[$name]['blockedbyid'] = $row->ipb_by;
+ $data[$name]['blockedbyid'] = (int)$row->ipb_by;
$data[$name]['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $row->ipb_timestamp );
$data[$name]['blockreason'] = $row->ipb_reason;
$data[$name]['blockexpiry'] = $row->ipb_expiry;
@@ -305,7 +305,8 @@ class ApiQueryUsers extends ApiQueryBase {
'registration',
'emailable',
'gender',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'users' => array(
ApiBase::PARAM_ISMULTI => true
diff --git a/includes/api/ApiQueryWatchlist.php b/includes/api/ApiQueryWatchlist.php
index 9f7387c7..648d2596 100644
--- a/includes/api/ApiQueryWatchlist.php
+++ b/includes/api/ApiQueryWatchlist.php
@@ -332,9 +332,9 @@ class ApiQueryWatchlist extends ApiQueryGeneratorBase {
}
if ( Revision::userCanBitfield( $row->rc_deleted, Revision::DELETED_USER, $user ) ) {
if ( $this->fld_userid ) {
- $vals['userid'] = $row->rc_user;
+ $vals['userid'] = (int)$row->rc_user;
// for backwards compatibility
- $vals['user'] = $row->rc_user;
+ $vals['user'] = (int)$row->rc_user;
}
if ( $this->fld_user ) {
@@ -451,6 +451,7 @@ class ApiQueryWatchlist extends ApiQueryGeneratorBase {
'prop' => array(
ApiBase::PARAM_ISMULTI => true,
ApiBase::PARAM_DFLT => 'ids|title|flags',
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
ApiBase::PARAM_TYPE => array(
'ids',
'title',
diff --git a/includes/api/ApiQueryWatchlistRaw.php b/includes/api/ApiQueryWatchlistRaw.php
index 493c192a..fc7b80c5 100644
--- a/includes/api/ApiQueryWatchlistRaw.php
+++ b/includes/api/ApiQueryWatchlistRaw.php
@@ -83,6 +83,28 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
);
}
+ if ( isset( $params['fromtitle'] ) ) {
+ list( $ns, $title ) = $this->prefixedTitlePartToKey( $params['fromtitle'] );
+ $title = $this->getDB()->addQuotes( $title );
+ $op = $params['dir'] == 'ascending' ? '>' : '<';
+ $this->addWhere(
+ "wl_namespace $op $ns OR " .
+ "(wl_namespace = $ns AND " .
+ "wl_title $op= $title)"
+ );
+ }
+
+ if ( isset( $params['totitle'] ) ) {
+ list( $ns, $title ) = $this->prefixedTitlePartToKey( $params['totitle'] );
+ $title = $this->getDB()->addQuotes( $title );
+ $op = $params['dir'] == 'ascending' ? '<' : '>'; // Reversed from above!
+ $this->addWhere(
+ "wl_namespace $op $ns OR " .
+ "(wl_namespace = $ns AND " .
+ "wl_title $op= $title)"
+ );
+ }
+
$sort = ( $params['dir'] == 'descending' ? ' DESC' : '' );
// Don't ORDER BY wl_namespace if it's constant in the WHERE clause
if ( count( $params['namespace'] ) == 1 ) {
@@ -149,7 +171,8 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
ApiBase::PARAM_ISMULTI => true,
ApiBase::PARAM_TYPE => array(
'changed',
- )
+ ),
+ ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
),
'show' => array(
ApiBase::PARAM_ISMULTI => true,
@@ -172,6 +195,12 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
),
ApiBase::PARAM_HELP_MSG => 'api-help-param-direction',
),
+ 'fromtitle' => array(
+ ApiBase::PARAM_TYPE => 'string'
+ ),
+ 'totitle' => array(
+ ApiBase::PARAM_TYPE => 'string'
+ ),
);
}
diff --git a/includes/api/ApiResult.php b/includes/api/ApiResult.php
index 7c573a8f..cd4165b6 100644
--- a/includes/api/ApiResult.php
+++ b/includes/api/ApiResult.php
@@ -108,13 +108,25 @@ class ApiResult implements ApiSerializable {
const META_TYPE = '_type';
/**
- * Key (rather than "name" or other default) for when META_TYPE is 'kvp' or
- * 'BCkvp'. Value is string.
+ * Key for the metadata item whose value specifies the name used for the
+ * kvp key in the alternative output format with META_TYPE 'kvp' or
+ * 'BCkvp', i.e. the "name" in <container><item name="key">value</item></container>.
+ * Value is string.
* @since 1.25
*/
const META_KVP_KEY_NAME = '_kvpkeyname';
/**
+ * Key for the metadata item that indicates that the KVP key should be
+ * added into an assoc value, i.e. {"key":{"val1":"a","val2":"b"}}
+ * transforms to {"name":"key","val1":"a","val2":"b"} rather than
+ * {"name":"key","value":{"val1":"a","val2":"b"}}.
+ * Value is boolean.
+ * @since 1.26
+ */
+ const META_KVP_MERGE = '_kvpmerge';
+
+ /**
* Key for the 'BC bools' metadata item. Value is string[].
* Note no setter is provided.
* @since 1.25
@@ -132,7 +144,7 @@ class ApiResult implements ApiSerializable {
private $errorFormatter;
// Deprecated fields
- private $isRawMode, $checkingSize, $mainForContinuation;
+ private $checkingSize, $mainForContinuation;
/**
* @param int|bool $maxSize Maximum result "size", or false for no limit
@@ -147,7 +159,6 @@ class ApiResult implements ApiSerializable {
}
$this->maxSize = $maxSize;
- $this->isRawMode = false;
$this->checkingSize = true;
$this->reset();
}
@@ -276,7 +287,7 @@ class ApiResult implements ApiSerializable {
* @param int $flags Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP.
*/
public static function setValue( array &$arr, $name, $value, $flags = 0 ) {
- if ( !( $flags & ApiResult::NO_VALIDATE ) ) {
+ if ( ( $flags & ApiResult::NO_VALIDATE ) !== ApiResult::NO_VALIDATE ) {
$value = self::validateValue( $value );
}
@@ -302,10 +313,14 @@ class ApiResult implements ApiSerializable {
$arr[$name] += $value;
} else {
$keys = join( ', ', array_keys( $conflicts ) );
- throw new RuntimeException( "Conflicting keys ($keys) when attempting to merge element $name" );
+ throw new RuntimeException(
+ "Conflicting keys ($keys) when attempting to merge element $name"
+ );
}
} else {
- throw new RuntimeException( "Attempting to add element $name=$value, existing value is {$arr[$name]}" );
+ throw new RuntimeException(
+ "Attempting to add element $name=$value, existing value is {$arr[$name]}"
+ );
}
}
@@ -386,6 +401,11 @@ class ApiResult implements ApiSerializable {
$arr = &$this->path( $path, ( $flags & ApiResult::ADD_ON_TOP ) ? 'prepend' : 'append' );
if ( $this->checkingSize && !( $flags & ApiResult::NO_SIZE_CHECK ) ) {
+ // self::valueSize needs the validated value. Then flag
+ // to not re-validate later.
+ $value = self::validateValue( $value );
+ $flags |= ApiResult::NO_VALIDATE;
+
$newsize = $this->size + self::valueSize( $value );
if ( $this->maxSize !== false && $newsize > $this->maxSize ) {
/// @todo Add i18n message when replacing calls to ->setWarning()
@@ -703,7 +723,9 @@ class ApiResult implements ApiSerializable {
* @param string $kvpKeyName See ApiResult::META_KVP_KEY_NAME
*/
public static function setArrayType( array &$arr, $type, $kvpKeyName = null ) {
- if ( !in_array( $type, array( 'default', 'array', 'assoc', 'kvp', 'BCarray', 'BCassoc', 'BCkvp' ), true ) ) {
+ if ( !in_array( $type, array(
+ 'default', 'array', 'assoc', 'kvp', 'BCarray', 'BCassoc', 'BCkvp'
+ ), true ) ) {
throw new InvalidArgumentException( 'Bad type' );
}
$arr[self::META_TYPE] = $type;
@@ -935,19 +957,43 @@ class ApiResult implements ApiSerializable {
: $transformTypes['ArmorKVP'];
$valKey = isset( $transforms['BC'] ) ? '*' : 'value';
$assocAsObject = !empty( $transformTypes['AssocAsObject'] );
+ $merge = !empty( $metadata[self::META_KVP_MERGE] );
$ret = array();
foreach ( $data as $k => $v ) {
- $item = array(
- $key => $k,
- $valKey => $v,
- );
- if ( $strip === 'none' ) {
- $item += array(
- self::META_PRESERVE_KEYS => array( $key ),
- self::META_CONTENT => $valKey,
- self::META_TYPE => 'assoc',
+ if ( $merge && ( is_array( $v ) || is_object( $v ) ) ) {
+ $vArr = (array)$v;
+ if ( isset( $vArr[self::META_TYPE] ) ) {
+ $mergeType = $vArr[self::META_TYPE];
+ } elseif ( is_object( $v ) ) {
+ $mergeType = 'assoc';
+ } else {
+ $keys = array_keys( $vArr );
+ sort( $keys, SORT_NUMERIC );
+ $mergeType = ( $keys === array_keys( $keys ) ) ? 'array' : 'assoc';
+ }
+ } else {
+ $mergeType = 'n/a';
+ }
+ if ( $mergeType === 'assoc' ) {
+ $item = $vArr + array(
+ $key => $k,
);
+ if ( $strip === 'none' ) {
+ self::setPreserveKeysList( $item, array( $key ) );
+ }
+ } else {
+ $item = array(
+ $key => $k,
+ $valKey => $v,
+ );
+ if ( $strip === 'none' ) {
+ $item += array(
+ self::META_PRESERVE_KEYS => array( $key ),
+ self::META_CONTENT => $valKey,
+ self::META_TYPE => 'assoc',
+ );
+ }
}
$ret[] = $assocAsObject ? (object)$item : $item;
}
@@ -1035,15 +1081,14 @@ class ApiResult implements ApiSerializable {
/**
* Get the 'real' size of a result item. This means the strlen() of the item,
* or the sum of the strlen()s of the elements if the item is an array.
- * @note Once the deprecated public self::size is removed, we can rename this back to a less awkward name.
- * @param mixed $value
+ * @note Once the deprecated public self::size is removed, we can rename
+ * this back to a less awkward name.
+ * @param mixed $value Validated value (see self::validateValue())
* @return int
*/
private static function valueSize( $value ) {
$s = 0;
- if ( is_array( $value ) ||
- is_object( $value ) && !is_callable( array( $value, '__toString' ) )
- ) {
+ if ( is_array( $value ) ) {
foreach ( $value as $k => $v ) {
if ( !self::isMetadataKey( $s ) ) {
$s += self::valueSize( $v );
@@ -1096,6 +1141,61 @@ class ApiResult implements ApiSerializable {
return $ret;
}
+ /**
+ * Add the correct metadata to an array of vars we want to export through
+ * the API.
+ *
+ * @param array $vars
+ * @param boolean $forceHash
+ * @return array
+ */
+ public static function addMetadataToResultVars( $vars, $forceHash = true ) {
+ // Process subarrays and determine if this is a JS [] or {}
+ $hash = $forceHash;
+ $maxKey = -1;
+ $bools = array();
+ foreach ( $vars as $k => $v ) {
+ if ( is_array( $v ) || is_object( $v ) ) {
+ $vars[$k] = ApiResult::addMetadataToResultVars( (array)$v, is_object( $v ) );
+ } elseif ( is_bool( $v ) ) {
+ // Better here to use real bools even in BC formats
+ $bools[] = $k;
+ }
+ if ( is_string( $k ) ) {
+ $hash = true;
+ } elseif ( $k > $maxKey ) {
+ $maxKey = $k;
+ }
+ }
+ if ( !$hash && $maxKey !== count( $vars ) - 1 ) {
+ $hash = true;
+ }
+
+ // Set metadata appropriately
+ if ( $hash ) {
+ // Get the list of keys we actually care about. Unfortunately, we can't support
+ // certain keys that conflict with ApiResult metadata.
+ $keys = array_diff( array_keys( $vars ), array(
+ ApiResult::META_TYPE, ApiResult::META_PRESERVE_KEYS, ApiResult::META_KVP_KEY_NAME,
+ ApiResult::META_INDEXED_TAG_NAME, ApiResult::META_BC_BOOLS
+ ) );
+
+ return array(
+ ApiResult::META_TYPE => 'kvp',
+ ApiResult::META_KVP_KEY_NAME => 'key',
+ ApiResult::META_PRESERVE_KEYS => $keys,
+ ApiResult::META_BC_BOOLS => $bools,
+ ApiResult::META_INDEXED_TAG_NAME => 'var',
+ ) + $vars;
+ } else {
+ return array(
+ ApiResult::META_TYPE => 'array',
+ ApiResult::META_BC_BOOLS => $bools,
+ ApiResult::META_INDEXED_TAG_NAME => 'value',
+ ) + $vars;
+ }
+ }
+
/**@}*/
/************************************************************************//**
@@ -1104,27 +1204,23 @@ class ApiResult implements ApiSerializable {
*/
/**
- * Call this function when special elements such as '_element'
- * are needed by the formatter, for example in XML printing.
+ * Formerly used to enable/disable "raw mode".
* @deprecated since 1.25, you shouldn't have been using it in the first place
* @since 1.23 $flag parameter added
* @param bool $flag Set the raw mode flag to this state
*/
public function setRawMode( $flag = true ) {
- // Can't wfDeprecated() here, since we need to set this flag from
- // ApiMain for BC with stuff using self::getIsRawMode as
- // "self::getIsXMLMode".
- $this->isRawMode = $flag;
+ wfDeprecated( __METHOD__, '1.25' );
}
/**
- * Returns true whether the formatter requested raw data.
+ * Returns true, the equivalent of "raw mode" is always enabled now
* @deprecated since 1.25, you shouldn't have been using it in the first place
* @return bool
*/
public function getIsRawMode() {
- /// @todo: After Wikibase stops calling this, warn
- return $this->isRawMode;
+ wfDeprecated( __METHOD__, '1.25' );
+ return true;
}
/**
@@ -1137,7 +1233,7 @@ class ApiResult implements ApiSerializable {
return $this->getResultData( null, array(
'BC' => array(),
'Types' => array(),
- 'Strip' => $this->isRawMode ? 'bc' : 'all',
+ 'Strip' => 'all',
) );
}
@@ -1176,7 +1272,7 @@ class ApiResult implements ApiSerializable {
*/
public static function setElement( &$arr, $name, $value, $flags = 0 ) {
wfDeprecated( __METHOD__, '1.25' );
- return self::setValue( $arr, $name, $value, $flags );
+ self::setValue( $arr, $name, $value, $flags );
}
/**
@@ -1390,7 +1486,7 @@ class ApiResult implements ApiSerializable {
*/
public static function size( $value ) {
wfDeprecated( __METHOD__, '1.25' );
- return self::valueSize( $value );
+ return self::valueSize( self::validateValue( $value ) );
}
/**
diff --git a/includes/api/ApiRevisionDelete.php b/includes/api/ApiRevisionDelete.php
index 28962316..7d89b690 100644
--- a/includes/api/ApiRevisionDelete.php
+++ b/includes/api/ApiRevisionDelete.php
@@ -32,6 +32,8 @@
class ApiRevisionDelete extends ApiBase {
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$params = $this->extractRequestParams();
$user = $this->getUser();
@@ -137,10 +139,8 @@ class ApiRevisionDelete extends ApiBase {
if ( !$messages ) {
return array();
}
- $result = $this->getResult();
$ret = array();
foreach ( $messages as $m ) {
- $message = array();
if ( $m['message'] instanceof Message ) {
$msg = $m['message'];
$message = array( 'message' => $msg->getKey() );
diff --git a/includes/api/ApiRollback.php b/includes/api/ApiRollback.php
index 02e62a03..6a3346f4 100644
--- a/includes/api/ApiRollback.php
+++ b/includes/api/ApiRollback.php
@@ -40,6 +40,8 @@ class ApiRollback extends ApiBase {
private $mUser = null;
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$user = $this->getUser();
$params = $this->extractRequestParams();
diff --git a/includes/api/ApiSetNotificationTimestamp.php b/includes/api/ApiSetNotificationTimestamp.php
index 86a3f6aa..fa6fabf6 100644
--- a/includes/api/ApiSetNotificationTimestamp.php
+++ b/includes/api/ApiSetNotificationTimestamp.php
@@ -112,9 +112,7 @@ class ApiSetNotificationTimestamp extends ApiBase {
: wfTimestamp( TS_ISO_8601, $timestamp );
} else {
// First, log the invalid titles
- foreach ( $pageSet->getInvalidTitles() as $title ) {
- $r = array();
- $r['title'] = $title;
+ foreach ( $pageSet->getInvalidTitlesAndReasons() as $r ) {
$r['invalid'] = true;
$result[] = $r;
}
diff --git a/includes/api/ApiStashEdit.php b/includes/api/ApiStashEdit.php
index d068e945..e87fc97a 100644
--- a/includes/api/ApiStashEdit.php
+++ b/includes/api/ApiStashEdit.php
@@ -20,7 +20,7 @@
*/
/**
- * Prepare and edit in shared cache so that it can be reused on edit
+ * Prepare an edit in shared cache so that it can be reused on edit
*
* This endpoint can be called via AJAX as the user focuses on the edit
* summary box. By the time of submission, the parse may have already
@@ -112,6 +112,7 @@ class ApiStashEdit extends ApiBase {
if ( $user->pingLimiter( 'stashedit' ) ) {
$status = 'ratelimited';
} elseif ( $wgMemc->lock( $key, 0, 30 ) ) {
+ /** @noinspection PhpUnusedLocalVariableInspection */
$unlocker = new ScopedCallback( function() use ( $key ) {
global $wgMemc;
$wgMemc->unlock( $key );
@@ -350,7 +351,7 @@ class ApiStashEdit extends ApiBase {
$content->getDefaultFormat(),
sha1( $content->serialize( $content->getDefaultFormat() ) ),
$user->getId() ?: md5( $user->getName() ), // account for user parser options
- $user->getId() ? $user->getTouched() : '-' // handle preference change races
+ $user->getId() ? $user->getDBTouched() : '-' // handle preference change races
) ) );
return wfMemcKey( 'prepared-edit', md5( $title->getPrefixedDBkey() ), $hash );
@@ -399,7 +400,7 @@ class ApiStashEdit extends ApiBase {
ApiBase::PARAM_TYPE => 'string'
),
'text' => array(
- ApiBase::PARAM_TYPE => 'string',
+ ApiBase::PARAM_TYPE => 'text',
ApiBase::PARAM_REQUIRED => true
),
'contentmodel' => array(
diff --git a/includes/api/ApiUnblock.php b/includes/api/ApiUnblock.php
index 1af83ba3..f6c24b76 100644
--- a/includes/api/ApiUnblock.php
+++ b/includes/api/ApiUnblock.php
@@ -53,7 +53,13 @@ class ApiUnblock extends ApiBase {
if ( $user->isBlocked() ) {
$status = SpecialBlock::checkUnblockSelf( $params['user'], $user );
if ( $status !== true ) {
- $this->dieUsageMsg( $status );
+ $msg = $this->parseMsg( $status );
+ $this->dieUsage(
+ $msg['info'],
+ $msg['code'],
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) )
+ );
}
}
diff --git a/includes/api/ApiUndelete.php b/includes/api/ApiUndelete.php
index c23e9ff6..cd50ee65 100644
--- a/includes/api/ApiUndelete.php
+++ b/includes/api/ApiUndelete.php
@@ -30,6 +30,8 @@
class ApiUndelete extends ApiBase {
public function execute() {
+ $this->useTransactionalTimeLimit();
+
$params = $this->extractRequestParams();
if ( !$this->getUser()->isAllowed( 'undelete' ) ) {
@@ -37,7 +39,12 @@ class ApiUndelete extends ApiBase {
}
if ( $this->getUser()->isBlocked() ) {
- $this->dieUsageMsg( 'blockedtext' );
+ $this->dieUsage(
+ 'You have been blocked from editing',
+ 'blocked',
+ 0,
+ array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $this->getUser()->getBlock() ) )
+ );
}
$titleObj = Title::newFromText( $params['title'] );
diff --git a/includes/api/ApiUpload.php b/includes/api/ApiUpload.php
index 7661625c..65403ec4 100644
--- a/includes/api/ApiUpload.php
+++ b/includes/api/ApiUpload.php
@@ -313,6 +313,7 @@ class ApiUpload extends ApiBase {
$result['result'] = 'Continue';
$result['offset'] = $totalSoFar;
}
+
$result['filekey'] = $filekey;
return $result;
@@ -580,17 +581,28 @@ class ApiUpload extends ApiBase {
$this->dieUsage( $msg, 'filetype-banned', 0, $extradata );
break;
case UploadBase::VERIFICATION_ERROR:
+ $params = $verification['details'];
+ $key = array_shift( $params );
+ $msg = $this->msg( $key, $params )->inLanguage( 'en' )->useDatabase( false )->text();
ApiResult::setIndexedTagName( $verification['details'], 'detail' );
- $this->dieUsage( 'This file did not pass file verification', 'verification-error',
+ $this->dieUsage( "This file did not pass file verification: $msg", 'verification-error',
0, array( 'details' => $verification['details'] ) );
break;
case UploadBase::HOOK_ABORTED:
- $this->dieUsage( "The modification you tried to make was aborted by an extension hook",
- 'hookaborted', 0, array( 'error' => $verification['error'] ) );
+ if ( is_array( $verification['error'] ) ) {
+ $params = $verification['error'];
+ } elseif ( $verification['error'] !== '' ) {
+ $params = array( $verification['error'] );
+ } else {
+ $params = array( 'hookaborted' );
+ }
+ $key = array_shift( $params );
+ $msg = $this->msg( $key, $params )->inLanguage( 'en' )->useDatabase( false )->text();
+ $this->dieUsage( $msg, 'hookaborted', 0, array( 'details' => $verification['error'] ) );
break;
default:
$this->dieUsage( 'An unknown error occurred', 'unknown-error',
- 0, array( 'code' => $verification['status'] ) );
+ 0, array( 'details' => array( 'code' => $verification['status'] ) ) );
break;
}
}
@@ -788,7 +800,9 @@ class ApiUpload extends ApiBase {
'comment' => array(
ApiBase::PARAM_DFLT => ''
),
- 'text' => null,
+ 'text' => array(
+ ApiBase::PARAM_TYPE => 'text',
+ ),
'watch' => array(
ApiBase::PARAM_DFLT => false,
ApiBase::PARAM_DEPRECATED => true,
diff --git a/includes/api/i18n/ar.json b/includes/api/i18n/ar.json
index aa456f00..7bdf29ab 100644
--- a/includes/api/i18n/ar.json
+++ b/includes/api/i18n/ar.json
@@ -4,7 +4,8 @@
"Meno25",
"أحمد المحمودي",
"Khaled",
- "Fatz"
+ "Fatz",
+ "Hiba Alshawi"
]
},
"apihelp-main-param-format": "صيغة الخرج.",
@@ -24,5 +25,6 @@
"apihelp-edit-param-watch": "أضف الصفحة إلى لائحة مراقبة المستعمل الحالي",
"apihelp-emailuser-description": "مراسلة المستخدم",
"apihelp-patrol-example-rcid": "ابحث عن تغيير جديد",
+ "apihelp-query+imageinfo-paramvalue-prop-userid": "إضافة هوية المستخدم الذي قام بتحميل كل إصدار ملف.",
"apihelp-query+prefixsearch-param-offset": "عدد النتائج المراد تخطيها."
}
diff --git a/includes/api/i18n/ast.json b/includes/api/i18n/ast.json
new file mode 100644
index 00000000..9494a7cb
--- /dev/null
+++ b/includes/api/i18n/ast.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xuacu"
+ ]
+ },
+ "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentación]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Llista d'alderique]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios de la API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Fallos y solicitúes]\n</div>\n<strong>Estau:</strong> Toles carauterístiques qu'apaecen nesta páxina tendríen de funcionar, pero la API inda ta en desendolcu activu, y puede camudar en cualquier momentu. Suscríbete a la [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ llista de corréu mediawiki-api-announce] p'avisos sobro anovamientos.\n\n<strong>Solicitúes incorreutes:</strong> Cuando s'unvíen solicitúes incorreutes a la API, unvíase una cabecera HTTP cola clave \"MediaWiki-API-Error\" y, darréu, tanto'l valor de la cabecera como'l códigu d'error devueltu pondránse al mesmu valor. Pa más información, consulta [[mw:API:Errors_and_warnings|API: Errores y avisos]].",
+ "apihelp-main-param-action": "Qué aición facer.",
+ "apihelp-main-param-format": "El formatu de la salida."
+}
diff --git a/includes/api/i18n/ba.json b/includes/api/i18n/ba.json
new file mode 100644
index 00000000..bda2291d
--- /dev/null
+++ b/includes/api/i18n/ba.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Рустам Нурыев"
+ ]
+ },
+ "apihelp-feedcontributions-param-toponly": "Һуңғы өлгө булған төҙәтеүҙәрҙе генә күрһәтергә",
+ "apihelp-feedcontributions-param-showsizediff": "Өлгәоәр араһыдағы күләм айырмаһын күрһәтергә",
+ "apihelp-feedrecentchanges-param-from": "Теге ваҡыттын булған үҙгәрештәрҙе күрһәтергә",
+ "apihelp-feedrecentchanges-param-target": "Был биттән һылтанған биттәрҙә һуңғы үҙгәртеүҙәрҙе күрһәтергә",
+ "apihelp-feedrecentchanges-example-simple": "Һуңғы үҙгәртеүҙәрҙе күрһәтергә.",
+ "apihelp-feedwatchlist-example-default": "Күҙәтеү каналын күрһәтергә"
+}
diff --git a/includes/api/i18n/bcl.json b/includes/api/i18n/bcl.json
new file mode 100644
index 00000000..420aded3
--- /dev/null
+++ b/includes/api/i18n/bcl.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Geopoet"
+ ]
+ },
+ "apihelp-expandtemplates-paramvalue-prop-categories": "Arinman na mga kategoriyang yaon sa pinapalaog na bakong representado sa laog kan wikitext na kinaluwasan.",
+ "apihelp-query+watchlistraw-param-fromtitle": "Titulo (may espasyong ngaran sa enotang panigmitan) sa pagpopoon kan gikanang pinagkuanan.",
+ "apihelp-query+watchlistraw-param-totitle": "Titulo (may espasyong ngaran sa enotang panigmitan) sa pagpapauntok kan gikanang pinaghalean."
+}
diff --git a/includes/api/i18n/be-tarask.json b/includes/api/i18n/be-tarask.json
index a09cb5ab..98485cff 100644
--- a/includes/api/i18n/be-tarask.json
+++ b/includes/api/i18n/be-tarask.json
@@ -8,8 +8,8 @@
"apihelp-main-param-action": "Дзеяньне для выкананьня.",
"apihelp-main-param-format": "Фармат вываду.",
"apihelp-main-param-maxlag": "Максымальная затрымка можа ўжывацца, калі MediaWiki ўсталяваная ў клястэр з рэплікаванай базай зьвестак. Дзеля захаваньня дзеяньняў, якія выклікаюць затрымку рэплікацыі, гэты парамэтар можа прымусіць кліента чакаць, пакуль затрымка рэплікацыі меншая за яго значэньне. У выпадку доўгай затрымкі, вяртаецца код памылкі <samp>maxlag</samp> з паведамленьнем кшталту <samp>Чаканьне $host: $lag сэкундаў затрымкі</samp>.<br />Глядзіце [[mw:Manual:Maxlag_parameter|Інструкцыя:Парамэтар maxlag]] дзеля дадатковай інфармацыі.",
- "apihelp-main-param-smaxage": "Выстаўце загаловак <code>s-maxage</code> на зададзеную колькасьць сэкундаў. Памылкі ніколі не кэшуюцца.",
- "apihelp-main-param-maxage": "Выстаўляе загаловак <code>max-age</code> на зададзеную колькасьць сэкундаў. Памылкі ніколі не кэшуюцца.",
+ "apihelp-main-param-smaxage": "Выстаўце HTTP-загаловак кантролю кэшу <code>s-maxage</code> на зададзеную колькасьць сэкундаў. Памылкі ніколі не кэшуюцца.",
+ "apihelp-main-param-maxage": "Выстаўляе HTTP-загаловак кантролю кэшу <code>max-age</code> на зададзеную колькасьць сэкундаў. Памылкі ніколі не кэшуюцца.",
"apihelp-main-param-assert": "Упэўніцеся, што ўдзельнік увайшоў у сыстэму, калі зададзена <kbd>user</kbd>, або мае правы робата, калі зададзена <kbd>bot</kbd>.",
"apihelp-main-param-requestid": "Любое значэньне, пададзенае тут, будзе ўключанае ў адказ. Можа быць выкарыстанае для адрозьненьня запытаў.",
"apihelp-main-param-servedby": "Уключае ў вынік назву сэрвэра, які апрацаваў запыт.",
diff --git a/includes/api/i18n/br.json b/includes/api/i18n/br.json
new file mode 100644
index 00000000..68102359
--- /dev/null
+++ b/includes/api/i18n/br.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Y-M D"
+ ]
+ },
+ "apihelp-block-description": "Stankañ un implijer",
+ "apihelp-block-param-reason": "Abeg evit stankañ.",
+ "apihelp-delete-description": "Diverkañ ur bajenn.",
+ "apihelp-edit-param-minor": "Kemmig dister.",
+ "apihelp-edit-example-edit": "Kemmañ ur bajenn.",
+ "apihelp-expandtemplates-param-title": "Titl ar bajenn."
+}
diff --git a/includes/api/i18n/bs.json b/includes/api/i18n/bs.json
index 420e6ac0..841bb2a4 100644
--- a/includes/api/i18n/bs.json
+++ b/includes/api/i18n/bs.json
@@ -1,14 +1,15 @@
{
"@metadata": {
"authors": [
- "Palapa"
+ "Palapa",
+ "Semso98"
]
},
"apihelp-main-param-action": "Koju akciju izvesti.",
"apihelp-main-param-format": "Format izlaza.",
"apihelp-block-description": "Blokiraj korisnika",
"apihelp-block-param-reason": "Razlog za blokadu",
- "apihelp-block-example-ip-simple": "Blokiraj IP 192.0.2.5 na tri dana sa razlogom \"Prvi napad\"",
+ "apihelp-block-example-ip-simple": "Blokiraj IP adresu <kbd>192.0.2.5</kbd> na tri dana sa razlogom <kbd>Prvi napad</kbd>.",
"apihelp-compare-param-fromtitle": "Prvi naslov za poređenje.",
"apihelp-delete-description": "Obriši stranicu.",
"apihelp-edit-param-text": "Sadržaj stranice.",
diff --git a/includes/api/i18n/ca.json b/includes/api/i18n/ca.json
index 7aa17307..4aacd1aa 100644
--- a/includes/api/i18n/ca.json
+++ b/includes/api/i18n/ca.json
@@ -3,7 +3,9 @@
"authors": [
"Toniher",
"Macofe",
- "Xavier Dengra"
+ "Xavier Dengra",
+ "F3RaN",
+ "Eduardo Martinez"
]
},
"apihelp-main-param-format": "El format de la sortida.",
@@ -39,5 +41,16 @@
"apihelp-feedrecentchanges-example-simple": "Mostra els canvis recents.",
"apihelp-help-example-recursive": "Tota l'ajuda en una sola pàgina.",
"apihelp-import-param-rootpage": "Importa com a subpàgina d'aquesta pàgina.",
- "apihelp-login-example-login": "Inicia sessió."
+ "apihelp-login-param-name": "Nom d'usuari.",
+ "apihelp-login-param-password": "Contrasenya.",
+ "apihelp-login-example-login": "Inicia sessió.",
+ "apihelp-protect-param-cascade": "Activa la protecció en cascada (és a dir, protegeix les plantilles i imatges utilitzades en aquesta pàgina). S'ignora si cap dels nivells de protecció suporta la protecció en cascada.",
+ "apihelp-query+pageswithprop-example-generator": "Obtenir informació addicional sobre les 10 primeres pàgines utilitzant <code>__NOTOC__</code>.",
+ "apihelp-query+watchlist-paramvalue-prop-title": "Afegeix el títol de la pàgina.",
+ "apihelp-query+watchlist-paramvalue-prop-user": "Afegeix l'usuari que ha fet l'edició.",
+ "apihelp-query+watchlist-paramvalue-prop-userid": "Afegeix l'IDentificador de l'usuari que ha fet l'edició.",
+ "apihelp-query+watchlist-paramvalue-prop-comment": "Afegeix comentari de l'edició.",
+ "apihelp-query+watchlist-paramvalue-prop-timestamp": "Afegeix timestamp de l'edició.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Etiqueta les modificacions que són vigilades.",
+ "apihelp-query+watchlist-paramvalue-prop-loginfo": "Afegeix informació de registre, si s'escau."
}
diff --git a/includes/api/i18n/ce.json b/includes/api/i18n/ce.json
index 1d866ba6..5b057559 100644
--- a/includes/api/i18n/ce.json
+++ b/includes/api/i18n/ce.json
@@ -8,5 +8,6 @@
"apihelp-main-param-format": "Гойту формат.",
"apihelp-main-param-curtimestamp": "Хилламийн юкъатоха ханна йолу билгало",
"apihelp-createaccount-param-name": "Декъашхочун цӀе.",
- "apihelp-userrights-param-userid": "Декъашхочун ID."
+ "apihelp-userrights-param-userid": "Декъашхочун ID.",
+ "api-help-datatypes-header": "Хаамийн тайпанаш"
}
diff --git a/includes/api/i18n/ckb.json b/includes/api/i18n/ckb.json
new file mode 100644
index 00000000..025741cb
--- /dev/null
+++ b/includes/api/i18n/ckb.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Pirehelokan"
+ ]
+ },
+ "apihelp-parse-param-disabletoc": "پێرستی ناوەرۆک پیشان مەدە."
+}
diff --git a/includes/api/i18n/cs.json b/includes/api/i18n/cs.json
index 059eb82e..b544cc8b 100644
--- a/includes/api/i18n/cs.json
+++ b/includes/api/i18n/cs.json
@@ -5,20 +5,21 @@
"YjM",
"Juandev",
"Aktron",
- "Cvanca"
+ "Cvanca",
+ "Utar"
]
},
"apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Dokumentace]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-mailová konference]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Oznámení k API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Chyby a požadavky]\n</div>\n<strong>Stav:</strong> Všechny funkce uvedené na této stránce by měly fungovat, ale API se stále aktivně vyvíjí a může se kdykoli změnit. Upozornění na změny získáte přihlášením se k [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-mailové konferenci mediawiki-api-announce].\n\n<strong>Chybné požadavky:</strong> Pokud jsou do API zaslány chybné požadavky, bude vrácena HTTP hlavička s klíčem „MediaWiki-API-Error“ a hodnota této hlavičky a chybový kód budou nastaveny na stejnou hodnotu. Více informací najdete [[mw:API:Errors_and_warnings|v dokumentaci]].",
"apihelp-main-param-action": "Jaká akce se má provést.",
"apihelp-main-param-format": "Formát výstupu.",
"apihelp-main-param-maxlag": "Maximální zpoždění lze použít, když je MediaWiki nainstalováno na cluster s replikovanou databází. Abyste se vyhnuli zhoršování už tak špatného replikačního zpoždění, můžete tímto parametrem nechat klienta čekat, dokud replikační zpoždění neklesne pod uvedenou hodnotu. V případě příliš vysokého zpoždění se vrátí chybový kód „<samp>maxlag</samp>“ s hlášením typu „<samp>Waiting for $host: $lag seconds lagged</samp>“.<br />Více informací najdete v [[mw:Manual:Maxlag_parameter|příručce]].",
- "apihelp-main-param-smaxage": "Nastaví hlavičku <code>s-maxage</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
- "apihelp-main-param-maxage": "Nastaví hlavičku <code>max-age</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
+ "apihelp-main-param-smaxage": "Nastaví HTTP hlavičku pro řízení kešování <code>s-maxage</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
+ "apihelp-main-param-maxage": "Nastaví HTTP hlavičku pro řízení kešování <code>max-age</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
"apihelp-main-param-assert": "Pokud je nastaveno na „<kbd>user</kbd>“, ověří, že je uživatel přihlášen, pokud je nastaveno na „<kbd>bot</kbd>“, ověří, že má oprávnění „bot“.",
"apihelp-main-param-requestid": "Libovolná zde uvedená hodnota bude zahrnuta v odpovědi. Lze použít pro rozlišení požadavků.",
"apihelp-main-param-servedby": "Zahrnout do odpovědi název hostitele, který požadavek obsloužil.",
"apihelp-main-param-curtimestamp": "Zahrnout do odpovědi aktuální časové razítko.",
- "apihelp-main-param-origin": "Pokud k API přistupujete pomocí mezidoménového AJAXového požadavku (CORS), nastavte tento parametr na doménu původu. Musí být součástí všech předběžných požadavků, takže musí být součástí URI požadavku (nikoli těla POSTu). Hodnota musí přesně odpovídat jednomu z původů v hlavičce Origin:, takže musí být nastavena na něco jako http://en.wikipedia.org nebo https://meta.wikimedia.org. Pokud parametr neodpovídá hlavičce Origin:, bude vrácena odpověď 403. Pokud parametr odpovídá hlavičce Origin: a tento původ je na bílé listině, bude nastavena hlavička Access-Control-Allow-Origin.",
+ "apihelp-main-param-origin": "Pokud k API přistupujete pomocí mezidoménového AJAXového požadavku (CORS), nastavte tento parametr na doménu původu. Musí být součástí všech předběžných požadavků, takže musí být součástí URI požadavku (nikoli těla POSTu). Hodnota musí přesně odpovídat jednomu z původů v hlavičce <code>Origin</code>, takže musí být nastavena na něco jako <kbd>https://en.wikipedia.org</kbd> nebo <kbd>https://meta.wikimedia.org</kbd>. Pokud parametr neodpovídá hlavičce <code>Origin</code>, bude vrácena odpověď 403. Pokud parametr odpovídá hlavičce <code>Origin</code> a tento původ je na bílé listině, bude nastavena hlavička <code>Access-Control-Allow-Origin</code>.",
"apihelp-main-param-uselang": "Jazyk, který se má použít pro překlad hlášení. Seznam kódů lze načíst z <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> se <kbd>siprop=languages</kbd>, nebo zadejte „<kbd>user</kbd>“ pro použití předvoleného jazyka aktuálního uživatele či „<kbd>content</kbd>“ pro použití jazyka obsahu této wiki.",
"apihelp-block-description": "Zablokovat uživatele.",
"apihelp-block-param-user": "Uživatelské jméno, IP adresa nebo rozsah IP adres, které chcete zablokovat.",
@@ -32,7 +33,9 @@
"apihelp-block-param-watchuser": "Sledovat stránku uživatele nebo IP adresy a jejich diskuzní stránky.",
"apihelp-block-example-ip-simple": "Na tři dny zablokovat IP adresu <kbd>192.0.2.5</kbd> s odůvodněním <kbd>First strike</kbd>.",
"apihelp-block-example-user-complex": "Trvale zablokovat uživatele <kbd>Vandal</kbd> s odůvodněním <kbd>Vandalism</kbd> a zabránit vytváření nových účtů a odesílání e-mailů.",
- "apihelp-compare-description": "Vrátí rozdíl dvou stránek.\n\nVe „from“ a „to“ musíte zadat číslo revize, název stránky nebo ID stránky.",
+ "apihelp-checktoken-param-type": "Typ testovaného tokenu.",
+ "apihelp-checktoken-param-token": "Token, který se má otestovat.",
+ "apihelp-compare-description": "Vrátí rozdíl dvou stránek.\n\nVe „from“ i „to“ musíte zadat číslo revize, název stránky nebo ID stránky.",
"apihelp-compare-param-fromtitle": "Název první stránky k porovnání.",
"apihelp-compare-param-fromid": "ID první stránky k porovnání.",
"apihelp-compare-param-fromrev": "Číslo revize první stránky k porovnání.",
@@ -55,9 +58,13 @@
"apihelp-delete-param-title": "Název stránky, která se má smazat. Není možné použít společně s <var>$1pageid</var>.",
"apihelp-delete-param-pageid": "ID stránky, která se má smazat. Není možné použít společně s <var>$1title</var>.",
"apihelp-delete-param-watch": "Přidat stránku na seznam sledovaných.",
+ "apihelp-delete-param-unwatch": "Odstranit stránku ze seznamu sledovaných.",
"apihelp-delete-example-simple": "Smazat stránku <kbd>Main Page</kbd>.",
+ "apihelp-delete-example-reason": "Smazat stránku <kbd>Main Page</kbd> s odůvodněním <kbd>Preparing for move</kbd>.",
"apihelp-disabled-description": "Tento modul byl deaktivován.",
"apihelp-edit-description": "Vytvářet a upravovat stránky.",
+ "apihelp-edit-param-title": "Název stránky, kterou chcete editovat. Nelze použít společně s <var>$1pageid</var>.",
+ "apihelp-edit-param-pageid": "ID stránky, která se má editovat. Není možné použít společně s <var>$1title</var>.",
"apihelp-edit-param-sectiontitle": "Název nové sekce.",
"apihelp-edit-param-text": "Obsah stránky.",
"apihelp-edit-param-minor": "Malá editace.",
@@ -71,14 +78,24 @@
"apihelp-edit-param-redirect": "Automaticky opravit přesměrování.",
"apihelp-edit-example-edit": "Upravit stránku.",
"apihelp-emailuser-description": "Poslat uživateli e-mail.",
+ "apihelp-emailuser-param-target": "Uživatel, kterému se má e-mail poslat.",
+ "apihelp-emailuser-param-subject": "Hlavička s předmětem.",
"apihelp-emailuser-param-text": "Tělo zprávy.",
"apihelp-emailuser-param-ccme": "Odeslat mi kopii této zprávy.",
+ "apihelp-emailuser-example-email": "Poslat e-mail uživateli <kbd>WikiSysop</kbd> s textem <kbd>Content</kbd>.",
+ "apihelp-expandtemplates-description": "Rozbalí všechny šablony ve wikitextu.",
+ "apihelp-expandtemplates-param-title": "Název stránky.",
"apihelp-expandtemplates-param-text": "Wikitext k převedení.",
+ "apihelp-expandtemplates-param-revid": "ID revize, pro <nowiki>{{REVISIONID}}</nowiki> a podobné proměnné.",
"apihelp-feedcontributions-description": "Vrátí kanál příspěvků uživatele.",
"apihelp-feedcontributions-param-feedformat": "Formát kanálu.",
"apihelp-feedcontributions-param-year": "Od roku (a dříve).",
"apihelp-feedcontributions-param-month": "Od měsíce (a dříve)",
+ "apihelp-feedcontributions-param-tagfilter": "Filtrovat příspěvky, které mají tyto značky.",
"apihelp-feedcontributions-param-deletedonly": "Zobrazit pouze smazané příspěvky.",
+ "apihelp-feedcontributions-param-toponly": "Zobrazit pouze ty editace, které jsou aktuální revize.",
+ "apihelp-feedcontributions-param-newonly": "Zobrazit pouze ty editace, které vytvořily stránku.",
+ "apihelp-feedcontributions-param-showsizediff": "Zobrazit rozdíl velikosti mezi revizemi.",
"apihelp-feedrecentchanges-param-namespace": "Jmenný prostor, na který mají být výsledky omezeny.",
"apihelp-feedrecentchanges-param-from": "Zobrazit změny od",
"apihelp-feedrecentchanges-param-hideminor": "Skrýt drobné změny.",
@@ -95,7 +112,7 @@
"apihelp-filerevert-param-filename": "Cílový název souboru, bez prefixu Soubor:",
"apihelp-filerevert-param-comment": "Vložit komentář.",
"apihelp-help-description": "Zobrazuje nápovědu k uvedeným modulům.",
- "apihelp-help-param-modules": "Moduly, pro které se má zobrazit nápověda (hodnoty parametrů action= a format= nebo „main“). Submoduly lze zadávat pomocí „+“.",
+ "apihelp-help-param-modules": "Moduly, pro které se má zobrazit nápověda (hodnoty parametrů <var>action</var> a <var>format</var> anebo <kbd>main</kbd>). Submoduly lze zadávat pomocí <kbd>+</kbd>.",
"apihelp-help-param-submodules": "Zahrnout nápovědu pro podmoduly uvedeného modulu.",
"apihelp-help-param-recursivesubmodules": "Zahrnout nápovědu pro podmoduly rekurzivně.",
"apihelp-help-param-helpformat": "Formát výstupu nápovědy.",
@@ -106,9 +123,11 @@
"apihelp-help-example-help": "Nápověda k samotnému modulu nápovědy",
"apihelp-help-example-query": "Nápověda pro dva podmoduly query",
"apihelp-imagerotate-description": "Otočit jeden nebo více obrázků.",
+ "apihelp-imagerotate-example-generator": "Otočit všechny obrázky v <kbd>Category:Flip</kbd> o <kbd>180</kbd> stupňů.",
"apihelp-import-param-summary": "Import shrnutí.",
"apihelp-import-param-xml": "Nahraný XML soubor.",
- "apihelp-import-param-rootpage": "Importovat jako podstránku k této stránce.",
+ "apihelp-import-param-namespace": "Importovat do tohoto jmenného prostoru. Nelze používat současně s parametrem <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "Importovat jako podstránku k této stránce. Nelze používat současně s parametrem <var>$1namespace</var>.",
"apihelp-login-param-name": "Uživatelské jméno.",
"apihelp-login-param-password": "Heslo.",
"apihelp-login-param-domain": "Doména (volitelná)",
@@ -122,23 +141,35 @@
"apihelp-move-param-watch": "Přidat stránku a přesměrování do sledovaných stránek aktuálního uživatele.",
"apihelp-move-param-unwatch": "Odstranit stránku a přesměrování ze sledovaných stránek současného uživatele.",
"apihelp-move-param-ignorewarnings": "Ignorovat všechna varování.",
+ "apihelp-opensearch-description": "Vyhledávání na wiki pomocí protokolu OpenSearch.",
"apihelp-opensearch-param-search": "Hledaný řetězec.",
"apihelp-opensearch-param-limit": "Maximální počet vrácených výsledků",
"apihelp-opensearch-param-namespace": "Jmenné prostory pro vyhledávání.",
+ "apihelp-opensearch-param-suggest": "Pokud je <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> vypnuto, nedělat nic.",
"apihelp-opensearch-param-format": "Formát výstupu.",
"apihelp-opensearch-example-te": "Najít stránky začínající na „<kbd>Te</kbd>“.",
+ "apihelp-options-param-reset": "Vrátit nastavení na výchozí hodnoty.",
"apihelp-options-example-reset": "Vrátit všechna nastavení.",
+ "apihelp-parse-param-summary": "Shrnutí, které se má parsovat.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Přidává název parsovaného wikitextu.",
+ "apihelp-parse-param-preview": "Parsovat v režimu náhledu.",
"apihelp-parse-example-page": "Parsovat stránku.",
"apihelp-parse-example-text": "Parsovat wikitext.",
+ "apihelp-parse-example-summary": "Parsovat shrnutí.",
"apihelp-patrol-example-revid": "Prověřit revizi.",
"apihelp-protect-description": "Změnit úroveň zamčení stránky.",
"apihelp-protect-param-reason": "Důvod pro odemčení.",
"apihelp-protect-example-protect": "Zamknout stránku.",
+ "apihelp-query+allcategories-param-limit": "Kolik má být zobrazeno kategorií.",
"apihelp-query+alldeletedrevisions-description": "Seznam všech smazaných revizí od konkrétního uživatele nebo v konkrétním jmenném prostoru.",
+ "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "Není možné užít s <var>$3user</var>.",
"apihelp-query+alldeletedrevisions-example-user": "Seznam posledních 50 smazaných editací uživatele <kbd>Příklad<kbd>.",
"apihelp-query+alldeletedrevisions-example-ns-main": "Seznam prvních 50 smazaných revizí v hlavním jmenném prostoru.",
"apihelp-query+allfileusages-description": "Zobrazit seznam všech použití souboru, včetně neexistujících.",
"apihelp-query+allfileusages-example-unique": "Zobrazit seznam unikátních názvů souborů.",
+ "apihelp-query+allimages-param-minsize": "Omezit na obrázky, které mají alespoň tento počet bajtů.",
+ "apihelp-query+allimages-param-maxsize": "Omezit na obrázky, které mají maximálně tento počet bajtů.",
+ "apihelp-query+allimages-param-limit": "Kolik má být celkem zobrazeno obrázků.",
"apihelp-query+alllinks-example-generator": "Získat stránky obsahující odkazy.",
"apihelp-query+allpages-param-filterredir": "Které stránky uvést na seznam.",
"apihelp-query+allpages-param-minsize": "Omezit na stránky s určitým počtem bajtů.",
@@ -147,15 +178,44 @@
"apihelp-query+allredirects-description": "Seznam všech přesměrování pro jmenný prostor.",
"apihelp-query+allredirects-example-unique": "Seznam unikátních cílových stránek.",
"apihelp-query+allredirects-example-generator": "Získat stránky obsahující přesměrování.",
+ "apihelp-query+alltransclusions-param-limit": "Kolik položek zobrazit celkem.",
"apihelp-query+alltransclusions-example-unique": "Seznam unikátně vložených titulů.",
+ "apihelp-query+allusers-example-Y": "Zobrazit uživatele počínaje písmenem <kbd>Y</kbd>.",
+ "apihelp-query+backlinks-description": "Najít všechny stránky, které odkazují na danou stránku.",
"apihelp-query+backlinks-example-simple": "Zobrazit odkazy na <kbd>Hlavní stránka</kbd>",
+ "apihelp-query+blocks-example-simple": "Vypsat zablokování.",
+ "apihelp-query+blocks-example-users": "Seznam bloků uživatelů <kbd>Alice</kbd> a <kbd>Bob</kbd>.",
+ "apihelp-query+categories-description": "Zobrazit všechny kategorie, do kterých je stránka zařazena.",
+ "apihelp-query+categories-param-limit": "Kolik kategorií má být zobrazeno.",
"apihelp-query+categorymembers-description": "Seznam všech stránek v dané kategorii.",
+ "apihelp-query+categorymembers-param-limit": "Maximální počet stránek k zobrazení.",
+ "apihelp-query+categorymembers-example-simple": "Zobrazit prvních 10 stránek v <kbd>Category:Physics</kbd>",
+ "apihelp-query+categorymembers-example-generator": "Získat informace o prvních 10 stránkách v <kbd>Category:Physics</kbd>",
+ "apihelp-query+contributors-description": "Zobrazit seznam registrovaných a počet anonymních přispěvatelů stránky.",
+ "apihelp-query+contributors-param-limit": "Kolik přispěvatelů má být zobrazeno.",
+ "apihelp-query+contributors-example-simple": "Zobrazit přispěvatele stránky <kbd>Main Page</kbd>.",
"apihelp-query+deletedrevisions-param-limit": "Maximální počet revizí pro zobrazení v seznamu.",
+ "apihelp-query+deletedrevs-param-excludeuser": "Nezahrnovat revize od tohoto uživatele.",
+ "apihelp-query+deletedrevs-param-namespace": "Zahrnout pouze stránky z tohoto jmenného prostoru.",
+ "apihelp-query+deletedrevs-param-limit": "Maximální počet revizí k zobrazení.",
"apihelp-query+embeddedin-example-simple": "Zobrazit stránky, které obahují <kbd>Template:Stub</kbd>.",
"apihelp-query+filearchive-example-simple": "Zobrazit seznam všech smazaných souborů.",
"apihelp-query+filerepoinfo-example-simple": "Získat informace o souborových repozitářích.",
+ "apihelp-query+iwbacklinks-param-prefix": "Prefix pro interwiki",
+ "apihelp-query+iwlinks-param-limit": "Počet interwiki odkazů k zobrazení.",
+ "apihelp-query+iwlinks-param-prefix": "Zobrazit pouze interwiki odkazy s tímto prefixem.",
+ "apihelp-query+iwlinks-param-title": "Interwiki odkaz, který se má hledat. Musí se použít spolu s <var>$1prefix</var>.",
+ "apihelp-query+langbacklinks-param-lang": "Jazyk pro jazykový odkaz.",
+ "apihelp-query+langbacklinks-example-simple": "Zobrazit stránky odkazující na [[:fr:Test]]",
+ "apihelp-query+langbacklinks-example-generator": "Získat informace o stránkách odkazujících na [[:fr:Test]].",
+ "apihelp-query+langlinks-description": "Zobrazit všechny mezijazykové odkazy z daných stránek.",
+ "apihelp-query+langlinks-param-lang": "Zobrazit pouze jazykové odkazy s tímto kódem jazyka.",
"apihelp-query+linkshere-example-generator": "Získat informace o stránkách, které odkazují na [[Hlavní Stránka|Hlavní stránku]].",
+ "apihelp-query+recentchanges-param-excludeuser": "Nezobrazovat změny od tohoto uživatele.",
"apihelp-query+recentchanges-example-simple": "Seznam posledních změn.",
+ "apihelp-query+redirects-param-limit": "Počet přesměrování, který má být zobrazen.",
+ "apihelp-query+redirects-example-simple": "Zobrazit seznam přesměrování na stránku [[Main Page]].",
+ "apihelp-query+search-example-simple": "Hledat <kbd>meaning</kbd>",
"apihelp-query+tags-example-simple": "Získat seznam dostupných tagů.",
"apihelp-query+usercontribs-example-user": "Zobrazit příspěvky uživatele <kbd>Příklad</kbd>",
"apihelp-query+watchlistraw-description": "Získat všechny stránky, které jsou aktuálním uživatelem sledovány.",
@@ -164,30 +224,31 @@
"apihelp-watch-example-watch": "Sledovat stránku <kbd>Hlavní stránka</kbd>.",
"apihelp-watch-example-generator": "Zobrazit prvních několik stránek z hlavního jmenného prostoru.",
"apihelp-format-example-generic": "Výsledek dotazu vypsat ve formátu $1.",
- "apihelp-dbg-description": "Vypisuje data ve formátu funkce var_export() z PHP.",
- "apihelp-dbgfm-description": "Vypisuje data ve formátu funkce var_export() z PHP (v čitelné HTML podobě).",
- "apihelp-dump-description": "Vypisuje data ve formátu funkce var_dump() z PHP.",
- "apihelp-dumpfm-description": "Vypisuje data ve formátu funkce var_dump() z PHP (v čitelné HTML podobě).",
+ "apihelp-dbg-description": "Vypisuje data ve formátu funkce <code>var_export()</code> z PHP.",
+ "apihelp-dbgfm-description": "Vypisuje data ve formátu funkce <code>var_export()</code> z PHP (v čitelné HTML podobě).",
+ "apihelp-dump-description": "Vypisuje data ve formátu funkce <code>var_dump()</code> z PHP.",
+ "apihelp-dumpfm-description": "Vypisuje data ve formátu funkce <code>var_dump()</code> z PHP (v čitelné HTML podobě).",
"apihelp-json-description": "Vypisuje data ve formátu JSON.",
"apihelp-json-param-callback": "Pokud je uvedeno, obalí výstup do zadaného volání funkce. Z bezpečnostních důvodů budou omezena všechna data specifická pro uživatele.",
- "apihelp-json-param-utf8": "Pokud je uvedeno, bude většina ne-ASCII znaků (ale ne všechny) kódována v UTF-8 místo nahrazení hexadecimálními escape sekvencemi.",
+ "apihelp-json-param-utf8": "Pokud je uvedeno, bude většina ne-ASCII znaků (ale ne všechny) kódována v UTF-8 místo nahrazení hexadecimálními escape sekvencemi. Implicitní chování, pokud není <var>formatversion</var> nastaveno na <kbd>1</kbd>.",
"apihelp-jsonfm-description": "Vypisuje data ve formátu JSON (v čitelné HTML podobě).",
"apihelp-none-description": "Nevypisuje nic.",
"apihelp-php-description": "Vypisuje data v serializačním formátu PHP.",
"apihelp-phpfm-description": "Vypisuje data v serializačním formátu PHP (v čitelné HTML podobě).",
"apihelp-rawfm-description": "Vypisuje data s ladicími prvky ve formátu JSON (v čitelné HTML podobě).",
- "apihelp-txt-description": "Vypisuje data ve formátu funkce print_r() z PHP.",
- "apihelp-txtfm-description": "Vypisuje data ve formátu funkce print_r() z PHP (v čitelné HTML podobě).",
+ "apihelp-txt-description": "Vypisuje data ve formátu funkce <code>print_r()</code> z PHP.",
+ "apihelp-txtfm-description": "Vypisuje data ve formátu funkce <code>print_r()</code> z PHP (v čitelné HTML podobě).",
"apihelp-wddx-description": "Vypisuje data ve formátu WDDX.",
"apihelp-wddxfm-description": "Vypisuje data ve formátu WDDX (v čitelné HTML podobě).",
"apihelp-xml-description": "Vypisuje data ve formátu XML.",
- "apihelp-xml-param-xslt": "Pokud je uvedeno, přidá stylopis &lt;xslt&gt;. Měla by jím být wikistránka v jmenném prostoru MediaWiki, jejíž název končí na „.xsl“.",
+ "apihelp-xml-param-xslt": "Pokud je uvedeno, přidá uvedenou stránku jako stylopis XSL. Hodnotou musí být název stránky ve jmenném prostoru MediaWiki, jejíž název končí na <code>.xsl</code>.",
"apihelp-xml-param-includexmlnamespace": "Pokud je uvedeno, přidá jmenný prostor XML.",
"apihelp-xmlfm-description": "Vypisuje data ve formátu XML (v čitelné HTML podobě).",
"apihelp-yaml-description": "Vypisuje data ve formátu YAML.",
"apihelp-yamlfm-description": "Vypisuje data ve formátu YAML (v čitelné HTML podobě).",
"api-format-title": "Odpověď z MediaWiki API",
- "api-format-prettyprint-header": "Díváte se na HTML reprezentaci formátu $1. HTML se hodí pro ladění, ale pro aplikační použití je nevhodné.\n\nPro změnu výstupního formátu uveďte parametr format. Abyste viděli ne-HTML reprezentaci formátu $1, nastavte format=$2.\n\nVíce informací najdete v [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page úplné dokumentaci] nebo [[Special:ApiHelp/main|nápovědě k API]].",
+ "api-format-prettyprint-header": "Toto je HTML reprezentace formátu $1. HTML se hodí pro ladění, ale pro aplikační použití je nevhodné.\n\nPro změnu výstupního formátu uveďte parametr <var>format</var>. Abyste viděli ne-HTML reprezentaci formátu $1, nastavte <kbd>format=$2</kbd>.\n\nVíce informací najdete v [[mw:Special:MyLanguage/API:Main page|úplné dokumentaci]] nebo v [[Special:ApiHelp/main|nápovědě k API]].",
+ "api-format-prettyprint-header-only-html": "Toto je HTML reprezentace určená pro ladění, která není vhodná pro použití v aplikacích.\n\nVíce informací najdete v [[mw:API|úplné dokumentaci]] nebo [[Special:ApiHelp/main|dokumentaci API]].",
"api-help-title": "Nápověda k MediaWiki API",
"api-help-lead": "Toto je automaticky generovaná dokumentační stránka k MediaWiki API.\n\nDokumentace a příklady: https://www.mediawiki.org/wiki/API",
"api-help-main-header": "Hlavní modul",
@@ -197,10 +258,18 @@
"api-help-flag-writerights": "Tento modul vyžaduje oprávnění k zápisu.",
"api-help-flag-mustbeposted": "Tento modul přijímá pouze požadavky POST.",
"api-help-flag-generator": "Tento modul lze využívat jako generátor.",
+ "api-help-source": "Zdroj: $1",
+ "api-help-license": "Licence: [[$1|$2]]",
+ "api-help-license-noname": "Licence: [[$1|Vizte odkaz]]",
+ "api-help-license-unknown": "Licence: <span class=\"apihelp-unknown\">neznámá</span>",
"api-help-parameters": "{{PLURAL:$1|Parametr|Parametry}}:",
"api-help-param-deprecated": "Zastaralý.",
"api-help-param-required": "Tento parametr je povinný.",
- "api-help-param-list": "{{PLURAL:$1|1=Jedna hodnota|2=Hodnoty (oddělené „{{!}}“)}}: $2",
+ "api-help-datatypes-header": "Datové typy",
+ "api-help-datatypes": "Některé typy parametrů v API potřebují bližší vysvětlení:\n;boolean\n:Booleovské parametry fungují jako zaškrtávací políčka v HTML: pokud je parametr uveden, bez ohledu na hodnotu, je považován za pravdivý. Pro nepravdivou hodnotu parametr zcela vynechte.\n;časová značka\n:Časové značky lze uvádět v několika formátech. Doporučuje se datum a čas podle ISO 8601. Všechny časy jsou v UTC a obsažené časové pásmo je ignorováno.\n:* Datum a čas podle ISO 8601, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (interpunkce a <kbd>Z</kbd> jsou nepovinné)\n:* Datum a čas podle ISO 8601 s (ignorovaným) zlomkem sekundy, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (pomlčky, dvojtečky a <kbd>Z</kbd> jsou nepovinné)\n:* Formát MediaWiki, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Obecný číselný formát, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (nepovinné časové pásmo <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd> nebo <kbd>-<var>##</var></kbd> se ignoruje)\n:* Formát EXIF, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formát podle RFC 2822 (časové pásmo lze vynechat), <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formát podle RFC 850 (časové pásmo lze vynechat), <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formát podle céčkové funkce ctime, <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* Sekundy od 1970-01-01T00:00:00Z jako celé číslo o 1–13 číslicích (s výjimkou <kbd>0</kbd>)\n:* Řetězec <kbd>now</kbd>",
+ "api-help-param-type-integer": "Typ: {{PLURAL:$1|1=celé číslo|2=seznam celých čísel}}",
+ "api-help-param-type-boolean": "Typ: boolean ([[Special:ApiHelp/main#main/datatypes|podrobnosti]])",
+ "api-help-param-list": "{{PLURAL:$1|1=Jedna hodnota|2=Hodnoty (oddělené <kbd>{{!}}</kbd>)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Musí být prázdné|Může být prázdné nebo $2}}",
"api-help-param-limit": "Není dovoleno více než $1.",
"api-help-param-limit2": "Není dovoleno více než $1 ($2 pro boty).",
@@ -208,7 +277,7 @@
"api-help-param-integer-max": "{{PLURAL:$1|1=Hodnota nesmí|2=Hodnoty nesmějí}} být vyšší než $3.",
"api-help-param-integer-minmax": "{{PLURAL:$1|1=Hodnota|2=Hodnoty}} musí ležet mezi $2 a $3.",
"api-help-param-upload": "Musí se odeslat POST požadavkem jako načítaný soubor pomocí multipart/form-data.",
- "api-help-param-multi-separate": "Hodnoty oddělujte pomocí „|“.",
+ "api-help-param-multi-separate": "Hodnoty oddělujte pomocí <kbd>|</kbd>.",
"api-help-param-multi-max": "Maximální počet hodnot je {{PLURAL:$1|$1}} (pro boty {{PLURAL:$2|$2}}).",
"api-help-param-default": "Implicitní hodnota: $1",
"api-help-param-default-empty": "Implicitní hodnota: <span class=\"apihelp-empty\">(prázdné)</span>",
diff --git a/includes/api/i18n/de.json b/includes/api/i18n/de.json
index 96172040..98e1c105 100644
--- a/includes/api/i18n/de.json
+++ b/includes/api/i18n/de.json
@@ -9,15 +9,19 @@
"Giftpflanze",
"Macofe",
"Se4598",
- "Purodha"
+ "Purodha",
+ "Andreasburmeister",
+ "Anomie",
+ "Duder",
+ "Ljonka"
]
},
"apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page/de|Dokumentation]]\n* [[mw:API:FAQ/de|Häufig gestellte Fragen]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailingliste]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-Ankündigungen]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Fehlerberichte und Anfragen]\n</div>\n<strong>Status:</strong> Alle auf dieser Seite gezeigten Funktionen sollten funktionieren, allerdings ist die API in aktiver Entwicklung und kann sich zu jeder Zeit ändern. Abonniere die [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ MediaWiki-API-Ankündigungs-Mailingliste], um über Aktualisierungen informiert zu werden.\n\n<strong>Fehlerhafte Anfragen:</strong> Wenn fehlerhafte Anfragen an die API gesendet werden, wird ein HTTP-Header mit dem Schlüssel „MediaWiki-API-Error“ gesendet. Der Wert des Headers und der Fehlercode werden auf den gleichen Wert gesetzt. Für weitere Informationen siehe [[mw:API:Errors_and_warnings|API: Fehler und Warnungen]].",
"apihelp-main-param-action": "Auszuführende Aktion.",
"apihelp-main-param-format": "Format der Ausgabe.",
"apihelp-main-param-maxlag": "maxlag kann verwendet werden, wenn MediaWiki auf einem datenbankreplizierten Cluster installiert ist. Um weitere Replikationsrückstände zu verhindern, lässt dieser Parameter den Client warten, bis der Replikationsrückstand kleiner als der angegebene Wert (in Sekunden) ist. Bei einem größerem Rückstand wird der Fehlercode <samp>maxlag</samp> zurückgegeben mit einer Nachricht wie <samp>Waiting for $host: $lag seconds lagged</samp>.<br />Siehe [[mw:Manual:Maxlag_parameter|Handbuch: Maxlag parameter]] für weitere Informationen.",
- "apihelp-main-param-smaxage": "Den <code>s-maxage</code>-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
- "apihelp-main-param-maxage": "Den <code>max-age</code>-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
+ "apihelp-main-param-smaxage": "Den <code>s-maxage</code>-HTTP-Cache-Control-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
+ "apihelp-main-param-maxage": "Den <code>max-age</code>-HTTP-Cache-Control-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
"apihelp-main-param-assert": "Sicherstellen, dass der Benutzer eingeloggt ist, wenn auf <kbd>user</kbd> gesetzt, oder Bot ist, wenn auf <kbd>bot</kbd> gesetzt.",
"apihelp-main-param-requestid": "Der angegebene Wert wird mit in die Antwort aufgenommen und kann zur Unterscheidung von Anfragen verwendet werden.",
"apihelp-main-param-servedby": "Namen des bearbeitenden Hosts mit zurückgeben.",
@@ -116,6 +120,8 @@
"apihelp-expandtemplates-param-title": "Titel der Seite.",
"apihelp-expandtemplates-param-text": "Zu konvertierender Wikitext.",
"apihelp-expandtemplates-param-revid": "Versionsnummer, die für die Anzeige von <nowiki>{{REVISIONID}}</nowiki> und ähnlichen Variablen verwendet wird.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "Der expandierte Wikitext.",
+ "apihelp-expandtemplates-paramvalue-prop-parsetree": "Der XML-Parserbaum der Eingabe.",
"apihelp-expandtemplates-param-includecomments": "Ob HTML-Kommentare in der Ausgabe eingeschlossen werden sollen.",
"apihelp-expandtemplates-param-generatexml": "XML-Parserbaum erzeugen (ersetzt durch $1prop=parsetree).",
"apihelp-expandtemplates-example-simple": "Den Wikitext <kbd><nowiki>{{Project:Spielwiese}}</nowiki></kbd> expandieren.",
@@ -176,16 +182,16 @@
"apihelp-imagerotate-param-rotation": "Anzahl der Grad, um die das Bild im Uhrzeigersinn gedreht werden soll.",
"apihelp-imagerotate-example-simple": "<kbd>Datei:Beispiel.png</kbd> um <kbd>90</kbd> Grad drehen.",
"apihelp-imagerotate-example-generator": "Alle Bilder in der <kbd>Kategorie:Flip</kbd> um <kbd>180</kbd> Grad drehen.",
- "apihelp-import-description": "Importiert eine Seite von einem anderen Wiki oder einer XML-Datei.\n\nBitte beachte, dass der HTTP-POST-Vorgang als Dateiupload ausgeführt werden muss (z.B. durch multipart/form-data), um eine Datei über den <var>xml</var>-Parameter zu senden.",
+ "apihelp-import-description": "Importiert eine Seite aus einem anderen Wiki oder von einer XML-Datei.\n\nBitte beachte, dass der HTTP-POST-Vorgang als Dateiupload ausgeführt werden muss (z.B. durch multipart/form-data), um eine Datei über den <var>xml</var>-Parameter zu senden.",
"apihelp-import-param-summary": "Import-Zusammenfassung.",
"apihelp-import-param-xml": "Hochgeladene XML-Datei.",
"apihelp-import-param-interwikisource": "Für Interwiki-Importe: Wiki, von dem importiert werden soll.",
"apihelp-import-param-interwikipage": "Für Interwiki-Importe: zu importierende Seite.",
"apihelp-import-param-fullhistory": "Für Interwiki-Importe: importiere die komplette Versionsgeschichte, nicht nur die aktuelle Version.",
"apihelp-import-param-templates": "Für Interwiki-Importe: importiere auch alle eingebundenen Vorlagen.",
- "apihelp-import-param-namespace": "Für Interwiki-Importe: importiere in diesen Namensraum.",
- "apihelp-import-param-rootpage": "Als Unterseite dieser Seite importieren.",
- "apihelp-import-example-import": "Importiere [[meta:Help:Parserfunctions]] mit der kompletten Versionsgeschichte in den Namensraum 100.",
+ "apihelp-import-param-namespace": "In diesen Namensraum importieren. Kann nicht zusammen mit <var>$1rootpage</var> verwendet werden.",
+ "apihelp-import-param-rootpage": "Als Unterseite dieser Seite importieren. Kann nicht zusammen mit <var>$1namespace</var> verwendet werden.",
+ "apihelp-import-example-import": "Importiere [[meta:Help:ParserFunctions]] mit der kompletten Versionsgeschichte in den Namensraum 100.",
"apihelp-login-description": "Anmelden und Authentifizierungs-Cookies beziehen.\n\nFalls das Anmelden erfolgreich war, werden die benötigten Cookies im Header der HTTP-Antwort des Servers übermittelt. Bei fehlgeschlagenen Anmeldeversuchen können weitere Versuche gedrosselt werden, um automatische Passwortermittlungsattacken zu verhinden.",
"apihelp-login-param-name": "Benutzername.",
"apihelp-login-param-password": "Passwort.",
@@ -229,11 +235,20 @@
"apihelp-paraminfo-description": "Ruft Informationen über API-Module ab.",
"apihelp-paraminfo-param-helpformat": "Format der Hilfe-Zeichenfolgen.",
"apihelp-parse-param-summary": "Zu parsende Zusammenfassung.",
+ "apihelp-parse-paramvalue-prop-langlinks": "Gibt die Sprachlinks im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-categories": "Gibt die Kategorien im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "Gibt die HTML-Version der Kategorien zurück.",
+ "apihelp-parse-paramvalue-prop-links": "Gibt die internen Links im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-templates": "Gibt die Vorlagen im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-images": "Gibt die Bilder im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-externallinks": "Gibt die externen Links im geparsten Wikitext zurück.",
+ "apihelp-parse-paramvalue-prop-revid": "Ergänzt die Versionskennung der geparsten Seite.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Ergänzt den Titel des geparsten Wikitextes.",
"apihelp-parse-param-section": "Gibt nur den Inhalt dieses Abschnittes zurück oder erstellt einen neuen Abschnitt, wenn <kbd>new</kbd> angegeben wird.\n\n<kbd>new</kbd> wird nur ausgewertet, wenn auch <var>text</var> angegeben wurde.",
"apihelp-parse-param-sectiontitle": "Überschrift des neuen Abschnittes, wenn <var>section</var> = <kbd>new</kbd> ist.\n\nAnders als beim Bearbeiten der Seite wird der Parameter nicht durch die <var>summary</var> ersetzt, wenn er weggelassen oder leer ist.",
- "apihelp-parse-param-disableeditsection": "Deaktiviert Abschnittsbearbeitungslinks in der Parserausgabe.",
+ "apihelp-parse-param-disableeditsection": "Lässt Abschnittsbearbeitungslinks in der Parserausgabe weg.",
"apihelp-parse-param-preview": "Im Vorschaumodus parsen.",
- "apihelp-parse-param-disabletoc": "Inhaltsverzeichnis in der Ausgabe deaktivieren.",
+ "apihelp-parse-param-disabletoc": "Inhaltsverzeichnis in der Ausgabe weglassen.",
"apihelp-parse-example-page": "Eine Seite parsen.",
"apihelp-parse-example-text": "Wikitext parsen.",
"apihelp-parse-example-texttitle": "Parst den Wikitext über die Eingabe des Seitentitels.",
@@ -249,7 +264,7 @@
"apihelp-protect-param-protections": "Liste der Schutzebenen nach dem Format <kbd>Aktion=Ebene</kbd> (z.B. <kbd>edit=sysop</kbd>).\n\n<strong>HINWEIS:</strong> Wenn eine Aktion nicht angegeben wird, wird deren Schutz entfernt.",
"apihelp-protect-param-expiry": "Zeitstempel des Schutzablaufs. Wenn nur ein Zeitstempel übergeben wird, ist dieser für alle Seitenschutze gültig. Um eine unendliche Schutzdauer festzulegen, kannst du die Werte <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd> oder <kbd>never</kbd> übergeben.",
"apihelp-protect-param-reason": "Grund für den Seitenschutz oder dessen Aufhebung.",
- "apihelp-protect-param-cascade": "Aktiviert den Kaskadenschutz (alle eingebundenen Seiten werden ebenfalls geschützt). Wenn die übergebenen Schutzebenen keinen Kaskadenschutz unterstützen, wird dieser Parameter ignoriert.",
+ "apihelp-protect-param-cascade": "Aktiviert den Kaskadenschutz (z.&nbsp;B. werden eingebundene Vorlagen und Bilder in dieser Seite geschützt). Wird ignoriert, falls keine der angegebenen Schutzebenen Kaskaden unterstützt.",
"apihelp-protect-param-watch": "Wenn vorhanden, fügt dieser Parameter die zu (ent-)sperrende Seite der Beobachtungsliste des aktuellen Benutzers hinzu.",
"apihelp-protect-param-watchlist": "Die Seite bedingungslos zur Beobachtungsliste des aktuellen Benutzers hinzufügen oder von ihr entfernen, Einstellungen verwenden oder Beobachtung nicht ändern.",
"apihelp-protect-example-protect": "Schützt eine Seite",
@@ -268,8 +283,7 @@
"apihelp-query-param-export": "Exportiert die aktuellen Versionen der angegebenen oder generierten Seiten.",
"apihelp-query-param-exportnowrap": "Gibt den XML-Export zurück, ohne ihn in ein XML-Ergebnis einzuschließen (gleiches Format wie durch [[Special:Export]]). Kann nur zusammen mit $1export genutzt werden.",
"apihelp-query-param-iwurl": "Gibt an, ob die komplette URL zurückgegeben werden soll, wenn der Titel ein Interwikilink ist.",
- "apihelp-query-param-continue": "Falls angegeben, wird query-continue als Schlüssel-Wert-Paar zurückgegeben, das anschließend an die Folgeabfrage gehängt werden kann. Dieser Parameter muss in der ersten Abfrage auf leer gesetzt werden.\n\nDieser Parameter ist für alle Neuentwicklungen empfohlen und wird in der nächsten API-Version Standard.",
- "apihelp-query-param-rawcontinue": "Momentan unbeachtet. In Zukunft wird <var>$1continue</var> Standard, dieser Parameter wird dann benötigt, um die rohen <samp>query-continue</samp>-Daten zu erhalten.",
+ "apihelp-query-param-rawcontinue": "Gibt <samp>query-continue</samp>-Rohdaten zur Fortsetzung zurück.",
"apihelp-query-example-revisions": "Bezieht [[Special:ApiHelp/query+siteinfo|Seiteninformationen]] und [[Special:ApiHelp/query+revisions|Versionen]] der <kbd>Main Page</kbd>.",
"apihelp-query-example-allpages": "Bezieht Versionen von Seiten, die mit <kbd>API/</kbd> beginnen.",
"apihelp-query+allcategories-description": "Alle Kategorien aufzählen.",
@@ -280,7 +294,9 @@
"apihelp-query+allcategories-param-min": "Gibt nur Kategorien zurück, die mindestens die angegebene Anzahl an Einträgen haben.",
"apihelp-query+allcategories-param-max": "Gibt nur Kategorien zurück, die höchstens die angegebene Anzahl an Einträgen haben.",
"apihelp-query+allcategories-param-limit": "Wie viele Kategorien zurückgegeben werden sollen.",
- "apihelp-query+allcategories-param-prop": "Zurückzugebende Eigenschaften:\n;size: Ergänzt die Anzahl der Einträge in der Antwort.\n;hidden: Markiert über _&#95;HIDDENCAT_&#95; versteckte Kategorien.",
+ "apihelp-query+allcategories-param-prop": "Zurückzugebende Eigenschaften:",
+ "apihelp-query+allcategories-paramvalue-prop-size": "Ergänzt die Anzahl der Einträge in der Antwort.",
+ "apihelp-query+allcategories-paramvalue-prop-hidden": "Markiert über <code>_&#95;HIDDENCAT_&#95;</code> versteckte Kategorien.",
"apihelp-query+allcategories-example-size": "Listet Kategorien mit der Anzahl ihrer Einträge auf.",
"apihelp-query+allcategories-example-generator": "Bezieht Informationen über die Kategorieseite selbst für Kategorien, die mit <kbd>List</kbd> beginnen.",
"apihelp-query+alldeletedrevisions-description": "Bezieht alle gelöschten Versionen eines Benutzers oder eines Namensraumes.",
@@ -295,17 +311,57 @@
"apihelp-query+alldeletedrevisions-param-user": "Nur Versionen von diesem Benutzer auflisten.",
"apihelp-query+alldeletedrevisions-param-excludeuser": "Schließt Bearbeitungen des angegebenen Benutzers aus.",
"apihelp-query+alldeletedrevisions-param-namespace": "Nur Seiten in diesem Namensraum auflisten.",
+ "apihelp-query+allfileusages-param-from": "Titel der Datei, bei der die Aufzählung beginnen soll.",
+ "apihelp-query+allfileusages-param-to": "Titel der Datei, bei der die Aufzählung enden soll.",
+ "apihelp-query+allfileusages-param-prop": "Informationsteile zum Einbinden:",
+ "apihelp-query+allfileusages-paramvalue-prop-title": "Ergänzt den Titel der Datei.",
"apihelp-query+allfileusages-param-limit": "Wie viele Gesamtobjekte zurückgegeben werden sollen.",
+ "apihelp-query+allfileusages-param-dir": "Aufzählungsrichtung.",
"apihelp-query+allfileusages-example-unique": "Einheitliche Dateititel auflisten",
+ "apihelp-query+allfileusages-example-unique-generator": "Ruft alle Dateititel ab und markiert die fehlenden.",
"apihelp-query+allfileusages-example-generator": "Seiten abrufen, die die Dateien enthalten",
"apihelp-query+allimages-description": "Alle Bilder nacheinander auflisten.",
+ "apihelp-query+allimages-param-sort": "Eigenschaft, nach der sortiert werden soll.",
+ "apihelp-query+allimages-param-dir": "Aufzählungsrichtung.",
"apihelp-query+allimages-param-sha1": "SHA1-Hash des Bildes. Überschreibt $1sha1base36.",
"apihelp-query+allimages-param-sha1base36": "SHA1-Hash des Bildes (Basis 36; verwendet in MediaWiki).",
"apihelp-query+allimages-param-limit": "Wie viele Gesamtbilder zurückgegeben werden sollen.",
"apihelp-query+allimages-example-recent": "Zeigt eine Liste von kürzlich hochgeladenen Dateien ähnlich zu [[Special:NewFiles]].",
"apihelp-query+alllinks-example-unique": "Einheitlich verlinkte Titel auflisten",
+ "apihelp-query+allpages-description": "Listet alle Seiten in einem Namensraum nacheinander auf.",
+ "apihelp-query+allpages-param-from": "Seitentitel, bei dem die Auflistung beginnen soll.",
+ "apihelp-query+allpages-param-to": "Seitentitel, bei dem die Auflistung enden soll.",
+ "apihelp-query+allpages-param-prefix": "Nach Seitentiteln suchen, die mit diesem Wert beginnen.",
+ "apihelp-query+allpages-param-namespace": "Der zu untersuchende Namensraum.",
"apihelp-query+allpages-param-filterredir": "Welche Seiten aufgelistet werden sollen.",
+ "apihelp-query+allpages-param-minsize": "Nur Seiten auflisten, die mindestens diese Größe in Byte haben.",
+ "apihelp-query+allpages-param-maxsize": "Nur Seiten auflisten, die höchstens diese Größe in Byte haben.",
+ "apihelp-query+allpages-param-prtype": "Nur geschützte Seiten auflisten.",
+ "apihelp-query+allpages-param-prlevel": "Seitenschutze nach Schutzstufe filtern (muss zusammen mit $1prtype=parameter angegeben werden).",
+ "apihelp-query+allpages-param-prfiltercascade": "Seitenschutze nach Kaskadierung filtern (wird ignoriert, wenn $1prtype nicht gesetzt ist).",
+ "apihelp-query+allpages-param-limit": "Gesamtanzahl der aufzulistenden Seiten.",
+ "apihelp-query+allpages-param-dir": "Aufzählungsrichtung.",
+ "apihelp-query+allpages-param-filterlanglinks": "Nur Seiten auflisten, die Sprachlinks haben. Beachte, dass von Erweiterungen gesetzte Sprachlinks möglicherweise nicht beachtet werden.",
+ "apihelp-query+allpages-param-prexpiry": "Ablaufzeit des Seitenschutzes, nach dem die Auflistung gefiltert werden soll:\n; indefinite: Nur unbeschränkt geschützte Seiten auflisten.\n; definite: Nur für einen bestimmten Zeitraum geschützte Seiten auflisten.\n; all: geschützte Seiten unabhängig von der Schutzlänge auflisten.",
+ "apihelp-query+allpages-example-B": "Bezieht eine Liste von Seiten, die mit dem Buchstaben <kbd>B</kbd> beginnen.",
+ "apihelp-query+allpages-example-generator": "Gibt Informationen über vier Seiten mit dem Anfangsbuchstaben <kbd>T</kbd> zurück.",
+ "apihelp-query+allpages-example-generator-revisions": "Übermittelt den Inhalt der ersten beiden Seiten, die mit <kbd>Re</kbd> beginnen und keine Weiterleitungen sind.",
+ "apihelp-query+allredirects-description": "Bezieht alle Weiterleitungen in einem Namensraum.",
+ "apihelp-query+allredirects-param-from": "Titel der Weiterleitung, bei der die Auflistung beginnen soll.",
+ "apihelp-query+allredirects-param-to": "Titel der Weiterleitung, bei der die Auflistung enden soll.",
+ "apihelp-query+allredirects-param-prefix": "Weiterleitungen auflisten, deren Zielseiten mit diesem Wert beginnen.",
+ "apihelp-query+allredirects-param-unique": "Nur Weiterleitungen mit unterschiedlichen Zielseiten anzeigen. Kann nicht zusammen mit $1prop=ids|fragment|interwiki benutzt werden. Bei Nutzung als Generator werden die Zielseiten anstelle der Ursprungsseiten zurückgegeben.",
+ "apihelp-query+allredirects-param-prop": "Zu beziehende Informationen:",
+ "apihelp-query+allredirects-paramvalue-prop-ids": "Ergänzt die Seitenkennung der Weiterleitungsseite (kann nicht zusammen mit <var>$1unique</var> benutzt werden).",
+ "apihelp-query+allredirects-paramvalue-prop-title": "Ergänzt den Titel der Weiterleitung.",
+ "apihelp-query+allredirects-paramvalue-prop-fragment": "Ergänzt das Abschnittsziel der Weiterleitung, falls vorhanden (kann nicht zusammen mit <var>$1unique</var> benutzt werden).",
+ "apihelp-query+allredirects-paramvalue-prop-interwiki": "Ergänzt das Interwiki-Präfix der Weiterleitung, falls vorhanden (kann nicht zusammen mit <var>$1unique</var> benutzt werden).",
+ "apihelp-query+allredirects-param-namespace": "Der zu untersuchende Namensraum.",
+ "apihelp-query+allredirects-param-limit": "Gesamtanzahl der aufzulistenden Einträge.",
+ "apihelp-query+allredirects-param-dir": "Aufzählungsrichtung.",
+ "apihelp-query+allredirects-example-B": "Listet Zielseiten, auch fehlende, mit den Seitenkennungen der Weiterleitung auf, beginnend bei <kbd>B</kbd>.",
"apihelp-query+allredirects-example-unique": "Einzigartige Zielseiten auflisten.",
+ "apihelp-query+allredirects-example-unique-generator": "Bezieht alle Zielseiten und markiert die Fehlenden.",
"apihelp-query+allredirects-example-generator": "Seiten abrufen, die die Weiterleitungen enthalten",
"apihelp-query+alltransclusions-param-namespace": "Der aufzulistende Namensraum.",
"apihelp-query+alltransclusions-example-unique": "Einzigartige eingebundene Titel auflisten.",
@@ -318,7 +374,6 @@
"apihelp-query+categorymembers-param-endsortkey": "Stattdessen $1endhexsortkey verwenden.",
"apihelp-query+contributors-param-limit": "Wie viele Spender zurückgegeben werden sollen.",
"apihelp-query+deletedrevisions-param-user": "Nur Versionen von diesem Benutzer auflisten.",
- "apihelp-query+deletedrevisions-param-limit": "Die Maximalmenge der aufzulistenden Versionen.",
"apihelp-query+deletedrevs-param-from": "Auflistung bei diesem Titel beginnen.",
"apihelp-query+deletedrevs-param-to": "Auflistung bei diesem Titel beenden.",
"apihelp-query+duplicatefiles-param-localonly": "Sucht nur nach Dateien im lokalen Repositorium.",
@@ -332,6 +387,7 @@
"apihelp-query+filearchive-param-from": "Der Bildertitel, bei dem die Auflistung beginnen soll.",
"apihelp-query+filearchive-param-to": "Der Bildertitel, bei dem die Auflistung enden soll.",
"apihelp-query+filearchive-param-limit": "Wie viele Bilder insgesamt zurückgegeben werden sollen.",
+ "apihelp-query+filearchive-paramvalue-prop-sha1": "Ergänzt die SHA-1-Prüfsumme für das Bild.",
"apihelp-query+filearchive-example-simple": "Eine Liste aller gelöschten Dateien auflisten",
"apihelp-query+imageinfo-param-limit": "Wie viele Dateiversionen pro Datei zurückgegeben werden sollen.",
"apihelp-query+imageinfo-param-start": "Zeitstempel, von dem die Liste beginnen soll.",
@@ -344,18 +400,23 @@
"apihelp-query+links-example-simple": "Links von der <kbd>Hauptseite</kbd> abrufen",
"apihelp-query+linkshere-description": "Alle Seiten finden, die auf die angegebenen Seiten verlinken.",
"apihelp-query+logevents-description": "Ereignisse von den Logbüchern abrufen.",
+ "apihelp-query+pageswithprop-paramvalue-prop-ids": "Fügt die Seitenkennung hinzu.",
"apihelp-query+prefixsearch-param-search": "Such-Zeichenfolge.",
+ "apihelp-query+search-param-prop": "Eigenschaften zur Rückgabe:",
"apihelp-query+search-example-simple": "Nach <kbd>meaning</kbd> suchen.",
"apihelp-query+search-example-text": "Texte nach <kbd>meaning</kbd> durchsuchen.",
"apihelp-query+siteinfo-example-simple": "Websiteinformationen abrufen",
"apihelp-query+tags-description": "Änderungs-Tags auflisten.",
"apihelp-query+tags-example-simple": "Verfügbare Tags auflisten",
"apihelp-query+usercontribs-description": "Alle Bearbeitungen von einem Benutzer abrufen.",
+ "apihelp-query+usercontribs-paramvalue-prop-ids": "Ergänzt die Seiten- und Versionskennung.",
+ "apihelp-query+userinfo-paramvalue-prop-realname": "Fügt den bürgerlichen Namen des Benutzers hinzu.",
"apihelp-query+userinfo-example-simple": "Informationen über den aktuellen Benutzer abrufen",
"apihelp-query+users-description": "Informationen über eine Liste von Benutzern abrufen.",
"apihelp-rsd-description": "Ein RSD-Schema (Really Simple Discovery) exportieren.",
"apihelp-rsd-example-simple": "Das RSD-Schema exportieren",
"apihelp-setnotificationtimestamp-param-entirewatchlist": "An allen beobachteten Seiten arbeiten.",
+ "apihelp-tag-param-reason": "Grund für die Änderung.",
"apihelp-unblock-description": "Einen Benutzer freigeben.",
"apihelp-unblock-param-reason": "Grund für die Freigabe.",
"apihelp-unblock-example-id": "Sperrkennung #<kbd>105</kbd> freigeben.",
@@ -368,14 +429,12 @@
"apihelp-userrights-param-user": "Benutzername.",
"apihelp-userrights-param-userid": "Benutzerkennung.",
"apihelp-watch-example-watch": "Die Seite <kbd>Hauptseite</kbd> beobachten.",
- "apihelp-format-example-generic": "Das Abfrageergebnis im $1-Format formatieren",
+ "apihelp-format-example-generic": "Das Abfrageergebnis im $1-Format ausgeben.",
"apihelp-dbg-description": "Daten im PHP-<code>var_export()</code>-Format ausgeben.",
"apihelp-dbgfm-description": "Daten im PHP-<code>var_export()</code>-Format ausgeben (schöngedruckt in HTML).",
- "apihelp-dump-description": "Daten im PHP-<code>var_dump()</code>-Format ausgeben.",
- "apihelp-dumpfm-description": "Daten im PHP-<code>var_dump()</code>-Format ausgeben (schöngedruckt in HTML).",
"apihelp-json-description": "Daten im JSON-Format ausgeben.",
"apihelp-json-param-callback": "Falls angegeben, wird die Ausgabe in einen angegebenen Funktionsaufruf eingeschlossen. Aus Sicherheitsgründen sind benutzerspezifische Daten beschränkt.",
- "apihelp-json-param-utf8": "Falls angegeben, kodiert die meisten (aber nicht alle) Nicht-ASCII-Zeichen als UTF-8 anstatt sie mit hexadezimalen Escape-Sequenzen zu ersetzen.",
+ "apihelp-json-param-utf8": "Falls angegeben, kodiert die meisten (aber nicht alle) Nicht-ASCII-Zeichen als UTF-8 anstatt sie mit hexadezimalen Escape-Sequenzen zu ersetzen. Standard, wenn <var>formatversion</var> nicht <kbd>1</kbd> ist.",
"apihelp-jsonfm-description": "Daten im JSON-Format ausgeben (schöngedruckt in HTML).",
"apihelp-none-description": "Nichts ausgeben.",
"apihelp-php-description": "Daten im serialisierten PHP-Format ausgeben.",
@@ -383,8 +442,6 @@
"apihelp-rawfm-description": "Daten mit den Fehlerbehebungselementen im JSON-Format ausgeben (schöngedruckt in HTML).",
"apihelp-txt-description": "Daten im PHP-<code>print_r()</code>-Format ausgeben.",
"apihelp-txtfm-description": "Daten im PHP-<code>print_r()</code>-Format ausgeben (schöngedruckt in HTML).",
- "apihelp-wddx-description": "Daten im WDDX-Format ausgeben.",
- "apihelp-wddxfm-description": "Daten im WDDX-Format ausgeben (schöngedruckt in HTML).",
"apihelp-xml-description": "Daten im XML-Format ausgeben.",
"apihelp-xml-param-xslt": "Falls angegeben, fügt die benannte Seite als XSL-Stylesheet hinzu. Der Wert muss ein Titel im Namensraum „{{ns:mediawiki}}“ sein und mit <code>.xsl</code> enden.",
"apihelp-xml-param-includexmlnamespace": "Falls angegeben, ergänzt einen XML-Namensraum.",
@@ -392,7 +449,7 @@
"apihelp-yaml-description": "Daten im YAML-Format ausgeben.",
"apihelp-yamlfm-description": "Daten im YAML-Format ausgeben (schöngedruckt in HTML).",
"api-format-title": "MediaWiki-API-Ergebnis",
- "api-format-prettyprint-header": "Dies ist die HTML-Repräsentation des $1-Formats. HTML ist zur Fehlerbehebung gut, aber unpassend für den Anwendungsgebrauch.\n\nGib den Parameter <var>Format</var> an, um das Ausgabeformat zu ändern. Um die Nicht-HTML-Repräsentation des $1-Formats anzusehen, lege <kbd>format=$2</kbd> fest.\n\nSiehe die [[mw:API|vollständige Dokumentation]] oder die [[Special:ApiHelp/main|API-Hilfe]] für weitere Informationen.",
+ "api-format-prettyprint-header": "Dies ist die HTML-Repräsentation des $1-Formats. HTML ist zur Fehlerbehebung gut, aber unpassend für den Anwendungsgebrauch.\n\nGib den Parameter <var>format</var> an, um das Ausgabeformat zu ändern. Um die Nicht-HTML-Repräsentation des $1-Formats anzusehen, lege <kbd>format=$2</kbd> fest.\n\nSiehe die [[mw:API|vollständige Dokumentation]] oder die [[Special:ApiHelp/main|API-Hilfe]] für weitere Informationen.",
"api-orm-param-props": "Felder an die Anfrage.",
"api-orm-param-limit": "Maximale Anzahl zurückgegebender Zeilen.",
"api-pageset-param-titles": "Eine Liste der Titel, an denen gearbeitet werden soll.",
@@ -407,10 +464,16 @@
"api-help-flag-writerights": "Dieses Modul erfordert Schreibrechte.",
"api-help-flag-mustbeposted": "Dieses Modul akzeptiert nur POST-Anfragen.",
"api-help-flag-generator": "Dieses Modul kann als Generator verwendet werden.",
+ "api-help-source": "Quelle: $1",
+ "api-help-source-unknown": "Quelle: <span class=\"apihelp-unknown\">unbekannt</span>",
+ "api-help-license": "Lizenz: [[$1|$2]]",
+ "api-help-license-noname": "Lizenz: [[$1|Siehe Link]]",
+ "api-help-license-unknown": "Lizenz: <span class=\"apihelp-unknown\">unbekannt</span>",
"api-help-parameters": "{{PLURAL:$1|Parameter}}:",
"api-help-param-deprecated": "Veraltet.",
"api-help-param-required": "Dieser Parameter ist erforderlich.",
- "api-help-param-list": "{{PLURAL:$1|1=Ein Wert|2=Werte (mit <kbd>{{!}}</kbd> trennen)}}: $2",
+ "api-help-datatypes-header": "Datentypen",
+ "api-help-param-list": "{{PLURAL:$1|1=Einer der folgenden Werte|2=Werte (mit <kbd>{{!}}</kbd> trennen)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Muss leer sein|Kann leer sein oder $2}}",
"api-help-param-limit": "Nicht mehr als $1 erlaubt.",
"api-help-param-limit2": "Nicht mehr als $1 ($2 für Bots) erlaubt.",
diff --git a/includes/api/i18n/el.json b/includes/api/i18n/el.json
index d4d239f4..281dd298 100644
--- a/includes/api/i18n/el.json
+++ b/includes/api/i18n/el.json
@@ -1,12 +1,97 @@
{
"@metadata": {
"authors": [
- "Glavkos"
+ "Glavkos",
+ "Protnet",
+ "Stam.nikos"
]
},
+ "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Τεκμηρίωση]]\n* [[mw:API:FAQ|Συχνές ερωτήσεις]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Λίστα αλληλογραφίας]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Ανακοινώσεις API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Σφάλματα & αιτήματα]\n</div>\n<strong>Κατάσταση:</strong> Όλα τα χαρακτηριστικά που εμφανίζονται σε αυτή τη σελίδα πρέπει να λειτουργούν, αλλά το API είναι ακόμα σε ενεργό ανάπτυξη, και μπορεί να αλλάξει ανά πάσα στιγμή. Εγγραφείτε στη [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce λίστα αλληλογραφίας] για να ειδοποιείστε για ενημερώσεις.\n\n<strong>Εσφαλμένα αιτήματα:</strong> Όταν στέλνονται εσφαλμένα αιτήματα στο API, επιστρέφεται μία κεφαλίδα HTTP (header) με το κλειδί \"MediaWiki-API-Error\" κι έπειτα η τιμή της κεφαλίδας και ο κωδικός σφάλματος που επιστρέφονται ορίζονται στην ίδια τιμή. Για περισσότερες πληροφορίες, δείτε [[mw:API:Errors_and_warnings|API: Σφάλματα και προειδοποιήσεις]].",
+ "apihelp-main-param-action": "Ποια ενέργει να εκτελεστεί.",
+ "apihelp-main-param-format": "Η μορφή των δεδομένων εξόδου.",
+ "apihelp-main-param-curtimestamp": "Συμπερίληψη της τρέχουσας χρονοσφραγίδας στο αποτέλεσμα.",
+ "apihelp-main-param-uselang": "Γλώσσα για τις μεταφράσεις μηνυμάτων. Μία λίστα κωδικών μπορεί να αντληθεί από το <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> με το <kbd>siprop=languages</kbd>, ή καθορίστε <kbd>user</kbd> για να χρησιμοποιήσετε την προτίμηση γλώσσας του τρέχοντα χρήστη, ή καθορίστε <kbd>content</kbd> για να χρησιμοποιήσετε τη γλώσσα περιεχομένου αυτού του wiki.",
"apihelp-block-description": "Φραγή χρήστη",
"apihelp-block-param-user": "Όνομα χρήστη, διεύθυνση IP ή εύρος διευθύνσεων IP που θέλετε να επιβάλετε φραγή.",
+ "apihelp-block-param-expiry": "Ώρα λήξης. Μπορεί να είναι σχετική (π.χ. <kbd>σε 5 μήνες</kbd> ή <kbd>σε 2 εβδομάδες</kbd>) ή απόλυτη (π.χ. <kbd>2014-09-18T12:34:56Z</kbd>). Αν οριστεί σε <kbd>άπειρη</kbd>, <kbd>απεριόριστη</kbd>, ή <kbd>ποτέ</kbd>, ο αποκλεισμός δεν θα λήξει ποτέ.",
"apihelp-block-param-reason": "Λόγος φραγής.",
+ "apihelp-block-param-anononly": "Αποκλείστε ανώνυμους χρήστες μόνο (δηλ. απενεργοποιήστε ανώνυμες επεξεργασίες για αυτή τη διεύθυνση IP).",
+ "apihelp-block-param-nocreate": "Αποτροπή δημιουργίας λογαριασμού.",
+ "apihelp-block-param-autoblock": "Αποκλείστε αυτόματα την τελευταία χρησιμοποιημένη διεύθυνση IP και κάθε συνακόλουθη διεύθυνση IP από την οποία γίνεται προσπάθεια σύνδεσης.",
+ "apihelp-createaccount-description": "Δημιουργήστε νέο λογαριασμό χρήστη.",
"apihelp-createaccount-param-name": "Όνομα χρήστη.",
- "apihelp-delete-description": "Διαγραφή σελίδας."
+ "apihelp-createaccount-param-password": "Κωδικός πρόσβασης (αγνοείται, αν έχει οριστεί το <var>$1mailpassword</var>).",
+ "apihelp-createaccount-param-email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου χρήστη (προαιρετικό).",
+ "apihelp-createaccount-param-realname": "Πραγματικό όνομα χρήστη (προαιρετικό).",
+ "apihelp-createaccount-param-mailpassword": "Εάν οριστεί σε οποιαδήποτε τιμή, ένας τυχαίος κωδικός πρόσβασης θα αποσταλεί μέσω ηλεκτρονικού ταχυδρομείου στο χρήστη.",
+ "apihelp-createaccount-param-language": "Κωδικός γλώσσας που να οριστεί ως προεπιλογή για το χρήστη (προαιρετικό, έχει ως προεπιλογή τη γλώσσα περιεχομένου).",
+ "apihelp-delete-description": "Διαγραφή σελίδας.",
+ "apihelp-delete-example-simple": "Διαγραφή <kbd>Αρχικής Σελίδας</kbd>.",
+ "apihelp-edit-description": "Δημιουργία και επεξεργασία σελίδων.",
+ "apihelp-edit-param-sectiontitle": "Ο τίτλος νέας ενότητας.",
+ "apihelp-edit-param-text": "Περιεχόμενο σελίδας.",
+ "apihelp-edit-param-minor": "Μικροεπεξεργασία.",
+ "apihelp-edit-param-notminor": "Μη ήσσονος σημασίας επεξεργασία.",
+ "apihelp-edit-param-bot": "Σήμανση αυτής της επεξεργασίας ως επεξεργασία από ρομπότ.",
+ "apihelp-edit-param-createonly": "Να μην γίνει επεξεργασία της σελίδας εάν υπάρχει ήδη.",
+ "apihelp-edit-param-nocreate": "Να εμφανιστεί μήνυμα σφάλματος εάν η σελίδα δεν υπάρχει.",
+ "apihelp-edit-param-watch": "Να προστεθεί η σελίδα στη λίστα παρακολούθησης του τρέχοντα χρήστη.",
+ "apihelp-edit-param-unwatch": "Να αφαιρεθεί η σελίδα από τη λίστα παρακολούθησης του τρέχοντα χρήστη.",
+ "apihelp-edit-param-contentmodel": "Μοντέλο περιεχομένου για το νέο περιεχόμενο.",
+ "apihelp-edit-example-edit": "Επεξεργασία κάποιας σελίδας.",
+ "apihelp-emailuser-description": "Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου σε χρήστη.",
+ "apihelp-emailuser-param-target": "Χρήστης στον οποίον να σταλεί το μήνυμα ηλεκτρονικού ταχυδρομείου.",
+ "apihelp-emailuser-param-subject": "Κεφαλίδα θέματος.",
+ "apihelp-emailuser-param-text": "Σώμα μηνύματος.",
+ "apihelp-emailuser-param-ccme": "Αποστολή αντιγράφου αυτού του μηνύματος σε εμένα.",
+ "apihelp-expandtemplates-description": "Επεκτείνει όλα τα πρότυπα στον κώδικα wiki.",
+ "apihelp-expandtemplates-param-title": "Τίτλος σελίδας.",
+ "apihelp-expandtemplates-param-text": "Κώδικας wiki προς μετατροπή.",
+ "apihelp-feedcontributions-param-feedformat": "Η μορφή της ροής.",
+ "apihelp-feedcontributions-param-deletedonly": "Εμφάνιση μόνο διαγεγραμμένων συνεισφορών.",
+ "apihelp-feedcontributions-param-toponly": "Εμφάνιση μόνο των επεξεργασιών που είναι οι πιο πρόσφατες αναθεωρήσεις.",
+ "apihelp-feedcontributions-param-newonly": "Εμφάνιση μόνο των επεξεργασιών που είναι δημιουργία σελίδας.",
+ "apihelp-feedcontributions-param-showsizediff": "Εμφάνιση της διαφοράς μεγέθους μεταξύ αναθεωρήσεων.",
+ "apihelp-feedrecentchanges-param-from": "Εμφάνιση αλλαγών από τότε.",
+ "apihelp-feedrecentchanges-param-hideminor": "Απόκρυψη μικρών αλλαγών.",
+ "apihelp-feedrecentchanges-param-hidebots": "Απόκρυψη αλλαγών που έγιναν από ρομπότ.",
+ "apihelp-feedrecentchanges-param-hideanons": "Απόκρυψη αλλαγών που έγιναν από ανώνυμους χρήστες.",
+ "apihelp-feedrecentchanges-param-hideliu": "Απόκρυψη αλλαγών που έγιναν από εγγεγραμμένους χρήστες.",
+ "apihelp-feedrecentchanges-param-hidepatrolled": "Απόκρυψη ελεγμένων αλλαγών.",
+ "apihelp-feedrecentchanges-param-hidemyself": "Απόκρυψη αλλαγών που έγιναν από τον τρέχοντα χρήστη.",
+ "apihelp-feedrecentchanges-param-tagfilter": "Φιλτράρισμα κατά ετικέτα.",
+ "apihelp-feedrecentchanges-param-target": "Εμφάνιση μόνο των αλλαγών σε σελίδες που συνδέονται με αυτή τη σελίδα.",
+ "apihelp-feedrecentchanges-example-simple": "Εμφάνιση πρόσφατων αλλαγών.",
+ "apihelp-feedrecentchanges-example-30days": "Εμφάνιση πρόσφατων αλλαγών για 30 ημέρες.",
+ "apihelp-feedwatchlist-description": "Επιστρέφει μια ροή λίστας παρακολούθησης.",
+ "apihelp-feedwatchlist-param-feedformat": "Η μορφή της ροής.",
+ "apihelp-filerevert-param-comment": "Σχόλιο ανεβάσματος.",
+ "apihelp-help-example-recursive": "Όλη η βοήθεια σε μια σελίδα.",
+ "apihelp-imagerotate-description": "Περιστροφή μίας ή περισσοτέρων εικόνων.",
+ "apihelp-imagerotate-param-rotation": "Μοίρες με τις οποίες να περιστραφεί η εικόνα ωρολογιακά.",
+ "apihelp-import-param-summary": "Εισαγωγή σύνοψης.",
+ "apihelp-login-param-name": "Όνομα χρήστη.",
+ "apihelp-login-param-password": "Κωδικός πρόσβασης.",
+ "apihelp-login-param-domain": "Τομέας (προαιρετικό).",
+ "apihelp-login-example-login": "Σύνδεση.",
+ "apihelp-logout-description": "Αποσύνδεση και διαγραφή δεδομένων περιόδου λειτουργίας.",
+ "apihelp-logout-example-logout": "Αποσύνδεση του τρέχοντα χρήστη.",
+ "apihelp-move-description": "Μετακίνηση σελίδας.",
+ "apihelp-move-param-reason": "Λόγος μετονομασίας.",
+ "apihelp-move-param-movetalk": "Μετονομασία της σελίδας συζήτησης, εάν υπάρχει.",
+ "apihelp-move-param-movesubpages": "Μετονομασία υποσελίδων, εφόσον συντρέχει περίπτωση.",
+ "apihelp-move-param-noredirect": "Να μην δημιουργηθεί ανακατεύθυνση.",
+ "apihelp-move-param-ignorewarnings": "Να αγνοηθούν τυχόν προειδοποιήσεις.",
+ "apihelp-opensearch-param-search": "Συμβολοσειρά αναζήτησης.",
+ "apihelp-opensearch-param-limit": "Μέγιστος αριθμός αποτελεσμάτων που θα επιστραφούν.",
+ "apihelp-opensearch-param-namespace": "Ονοματοχώροι προς αναζήτηση.",
+ "apihelp-opensearch-param-format": "Η μορφή των δεδομένων εξόδου.",
+ "apihelp-options-example-reset": "Επαναφορά όλων των προτιμήσεων.",
+ "apihelp-paraminfo-param-helpformat": "Μορφή των συμβολοσειρών βοήθειας.",
+ "apihelp-patrol-example-revid": "Περιπολία αναθεώρησης.",
+ "apihelp-protect-example-protect": "Προστασία σελίδας.",
+ "apihelp-query+users-paramvalue-prop-gender": "Επισημαίνει το φύλο του χρήστη. Επιστρέφει «αρσενικό», «θηλυκό» ή «άγνωστο»",
+ "api-help-param-type-limit": "Τύπος: ακέραιος ή <kbd>max</kbd>",
+ "api-help-param-type-boolean": "Τύπος: boolean ([[Special:ApiHelp/main#main/datatypes|λεπτομέρειες]])",
+ "api-help-param-type-user": "Τύπος: {{PLURAL:$1|1=όνομα χρήστη|2=λίστα με ονόματα χρήστη}}"
}
diff --git a/includes/api/i18n/en-gb.json b/includes/api/i18n/en-gb.json
index 929ec7e0..374521ec 100644
--- a/includes/api/i18n/en-gb.json
+++ b/includes/api/i18n/en-gb.json
@@ -6,7 +6,7 @@
]
},
"apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentation]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n</div>\n<strong>Status:</strong> All features shown on this page should be working, but the API is still in active development, and may change at any time. Subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\n<strong>Erroneous requests:</strong> When erroneous requests are sent to the API, an HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see [[mw:API:Errors_and_warnings|API: Errors and warnings]].",
- "apihelp-main-param-maxage": "Set the <code>max-age</code> header to this many seconds. Errors are never cached.",
+ "apihelp-main-param-maxage": "Set the <code>max-age</code> HTTP cache control header to this many seconds. Errors are never cached.",
"apihelp-main-param-assert": "Verify the user is logged in if set to <kbd>user</kbd>, or has the bot userright if <kbd>bot</kbd>.",
"apihelp-block-param-user": "Username, IP address, or IP range to block.",
"apihelp-block-param-allowusertalk": "Allow the user to edit their own talk page (depends on <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
diff --git a/includes/api/i18n/en.json b/includes/api/i18n/en.json
index 36a4d812..78f05685 100644
--- a/includes/api/i18n/en.json
+++ b/includes/api/i18n/en.json
@@ -10,9 +10,9 @@
"apihelp-main-param-action": "Which action to perform.",
"apihelp-main-param-format": "The format of the output.",
"apihelp-main-param-maxlag": "Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code <samp>maxlag</samp> is returned with a message like <samp>Waiting for $host: $lag seconds lagged</samp>.<br />See [[mw:Manual:Maxlag_parameter|Manual: Maxlag parameter]] for more information.",
- "apihelp-main-param-smaxage": "Set the <code>s-maxage</code> header to this many seconds. Errors are never cached.",
- "apihelp-main-param-maxage": "Set the <code>max-age</code> header to this many seconds. Errors are never cached.",
- "apihelp-main-param-assert": "Verify the user is logged in if set to <kbd>user</kbd>, or has the bot userright if <kbd>bot</kbd>.",
+ "apihelp-main-param-smaxage": "Set the <code>s-maxage</code> HTTP cache control header to this many seconds. Errors are never cached.",
+ "apihelp-main-param-maxage": "Set the <code>max-age</code> HTTP cache control header to this many seconds. Errors are never cached.",
+ "apihelp-main-param-assert": "Verify the user is logged in if set to <kbd>user</kbd>, or has the bot user right if <kbd>bot</kbd>.",
"apihelp-main-param-requestid": "Any value given here will be included in the response. May be used to distinguish requests.",
"apihelp-main-param-servedby": "Include the hostname that served the request in the results.",
"apihelp-main-param-curtimestamp": "Include the current timestamp in the result.",
@@ -115,13 +115,22 @@
"apihelp-emailuser-param-subject": "Subject header.",
"apihelp-emailuser-param-text": "Mail body.",
"apihelp-emailuser-param-ccme": "Send a copy of this mail to me.",
- "apihelp-emailuser-example-email": "Send an email to the User <kbd>WikiSysop</kbd> with the text <kbd>Content</kbd>.",
+ "apihelp-emailuser-example-email": "Send an email to user <kbd>WikiSysop</kbd> with the text <kbd>Content</kbd>.",
"apihelp-expandtemplates-description": "Expands all templates in wikitext.",
"apihelp-expandtemplates-param-title": "Title of page.",
"apihelp-expandtemplates-param-text": "Wikitext to convert.",
"apihelp-expandtemplates-param-revid": "Revision ID, for <nowiki>{{REVISIONID}}</nowiki> and similar variables.",
- "apihelp-expandtemplates-param-prop": "Which pieces of information to get:\n;wikitext:The expanded wikitext.\n;categories:Any categories present in the input that are not represented in the wikitext output.\n;properties:Page properties defined by expanded magic words in the wikitext.\n;volatile:Whether the output is volatile and should not be reused elsewhere within the page.\n;ttl:The maximum time after which caches of the result should be invalidated.\n;parsetree:The XML parse tree of the input.\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.",
+ "apihelp-expandtemplates-param-prop": "Which pieces of information to get.\n\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "The expanded wikitext.",
+ "apihelp-expandtemplates-paramvalue-prop-categories": "Any categories present in the input that are not represented in the wikitext output.",
+ "apihelp-expandtemplates-paramvalue-prop-properties": "Page properties defined by expanded magic words in the wikitext.",
+ "apihelp-expandtemplates-paramvalue-prop-volatile": "Whether the output is volatile and should not be reused elsewhere within the page.",
+ "apihelp-expandtemplates-paramvalue-prop-ttl": "The maximum time after which caches of the result should be invalidated.",
+ "apihelp-expandtemplates-paramvalue-prop-modules": "Any ResourceLoader modules that parser functions have requested be added to the output. Either <kbd>jsconfigvars</kbd> or <kbd>encodedjsconfigvars</kbd> must be requested jointly with <kbd>modules</kbd>.",
+ "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Gives the JavaScript configuration variables specific to the page.",
+ "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Gives the JavaScript configuration variables specific to the page as a JSON string.",
+ "apihelp-expandtemplates-paramvalue-prop-parsetree": "The XML parse tree of the input.",
"apihelp-expandtemplates-param-includecomments": "Whether to include HTML comments in the output.",
"apihelp-expandtemplates-param-generatexml": "Generate XML parse tree (replaced by $1prop=parsetree).",
"apihelp-expandtemplates-example-simple": "Expand the wikitext <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
@@ -189,16 +198,16 @@
"apihelp-imagerotate-example-simple": "Rotate <kbd>File:Example.png</kbd> by <kbd>90</kbd> degrees.",
"apihelp-imagerotate-example-generator": "Rotate all images in <kbd>Category:Flip</kbd> by <kbd>180</kbd> degrees.",
- "apihelp-import-description": "Import a page from another wiki, or an XML file.\n\nNote that the HTTP POST must be done as a file upload (i.e. using multipart/form-data) when sending a file for the <var>xml</var> parameter.",
+ "apihelp-import-description": "Import a page from another wiki, or from an XML file.\n\nNote that the HTTP POST must be done as a file upload (i.e. using multipart/form-data) when sending a file for the <var>xml</var> parameter.",
"apihelp-import-param-summary": "Import summary.",
"apihelp-import-param-xml": "Uploaded XML file.",
"apihelp-import-param-interwikisource": "For interwiki imports: wiki to import from.",
"apihelp-import-param-interwikipage": "For interwiki imports: page to import.",
"apihelp-import-param-fullhistory": "For interwiki imports: import the full history, not just the current version.",
"apihelp-import-param-templates": "For interwiki imports: import all included templates as well.",
- "apihelp-import-param-namespace": "For interwiki imports: import to this namespace.",
- "apihelp-import-param-rootpage": "Import as subpage of this page.",
- "apihelp-import-example-import": "Import [[meta:Help:Parserfunctions]] to namespace 100 with full history.",
+ "apihelp-import-param-namespace": "Import to this namespace. Cannot be used together with <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "Import as subpage of this page. Cannot be used together with <var>$1namespace</var>.",
+ "apihelp-import-example-import": "Import [[meta:Help:ParserFunctions]] to namespace 100 with full history.",
"apihelp-login-description": "Log in and get authentication cookies.\n\nIn the event of a successful log-in, the needed cookies will be included in the HTTP response headers. In the event of a failed log-in, further attempts may be throttled to limit automated password guessing attacks.",
"apihelp-login-param-name": "User name.",
@@ -245,12 +254,12 @@
"apihelp-opensearch-param-warningsaserror": "If warnings are raised with <kbd>format=json</kbd>, return an API error instead of ignoring them.",
"apihelp-opensearch-example-te": "Find pages beginning with <kbd>Te</kbd>.",
- "apihelp-options-description": "Change preferences of the current user.\n\nOnly options which are registered in core or in one of installed extensions, or options with keys prefixed with \"userjs-\" (intended to be used by user scripts), can be set.",
+ "apihelp-options-description": "Change preferences of the current user.\n\nOnly options which are registered in core or in one of installed extensions, or options with keys prefixed with <code>userjs-</code> (intended to be used by user scripts), can be set.",
"apihelp-options-param-reset": "Resets preferences to the site defaults.",
"apihelp-options-param-resetkinds": "List of types of options to reset when the <var>$1reset</var> option is set.",
"apihelp-options-param-change": "List of changes, formatted name=value (e.g. skin=vector). Value cannot contain pipe characters. If no value is given (not even an equals sign), e.g., optionname|otheroption|..., the option will be reset to its default value.",
- "apihelp-options-param-optionname": "A name of a option which should be set to the value given by <var>$1optionvalue</var>.",
- "apihelp-options-param-optionvalue": "A value of the option specified by <var>$1optionname</var>, can contain pipe characters.",
+ "apihelp-options-param-optionname": "The name of the option that should be set to the value given by <var>$1optionvalue</var>.",
+ "apihelp-options-param-optionvalue": "The value for the option specified by <var>$1optionname</var>, can contain pipe characters.",
"apihelp-options-example-reset": "Reset all preferences.",
"apihelp-options-example-change": "Change <kbd>skin</kbd> and <kbd>hideminor</kbd> preferences.",
"apihelp-options-example-complex": "Reset all preferences, then set <kbd>skin</kbd> and <kbd>nickname</kbd>.",
@@ -272,18 +281,43 @@
"apihelp-parse-param-pageid": "Parse the content of this page. Overrides <var>$1page</var>.",
"apihelp-parse-param-redirects": "If <var>$1page</var> or <var>$1pageid</var> is set to a redirect, resolve it.",
"apihelp-parse-param-oldid": "Parse the content of this revision. Overrides <var>$1page</var> and <var>$1pageid</var>.",
- "apihelp-parse-param-prop": "Which pieces of information to get:\n;text:Gives the parsed text of the wikitext.\n;langlinks:Gives the language links in the parsed wikitext.\n;categories:Gives the categories in the parsed wikitext.\n;categorieshtml:Gives the HTML version of the categories.\n;links:Gives the internal links in the parsed wikitext.\n;templates:Gives the templates in the parsed wikitext.\n;images:Gives the images in the parsed wikitext.\n;externallinks:Gives the external links in the parsed wikitext.\n;sections:Gives the sections in the parsed wikitext.\n;revid:Adds the revision ID of the parsed page.\n;displaytitle:Adds the title of the parsed wikitext.\n;headitems:Gives items to put in the &lt;head&gt; of the page.\n;headhtml:Gives parsed &lt;head&gt; of the page.\n;modules:Gives the ResourceLoader modules used on the page.\n;indicators:Gives the HTML of page status indicators used on the page.\n;iwlinks:Gives interwiki links in the parsed wikitext.\n;wikitext:Gives the original wikitext that was parsed.\n;properties:Gives various properties defined in the parsed wikitext.\n;limitreportdata:Gives the limit report in a structured way. Gives no data, when $1disablepp is set.\n;limitreporthtml:Gives the HTML version of the limit report. Gives no data, when $1disablepp is set.",
+ "apihelp-parse-param-prop": "Which pieces of information to get:",
+ "apihelp-parse-paramvalue-prop-text": "Gives the parsed text of the wikitext.",
+ "apihelp-parse-paramvalue-prop-langlinks": "Gives the language links in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-categories": "Gives the categories in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "Gives the HTML version of the categories.",
+ "apihelp-parse-paramvalue-prop-links": "Gives the internal links in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-templates": "Gives the templates in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-images": "Gives the images in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-externallinks": "Gives the external links in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-sections": "Gives the sections in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-revid": "Adds the revision ID of the parsed page.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Adds the title of the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-headitems": "Gives items to put in the <code>&lt;head&gt;</code> of the page.",
+ "apihelp-parse-paramvalue-prop-headhtml": "Gives parsed <code>&lt;head&gt;</code> of the page.",
+ "apihelp-parse-paramvalue-prop-modules": "Gives the ResourceLoader modules used on the page. Either <kbd>jsconfigvars</kbd> or <kbd>encodedjsconfigvars</kbd> must be requested jointly with <kbd>modules</kbd>.",
+ "apihelp-parse-paramvalue-prop-jsconfigvars": "Gives the JavaScript configuration variables specific to the page.",
+ "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "Gives the JavaScript configuration variables specific to the page as a JSON string.",
+ "apihelp-parse-paramvalue-prop-indicators": "Gives the HTML of page status indicators used on the page.",
+ "apihelp-parse-paramvalue-prop-iwlinks": "Gives interwiki links in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-wikitext": "Gives the original wikitext that was parsed.",
+ "apihelp-parse-paramvalue-prop-properties": "Gives various properties defined in the parsed wikitext.",
+ "apihelp-parse-paramvalue-prop-limitreportdata": "Gives the limit report in a structured way. Gives no data, when <var>$1disablelimitreport</var> is set.",
+ "apihelp-parse-paramvalue-prop-limitreporthtml": "Gives the HTML version of the limit report. Gives no data, when <var>$1disablelimitreport</var> is set.",
+ "apihelp-parse-paramvalue-prop-parsetree": "The XML parse tree of revision content (requires content model <code>$1</code>)",
"apihelp-parse-param-pst": "Do a pre-save transform on the input before parsing it. Only valid when used with text.",
"apihelp-parse-param-onlypst": "Do a pre-save transform (PST) on the input, but don't parse it. Returns the same wikitext, after a PST has been applied. Only valid when used with <var>$1text</var>.",
"apihelp-parse-param-effectivelanglinks": "Includes language links supplied by extensions (for use with <kbd>$1prop=langlinks</kbd>).",
"apihelp-parse-param-section": "Only retrieve the content of this section number or when <kbd>new</kbd> generate a new section.\n\n<kbd>new</kbd> section is only honored when specifying <var>text</var>.",
"apihelp-parse-param-sectiontitle": "New section title when <var>section</var> is <kbd>new</kbd>.\n\nUnlike page editing, this does not fall back to <var>summary</var> when omitted or empty.",
- "apihelp-parse-param-disablepp": "Disable the PP Report from the parser output.",
- "apihelp-parse-param-disableeditsection": "Disable edit section links from the parser output.",
- "apihelp-parse-param-generatexml": "Generate XML parse tree (requires content model <code>$1</code>).",
+ "apihelp-parse-param-disablelimitreport": "Omit the limit report (\"NewPP limit report\") from the parser output.",
+ "apihelp-parse-param-disablepp": "Use <var>$1disablelimitreport</var> instead.",
+ "apihelp-parse-param-disableeditsection": "Omit edit section links from the parser output.",
+ "apihelp-parse-param-disabletidy": "Do not run HTML cleanup (e.g. tidy) on the parser output.",
+ "apihelp-parse-param-generatexml": "Generate XML parse tree (requires content model <code>$1</code>; replaced by <kbd>$2prop=parsetree</kbd>).",
"apihelp-parse-param-preview": "Parse in preview mode.",
"apihelp-parse-param-sectionpreview": "Parse in section preview mode (enables preview mode too).",
- "apihelp-parse-param-disabletoc": "Disable table of contents in output.",
+ "apihelp-parse-param-disabletoc": "Omit table of contents in output.",
"apihelp-parse-param-contentformat": "Content serialization format used for the input text. Only valid when used with $1text.",
"apihelp-parse-param-contentmodel": "Content model of the input text. If omitted, $1title must be specified, and default will be the model of the specified title. Only valid when used with $1text.",
"apihelp-parse-example-page": "Parse a page.",
@@ -303,7 +337,7 @@
"apihelp-protect-param-protections": "List of protection levels, formatted <kbd>action=level</kbd> (e.g. <kbd>edit=sysop</kbd>).\n\n<strong>Note:</strong> Any actions not listed will have restrictions removed.",
"apihelp-protect-param-expiry": "Expiry timestamps. If only one timestamp is set, it'll be used for all protections. Use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd>, or <kbd>never</kbd>, for a never-expiring protection.",
"apihelp-protect-param-reason": "Reason for (un)protecting.",
- "apihelp-protect-param-cascade": "Enable cascading protection (i.e. protect pages included in this page). Ignored if all protection levels given do not support cascading.",
+ "apihelp-protect-param-cascade": "Enable cascading protection (i.e. protect transcluded templates and images used in this page). Ignored if none of the given protection levels support cascading.",
"apihelp-protect-param-watch": "If set, add the page being (un)protected to the current user's watchlist.",
"apihelp-protect-param-watchlist": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.",
"apihelp-protect-example-protect": "Protect a page.",
@@ -324,8 +358,7 @@
"apihelp-query-param-export": "Export the current revisions of all given or generated pages.",
"apihelp-query-param-exportnowrap": "Return the export XML without wrapping it in an XML result (same format as [[Special:Export]]). Can only be used with $1export.",
"apihelp-query-param-iwurl": "Whether to get the full URL if the title is an interwiki link.",
- "apihelp-query-param-continue": "When present, formats query-continue as key-value pairs that should simply be merged into the original request. This parameter must be set to an empty string in the initial query.\n\nThis parameter is recommended for all new development, and will be made default in the next API version.",
- "apihelp-query-param-rawcontinue": "Currently ignored. In the future, <var>$1continue</var> will become the default and this will be needed to receive the raw <samp>query-continue</samp> data.",
+ "apihelp-query-param-rawcontinue": "Return raw <samp>query-continue</samp> data for continuation.",
"apihelp-query-example-revisions": "Fetch [[Special:ApiHelp/query+siteinfo|site info]] and [[Special:ApiHelp/query+revisions|revisions]] of <kbd>Main Page</kbd>.",
"apihelp-query-example-allpages": "Fetch revisions of pages beginning with <kbd>API/</kbd>.",
@@ -337,7 +370,9 @@
"apihelp-query+allcategories-param-min": "Only return categories with at least this many members.",
"apihelp-query+allcategories-param-max": "Only return categories with at most this many members.",
"apihelp-query+allcategories-param-limit": "How many categories to return.",
- "apihelp-query+allcategories-param-prop": "Which properties to get:\n;size:Adds number of pages in the category.\n;hidden:Tags categories that are hidden with _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+allcategories-param-prop": "Which properties to get:",
+ "apihelp-query+allcategories-paramvalue-prop-size": "Adds number of pages in the category.",
+ "apihelp-query+allcategories-paramvalue-prop-hidden": "Tags categories that are hidden with <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+allcategories-example-size": "List categories with information on the number of pages in each.",
"apihelp-query+allcategories-example-generator": "Retrieve info about the category page itself for categories beginning <kbd>List</kbd>.",
@@ -363,7 +398,9 @@
"apihelp-query+allfileusages-param-to": "The title of the file to stop enumerating at.",
"apihelp-query+allfileusages-param-prefix": "Search for all file titles that begin with this value.",
"apihelp-query+allfileusages-param-unique": "Only show distinct file titles. Cannot be used with $1prop=ids.\nWhen used as a generator, yields target pages instead of source pages.",
- "apihelp-query+allfileusages-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID of the using page (cannot be used with $1unique).\n;title:Adds the title of the file.",
+ "apihelp-query+allfileusages-param-prop": "Which pieces of information to include:",
+ "apihelp-query+allfileusages-paramvalue-prop-ids": "Adds the page IDs of the using pages (cannot be used with $1unique).",
+ "apihelp-query+allfileusages-paramvalue-prop-title": "Adds the title of the file.",
"apihelp-query+allfileusages-param-limit": "How many total items to return.",
"apihelp-query+allfileusages-param-dir": "The direction in which to list.",
"apihelp-query+allfileusages-example-B": "List file titles, including missing ones, with page IDs they are from, starting at <kbd>B</kbd>.",
@@ -397,7 +434,9 @@
"apihelp-query+alllinks-param-to": "The title of the link to stop enumerating at.",
"apihelp-query+alllinks-param-prefix": "Search for all linked titles that begin with this value.",
"apihelp-query+alllinks-param-unique": "Only show distinct linked titles. Cannot be used with <kbd>$1prop=ids</kbd>.\nWhen used as a generator, yields target pages instead of source pages.",
- "apihelp-query+alllinks-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID of the linking page (cannot be used with <var>$1unique</var>).\n;title:Adds the title of the link.",
+ "apihelp-query+alllinks-param-prop": "Which pieces of information to include:",
+ "apihelp-query+alllinks-paramvalue-prop-ids": "Adds the page ID of the linking page (cannot be used with <var>$1unique</var>).",
+ "apihelp-query+alllinks-paramvalue-prop-title": "Adds the title of the link.",
"apihelp-query+alllinks-param-namespace": "The namespace to enumerate.",
"apihelp-query+alllinks-param-limit": "How many total items to return.",
"apihelp-query+alllinks-param-dir": "The direction in which to list.",
@@ -447,7 +486,11 @@
"apihelp-query+allredirects-param-to": "The title of the redirect to stop enumerating at.",
"apihelp-query+allredirects-param-prefix": "Search for all target pages that begin with this value.",
"apihelp-query+allredirects-param-unique": "Only show distinct target pages. Cannot be used with $1prop=ids|fragment|interwiki.\nWhen used as a generator, yields target pages instead of source pages.",
- "apihelp-query+allredirects-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID of the redirecting page (cannot be used with <var>$1unique</var>).\n;title:Adds the title of the redirect.\n;fragment:Adds the fragment from the redirect, if any (cannot be used with <var>$1unique</var>).\n;interwiki:Adds the interwiki prefix from the redirect, if any (cannot be used with <var>$1unique</var>).",
+ "apihelp-query+allredirects-param-prop": "Which pieces of information to include:",
+ "apihelp-query+allredirects-paramvalue-prop-ids": "Adds the page ID of the redirecting page (cannot be used with <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-title": "Adds the title of the redirect.",
+ "apihelp-query+allredirects-paramvalue-prop-fragment": "Adds the fragment from the redirect, if any (cannot be used with <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-interwiki": "Adds the interwiki prefix from the redirect, if any (cannot be used with <var>$1unique</var>).",
"apihelp-query+allredirects-param-namespace": "The namespace to enumerate.",
"apihelp-query+allredirects-param-limit": "How many total items to return.",
"apihelp-query+allredirects-param-dir": "The direction in which to list.",
@@ -461,7 +504,9 @@
"apihelp-query+alltransclusions-param-to": "The title of the transclusion to stop enumerating at.",
"apihelp-query+alltransclusions-param-prefix": "Search for all transcluded titles that begin with this value.",
"apihelp-query+alltransclusions-param-unique": "Only show distinct transcluded titles. Cannot be used with $1prop=ids.\nWhen used as a generator, yields target pages instead of source pages.",
- "apihelp-query+alltransclusions-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID of the transcluding page (cannot be used with $1unique).\n;title:Adds the title of the transclusion.",
+ "apihelp-query+alltransclusions-param-prop": "Which pieces of information to include:",
+ "apihelp-query+alltransclusions-paramvalue-prop-ids": "Adds the page ID of the transcluding page (cannot be used with $1unique).",
+ "apihelp-query+alltransclusions-paramvalue-prop-title": "Adds the title of the transclusion.",
"apihelp-query+alltransclusions-param-namespace": "The namespace to enumerate.",
"apihelp-query+alltransclusions-param-limit": "How many total items to return.",
"apihelp-query+alltransclusions-param-dir": "The direction in which to list.",
@@ -478,7 +523,13 @@
"apihelp-query+allusers-param-group": "Only include users in the given groups.",
"apihelp-query+allusers-param-excludegroup": "Exclude users in the given groups.",
"apihelp-query+allusers-param-rights": "Only include users with the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed.",
- "apihelp-query+allusers-param-prop": "Which pieces of information to include:\n;blockinfo:Adds the information about a current block on the user.\n;groups:Lists groups that the user is in. This uses more server resources and may return fewer results than the limit.\n;implicitgroups:Lists all the groups the user is automatically in.\n;rights:Lists rights that the user has.\n;editcount:Adds the edit count of the user.\n;registration:Adds the timestamp of when the user registered if available (may be blank).",
+ "apihelp-query+allusers-param-prop": "Which pieces of information to include:",
+ "apihelp-query+allusers-paramvalue-prop-blockinfo": "Adds the information about a current block on the user.",
+ "apihelp-query+allusers-paramvalue-prop-groups": "Lists groups that the user is in. This uses more server resources and may return fewer results than the limit.",
+ "apihelp-query+allusers-paramvalue-prop-implicitgroups": "Lists all the groups the user is automatically in.",
+ "apihelp-query+allusers-paramvalue-prop-rights": "Lists rights that the user has.",
+ "apihelp-query+allusers-paramvalue-prop-editcount": "Adds the edit count of the user.",
+ "apihelp-query+allusers-paramvalue-prop-registration": "Adds the timestamp of when the user registered if available (may be blank).",
"apihelp-query+allusers-param-limit": "How many total user names to return.",
"apihelp-query+allusers-param-witheditsonly": "Only list users who have made edits.",
"apihelp-query+allusers-param-activeusers": "Only list users active in the last $1 {{PLURAL:$1|day|days}}.",
@@ -490,7 +541,7 @@
"apihelp-query+backlinks-param-namespace": "The namespace to enumerate.",
"apihelp-query+backlinks-param-dir": "The direction in which to list.",
"apihelp-query+backlinks-param-filterredir": "How to filter for redirects. If set to <kbd>nonredirects</kbd> when <var>$1redirect</var> is enabled, this is only applied to the second level.",
- "apihelp-query+backlinks-param-limit": "How many total pages to return. If <var>$1redirect</var> is enabled, limit applies to each level separately (which means up to 2 * <var>$1limit</var> results may be returned).",
+ "apihelp-query+backlinks-param-limit": "How many total pages to return. If <var>$1redirect</var> is enabled, the limit applies to each level separately (which means up to 2 * <var>$1limit</var> results may be returned).",
"apihelp-query+backlinks-param-redirect": "If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.",
"apihelp-query+backlinks-example-simple": "Show links to <kbd>Main page<kbd>.",
"apihelp-query+backlinks-example-generator": "Get information about pages linking to <kbd>Main page<kbd>.",
@@ -502,13 +553,26 @@
"apihelp-query+blocks-param-users": "List of users to search for (optional).",
"apihelp-query+blocks-param-ip": "Get all blocks applying to this IP or CIDR range, including range blocks.\nCannot be used together with <var>$3users</var>. CIDR ranges broader than IPv4/$1 or IPv6/$2 are not accepted.",
"apihelp-query+blocks-param-limit": "The maximum number of blocks to list.",
- "apihelp-query+blocks-param-prop": "Which properties to get:\n;id:Adds the ID of the block.\n;user:Adds the username of the blocked user.\n;userid:Adds the user ID of the blocked user.\n;by:Adds the username of the blocking user.\n;byid:Adds the user ID of the blocking user.\n;timestamp:Adds the timestamp of when the block was given.\n;expiry:Adds the timestamp of when the block expires.\n;reason:Adds the reason given for the block.\n;range:Adds the range of IP addresses affected by the block.\n;flags:Tags the ban with (autoblock, anononly, etc.).",
+ "apihelp-query+blocks-param-prop": "Which properties to get:",
+ "apihelp-query+blocks-paramvalue-prop-id": "Adds the ID of the block.",
+ "apihelp-query+blocks-paramvalue-prop-user": "Adds the username of the blocked user.",
+ "apihelp-query+blocks-paramvalue-prop-userid": "Adds the user ID of the blocked user.",
+ "apihelp-query+blocks-paramvalue-prop-by": "Adds the username of the blocking user.",
+ "apihelp-query+blocks-paramvalue-prop-byid": "Adds the user ID of the blocking user.",
+ "apihelp-query+blocks-paramvalue-prop-timestamp": "Adds the timestamp of when the block was given.",
+ "apihelp-query+blocks-paramvalue-prop-expiry": "Adds the timestamp of when the block expires.",
+ "apihelp-query+blocks-paramvalue-prop-reason": "Adds the reason given for the block.",
+ "apihelp-query+blocks-paramvalue-prop-range": "Adds the range of IP addresses affected by the block.",
+ "apihelp-query+blocks-paramvalue-prop-flags": "Tags the ban with (autoblock, anononly, etc.).",
"apihelp-query+blocks-param-show": "Show only items that meet these criteria.\nFor example, to see only indefinite blocks on IP addresses, set <kbd>$1show=ip|!temp</kbd>.",
"apihelp-query+blocks-example-simple": "List blocks.",
"apihelp-query+blocks-example-users": "List blocks of users <kbd>Alice</kbd> and <kbd>Bob</kbd>.",
"apihelp-query+categories-description": "List all categories the pages belong to.",
- "apihelp-query+categories-param-prop": "Which additional properties to get for each category:\n;sortkey:Adds the sortkey (hexadecimal string) and sortkey prefix (human-readable part) for the category.\n;timestamp:Adds timestamp of when the category was added.\n;hidden:Tags categories that are hidden with _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+categories-param-prop": "Which additional properties to get for each category:",
+ "apihelp-query+categories-paramvalue-prop-sortkey": "Adds the sortkey (hexadecimal string) and sortkey prefix (human-readable part) for the category.",
+ "apihelp-query+categories-paramvalue-prop-timestamp": "Adds timestamp of when the category was added.",
+ "apihelp-query+categories-paramvalue-prop-hidden": "Tags categories that are hidden with <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+categories-param-show": "Which kind of categories to show.",
"apihelp-query+categories-param-limit": "How many categories to return.",
"apihelp-query+categories-param-categories": "Only list these categories. Useful for checking whether a certain page is in a certain category.",
@@ -522,7 +586,13 @@
"apihelp-query+categorymembers-description": "List all pages in a given category.",
"apihelp-query+categorymembers-param-title": "Which category to enumerate (required). Must include the <kbd>{{ns:category}}:</kbd> prefix. Cannot be used together with <var>$1pageid</var>.",
"apihelp-query+categorymembers-param-pageid": "Page ID of the category to enumerate. Cannot be used together with <var>$1title</var>.",
- "apihelp-query+categorymembers-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID.\n;title:Adds the title and namespace ID of the page.\n;sortkey:Adds the sortkey used for sorting in the category (hexadecimal string).\n;sortkeyprefix:Adds the sortkey prefix used for sorting in the category (human-readable part of the sortkey).\n;type:Adds the type that the page has been categorised as (page, subcat or file).\n;timestamp:Adds the timestamp of when the page was included.",
+ "apihelp-query+categorymembers-param-prop": "Which pieces of information to include:",
+ "apihelp-query+categorymembers-paramvalue-prop-ids": "Adds the page ID.",
+ "apihelp-query+categorymembers-paramvalue-prop-title": "Adds the title and namespace ID of the page.",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkey": "Adds the sortkey used for sorting in the category (hexadecimal string).",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix": "Adds the sortkey prefix used for sorting in the category (human-readable part of the sortkey).",
+ "apihelp-query+categorymembers-paramvalue-prop-type": "Adds the type that the page has been categorised as (page, subcat or file).",
+ "apihelp-query+categorymembers-paramvalue-prop-timestamp": "Adds the timestamp of when the page was included.",
"apihelp-query+categorymembers-param-namespace": "Only include pages in these namespaces. Note that <kbd>$1type=subcat</kbd> or <kbd>$1type=file</kbd> may be used instead of <kbd>$1namespace=14</kbd> or <kbd>6</kbd>.",
"apihelp-query+categorymembers-param-type": "Which type of category members to include. Ignored when <kbd>$1sort=timestamp</kbd> is set.",
"apihelp-query+categorymembers-param-limit": "The maximum number of pages to return.",
@@ -531,9 +601,9 @@
"apihelp-query+categorymembers-param-start": "Timestamp to start listing from. Can only be used with <kbd>$1sort=timestamp</kbd>.",
"apihelp-query+categorymembers-param-end": "Timestamp to end listing at. Can only be used with <kbd>$1sort=timestamp</kbd>.",
"apihelp-query+categorymembers-param-starthexsortkey": "Sortkey to start listing from, as returned by <kbd>$1prop=sortkey</kbd>. Can only be used with <kbd>$1sort=sortkey</kbd>.",
- "apihelp-query+categorymembers-param-endhexsortkey": "Sortkey to end listing from, as returned by <kbd>$1prop=sortkey</kbd>. Can only be used with <kbd>$1sort=sortkey</kbd>.",
+ "apihelp-query+categorymembers-param-endhexsortkey": "Sortkey to end listing at, as returned by <kbd>$1prop=sortkey</kbd>. Can only be used with <kbd>$1sort=sortkey</kbd>.",
"apihelp-query+categorymembers-param-startsortkeyprefix": "Sortkey prefix to start listing from. Can only be used with <kbd>$1sort=sortkey</kbd>. Overrides <var>$1starthexsortkey</var>.",
- "apihelp-query+categorymembers-param-endsortkeyprefix": "Sortkey prefix to end listing BEFORE (not at, if this value occurs it will not be included!). Can only be used with $1sort=sortkey. Overrides $1endhexsortkey.",
+ "apihelp-query+categorymembers-param-endsortkeyprefix": "Sortkey prefix to end listing <strong>before</strong> (not <strong>at</strong>; if this value occurs it will not be included!). Can only be used with $1sort=sortkey. Overrides $1endhexsortkey.",
"apihelp-query+categorymembers-param-startsortkey": "Use $1starthexsortkey instead.",
"apihelp-query+categorymembers-param-endsortkey": "Use $1endhexsortkey instead.",
"apihelp-query+categorymembers-example-simple": "Get first 10 pages in <kbd>Category:Physics</kbd>.",
@@ -553,8 +623,6 @@
"apihelp-query+deletedrevisions-param-tag": "Only list revisions tagged with this tag.",
"apihelp-query+deletedrevisions-param-user": "Only list revisions by this user.",
"apihelp-query+deletedrevisions-param-excludeuser": "Don't list revisions by this user.",
- "apihelp-query+deletedrevisions-param-limit": "The maximum amount of revisions to list.",
- "apihelp-query+deletedrevisions-param-prop": "Which properties to get:\n;revid:Adds the revision ID of the deleted revision.\n;parentid:Adds the revision ID of the previous revision to the page.\n;user:Adds the user who made the revision.\n;userid:Adds the user ID who made the revision.\n;comment:Adds the comment of the revision.\n;parsedcomment:Adds the parsed comment of the revision.\n;minor:Tags if the revision is minor.\n;len:Adds the length (bytes) of the revision.\n;sha1:Adds the SHA-1 (base 16) of the revision.\n;content:Adds the content of the revision.\n;tags:Tags for the revision.",
"apihelp-query+deletedrevisions-example-titles": "List the deleted revisions of the pages <kbd>Main Page</kbd> and <kbd>Talk:Main Page</kbd>, with content.",
"apihelp-query+deletedrevisions-example-revids": "List the information for deleted revision <kbd>123456</kbd>.",
@@ -571,7 +639,7 @@
"apihelp-query+deletedrevs-param-excludeuser": "Don't list revisions by this user.",
"apihelp-query+deletedrevs-param-namespace": "Only list pages in this namespace.",
"apihelp-query+deletedrevs-param-limit": "The maximum amount of revisions to list.",
- "apihelp-query+deletedrevs-param-prop": "Which properties to get:\n;revid:Adds the revision ID of the deleted revision.\n;parentid:Adds the revision ID of the previous revision to the page.\n;user:Adds the user who made the revision.\n;userid:Adds the user ID whom made the revision.\n;comment:Adds the comment of the revision.\n;parsedcomment:Adds the parsed comment of the revision.\n;minor:Tags if the revision is minor.\n;len:Adds the length (bytes) of the revision.\n;sha1:Adds the SHA-1 (base 16) of the revision.\n;content:Adds the content of the revision.\n;token:<span class=\"apihelp-deprecated\">Deprecated.</span> Gives the edit token.\n;tags:Tags for the revision.",
+ "apihelp-query+deletedrevs-param-prop": "Which properties to get:\n;revid:Adds the revision ID of the deleted revision.\n;parentid:Adds the revision ID of the previous revision to the page.\n;user:Adds the user who made the revision.\n;userid:Adds the ID of the user who made the revision.\n;comment:Adds the comment of the revision.\n;parsedcomment:Adds the parsed comment of the revision.\n;minor:Tags if the revision is minor.\n;len:Adds the length (bytes) of the revision.\n;sha1:Adds the SHA-1 (base 16) of the revision.\n;content:Adds the content of the revision.\n;token:<span class=\"apihelp-deprecated\">Deprecated.</span> Gives the edit token.\n;tags:Tags for the revision.",
"apihelp-query+deletedrevs-example-mode1": "List the last deleted revisions of the pages <kbd>Main Page</kbd> and <kbd>Talk:Main Page</kbd>, with content (mode 1).",
"apihelp-query+deletedrevs-example-mode2": "List the last 50 deleted contributions by <kbd>Bob</kbd> (mode 2).",
"apihelp-query+deletedrevs-example-mode3-main": "List the first 50 deleted revisions in the main namespace (mode 3).",
@@ -604,8 +672,11 @@
"apihelp-query+extlinks-example-simple": "Get a list of external links on <kbd>Main Page<kbd>.",
"apihelp-query+exturlusage-description": "Enumerate pages that contain a given URL.",
- "apihelp-query+exturlusage-param-prop": "Which pieces of information to include:\n;ids:Adds the ID of page.\n;title:Adds the title and namespace ID of the page.\n;url:Adds the URL used in the page.",
- "apihelp-query+exturlusage-param-protocol": "Protocol of the URL. If empty and <var>$1query</var> set, the protocol is <kbd>http</kbd>. Leave both this and <var>$1query</var> empty to list all external links.",
+ "apihelp-query+exturlusage-param-prop": "Which pieces of information to include:",
+ "apihelp-query+exturlusage-paramvalue-prop-ids": "Adds the ID of page.",
+ "apihelp-query+exturlusage-paramvalue-prop-title": "Adds the title and namespace ID of the page.",
+ "apihelp-query+exturlusage-paramvalue-prop-url": "Adds the URL used in the page.",
+ "apihelp-query+exturlusage-param-protocol": "Protocol of the URL. If empty and <var>$1query</var> is set, the protocol is <kbd>http</kbd>. Leave both this and <var>$1query</var> empty to list all external links.",
"apihelp-query+exturlusage-param-query": "Search string without protocol. See [[Special:LinkSearch]]. Leave empty to list all external links.",
"apihelp-query+exturlusage-param-namespace": "The page namespaces to enumerate.",
"apihelp-query+exturlusage-param-limit": "How many pages to return.",
@@ -620,7 +691,19 @@
"apihelp-query+filearchive-param-dir": "The direction in which to list.",
"apihelp-query+filearchive-param-sha1": "SHA1 hash of image. Overrides $1sha1base36.",
"apihelp-query+filearchive-param-sha1base36": "SHA1 hash of image in base 36 (used in MediaWiki).",
- "apihelp-query+filearchive-param-prop": "Which image information to get:\n;sha1:Adds SHA-1 hash for the image.\n;timestamp:Adds timestamp for the uploaded version.\n;user:Adds user who uploaded the image version.\n;size:Adds the size of the image in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;description:Adds description the image version.\n;parseddescription:Parse the description on the version.\n;mime:Adds MIME of the image.\n;mediatype:Adds the media type of the image.\n;metadata:Lists Exif metadata for the version of the image.\n;bitdepth:Adds the bit depth of the version.\n;archivename:Adds the filename of the archive version for non-latest versions.",
+ "apihelp-query+filearchive-param-prop": "Which image information to get:",
+ "apihelp-query+filearchive-paramvalue-prop-sha1": "Adds SHA-1 hash for the image.",
+ "apihelp-query+filearchive-paramvalue-prop-timestamp": "Adds timestamp for the uploaded version.",
+ "apihelp-query+filearchive-paramvalue-prop-user": "Adds user who uploaded the image version.",
+ "apihelp-query+filearchive-paramvalue-prop-size": "Adds the size of the image in bytes and the height, width and page count (if applicable).",
+ "apihelp-query+filearchive-paramvalue-prop-dimensions": "Alias for size.",
+ "apihelp-query+filearchive-paramvalue-prop-description": "Adds description of the image version.",
+ "apihelp-query+filearchive-paramvalue-prop-parseddescription": "Parse the description of the version.",
+ "apihelp-query+filearchive-paramvalue-prop-mime": "Adds MIME of the image.",
+ "apihelp-query+filearchive-paramvalue-prop-mediatype": "Adds the media type of the image.",
+ "apihelp-query+filearchive-paramvalue-prop-metadata": "Lists Exif metadata for the version of the image.",
+ "apihelp-query+filearchive-paramvalue-prop-bitdepth": "Adds the bit depth of the version.",
+ "apihelp-query+filearchive-paramvalue-prop-archivename": "Adds the filename of the archive version for non-latest versions.",
"apihelp-query+filearchive-example-simple": "Show a list of all deleted files.",
"apihelp-query+filerepoinfo-description": "Return meta information about image repositories configured on the wiki.",
@@ -628,7 +711,10 @@
"apihelp-query+filerepoinfo-example-simple": "Get information about file repositories.",
"apihelp-query+fileusage-description": "Find all pages that use the given files.",
- "apihelp-query+fileusage-param-prop": "Which properties to get:\n;pageid:Page ID of each page.\n;title:Title of each page.\n;redirect:Flag if the page is a redirect.",
+ "apihelp-query+fileusage-param-prop": "Which properties to get:",
+ "apihelp-query+fileusage-paramvalue-prop-pageid": "Page ID of each page.",
+ "apihelp-query+fileusage-paramvalue-prop-title": "Title of each page.",
+ "apihelp-query+fileusage-paramvalue-prop-redirect": "Flag if the page is a redirect.",
"apihelp-query+fileusage-param-namespace": "Only include pages in these namespaces.",
"apihelp-query+fileusage-param-limit": "How many to return.",
"apihelp-query+fileusage-param-show": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects.",
@@ -638,24 +724,24 @@
"apihelp-query+imageinfo-description": "Returns file information and upload history.",
"apihelp-query+imageinfo-param-prop": "Which file information to get:",
"apihelp-query+imageinfo-paramvalue-prop-timestamp": "Adds timestamp for the uploaded version.",
- "apihelp-query+imageinfo-paramvalue-prop-user":"Adds the user who uploaded each file version.",
- "apihelp-query+imageinfo-paramvalue-prop-userid":"Add the user ID that uploaded each file version.",
- "apihelp-query+imageinfo-paramvalue-prop-comment":"Comment on the version.",
- "apihelp-query+imageinfo-paramvalue-prop-parsedcomment":"Parse the comment on the version.",
- "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle":"Adds the canonical title of the file.",
- "apihelp-query+imageinfo-paramvalue-prop-url":"Gives URL to the file and the description page.",
- "apihelp-query+imageinfo-paramvalue-prop-size":"Adds the size of the file in bytes and the height, width and page count (if applicable).",
- "apihelp-query+imageinfo-paramvalue-prop-dimensions":"Alias for size.",
- "apihelp-query+imageinfo-paramvalue-prop-sha1":"Adds SHA-1 hash for the file.",
- "apihelp-query+imageinfo-paramvalue-prop-mime":"Adds MIME type of the file.",
- "apihelp-query+imageinfo-paramvalue-prop-thumbmime":"Adds MIME type of the image thumbnail (requires url and param $1urlwidth).",
- "apihelp-query+imageinfo-paramvalue-prop-mediatype":"Adds the media type of the file.",
- "apihelp-query+imageinfo-paramvalue-prop-metadata":"Lists Exif metadata for the version of the file.",
- "apihelp-query+imageinfo-paramvalue-prop-commonmetadata":"Lists file format generic metadata for the version of the file.",
- "apihelp-query+imageinfo-paramvalue-prop-extmetadata":"Lists formatted metadata combined from multiple sources. Results are HTML formatted.",
- "apihelp-query+imageinfo-paramvalue-prop-archivename":"Adds the filename of the archive version for non-latest versions.",
- "apihelp-query+imageinfo-paramvalue-prop-bitdepth":"Adds the bit depth of the version.",
- "apihelp-query+imageinfo-paramvalue-prop-uploadwarning":"Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.",
+ "apihelp-query+imageinfo-paramvalue-prop-user": "Adds the user who uploaded each file version.",
+ "apihelp-query+imageinfo-paramvalue-prop-userid": "Add the ID of the user that uploaded each file version.",
+ "apihelp-query+imageinfo-paramvalue-prop-comment": "Comment on the version.",
+ "apihelp-query+imageinfo-paramvalue-prop-parsedcomment": "Parse the comment on the version.",
+ "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle": "Adds the canonical title of the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-url": "Gives URL to the file and the description page.",
+ "apihelp-query+imageinfo-paramvalue-prop-size": "Adds the size of the file in bytes and the height, width and page count (if applicable).",
+ "apihelp-query+imageinfo-paramvalue-prop-dimensions": "Alias for size.",
+ "apihelp-query+imageinfo-paramvalue-prop-sha1": "Adds SHA-1 hash for the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-mime": "Adds MIME type of the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-thumbmime": "Adds MIME type of the image thumbnail (requires url and param $1urlwidth).",
+ "apihelp-query+imageinfo-paramvalue-prop-mediatype": "Adds the media type of the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-metadata": "Lists Exif metadata for the version of the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-commonmetadata": "Lists file format generic metadata for the version of the file.",
+ "apihelp-query+imageinfo-paramvalue-prop-extmetadata": "Lists formatted metadata combined from multiple sources. Results are HTML formatted.",
+ "apihelp-query+imageinfo-paramvalue-prop-archivename": "Adds the filename of the archive version for non-latest versions.",
+ "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "Adds the bit depth of the version.",
+ "apihelp-query+imageinfo-paramvalue-prop-uploadwarning": "Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.",
"apihelp-query+imageinfo-param-limit": "How many file revisions to return per file.",
"apihelp-query+imageinfo-param-start": "Timestamp to start listing from.",
"apihelp-query+imageinfo-param-end": "Timestamp to stop listing at.",
@@ -699,7 +785,7 @@
"apihelp-query+info-paramvalue-prop-url": "Gives a full URL, an edit URL, and the canonical URL for each page.",
"apihelp-query+info-paramvalue-prop-readable": "Whether the user can read this page.",
"apihelp-query+info-paramvalue-prop-preload": "Gives the text returned by EditFormPreloadText.",
- "apihelp-query+info-paramvalue-prop-displaytitle": "Gives the way the page title is actually displayed.",
+ "apihelp-query+info-paramvalue-prop-displaytitle": "Gives the manner in which the page title is actually displayed.",
"apihelp-query+info-param-testactions": "Test whether the current user can perform certain actions on the page.",
"apihelp-query+info-param-token": "Use [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] instead.",
"apihelp-query+info-example-simple": "Get information about the page <kbd>Main Page</kbd>.",
@@ -709,14 +795,17 @@
"apihelp-query+iwbacklinks-param-prefix": "Prefix for the interwiki.",
"apihelp-query+iwbacklinks-param-title": "Interwiki link to search for. Must be used with <var>$1blprefix</var>.",
"apihelp-query+iwbacklinks-param-limit": "How many total pages to return.",
- "apihelp-query+iwbacklinks-param-prop": "Which properties to get:\n;iwprefix:Adds the prefix of the interwiki.\n;iwtitle:Adds the title of the interwiki.",
+ "apihelp-query+iwbacklinks-param-prop": "Which properties to get:",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwprefix": "Adds the prefix of the interwiki.",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle": "Adds the title of the interwiki.",
"apihelp-query+iwbacklinks-param-dir": "The direction in which to list.",
"apihelp-query+iwbacklinks-example-simple": "Get pages linking to [[wikibooks:Test]].",
"apihelp-query+iwbacklinks-example-generator": "Get information about pages linking to [[wikibooks:Test]].",
"apihelp-query+iwlinks-description": "Returns all interwiki links from the given pages.",
"apihelp-query+iwlinks-param-url": "Whether to get the full URL (cannot be used with $1prop).",
- "apihelp-query+iwlinks-param-prop": "Which additional properties to get for each interlanguage link:\n;url:Adds the full URL.",
+ "apihelp-query+iwlinks-param-prop": "Which additional properties to get for each interlanguage link:",
+ "apihelp-query+iwlinks-paramvalue-prop-url": "Adds the full URL.",
"apihelp-query+iwlinks-param-limit": "How many interwiki links to return.",
"apihelp-query+iwlinks-param-prefix": "Only return interwiki links with this prefix.",
"apihelp-query+iwlinks-param-title": "Interwiki link to search for. Must be used with <var>$1prefix</var>.",
@@ -727,7 +816,9 @@
"apihelp-query+langbacklinks-param-lang": "Language for the language link.",
"apihelp-query+langbacklinks-param-title": "Language link to search for. Must be used with $1lang.",
"apihelp-query+langbacklinks-param-limit": "How many total pages to return.",
- "apihelp-query+langbacklinks-param-prop": "Which properties to get:\n;lllang:Adds the language code of the language link.\n;lltitle:Adds the title of the language link.",
+ "apihelp-query+langbacklinks-param-prop": "Which properties to get:",
+ "apihelp-query+langbacklinks-paramvalue-prop-lllang": "Adds the language code of the language link.",
+ "apihelp-query+langbacklinks-paramvalue-prop-lltitle": "Adds the title of the language link.",
"apihelp-query+langbacklinks-param-dir": "The direction in which to list.",
"apihelp-query+langbacklinks-example-simple": "Get pages linking to [[:fr:Test]].",
"apihelp-query+langbacklinks-example-generator": "Get information about pages linking to [[:fr:Test]].",
@@ -735,7 +826,10 @@
"apihelp-query+langlinks-description": "Returns all interlanguage links from the given pages.",
"apihelp-query+langlinks-param-limit": "How many langlinks to return.",
"apihelp-query+langlinks-param-url": "Whether to get the full URL (cannot be used with <var>$1prop</var>).",
- "apihelp-query+langlinks-param-prop": "Which additional properties to get for each interlanguage link:\n;url:Adds the full URL.\n;langname:Adds the localised language name (best effort). Use <var>$1inlanguagecode</var> to control the language.\n;autonym:Adds the native language name.",
+ "apihelp-query+langlinks-param-prop": "Which additional properties to get for each interlanguage link:",
+ "apihelp-query+langlinks-paramvalue-prop-url": "Adds the full URL.",
+ "apihelp-query+langlinks-paramvalue-prop-langname": "Adds the localised language name (best effort). Use <var>$1inlanguagecode</var> to control the language.",
+ "apihelp-query+langlinks-paramvalue-prop-autonym": "Adds the native language name.",
"apihelp-query+langlinks-param-lang": "Only return language links with this language code.",
"apihelp-query+langlinks-param-title": "Link to search for. Must be used with <var>$1lang</var>.",
"apihelp-query+langlinks-param-dir": "The direction in which to list.",
@@ -752,7 +846,10 @@
"apihelp-query+links-example-namespaces": "Get links from the page <kbd>Main Page</kbd> in the {{ns:user}} and {{ns:template}} namespaces.",
"apihelp-query+linkshere-description": "Find all pages that link to the given pages.",
- "apihelp-query+linkshere-param-prop": "Which properties to get:\n;pageid:Page ID of each page.\n;title:Title of each page.\n;redirect:Flag if the page is a redirect.",
+ "apihelp-query+linkshere-param-prop": "Which properties to get:",
+ "apihelp-query+linkshere-paramvalue-prop-pageid": "Page ID of each page.",
+ "apihelp-query+linkshere-paramvalue-prop-title": "Title of each page.",
+ "apihelp-query+linkshere-paramvalue-prop-redirect": "Flag if the page is a redirect.",
"apihelp-query+linkshere-param-namespace": "Only include pages in these namespaces.",
"apihelp-query+linkshere-param-limit": "How many to return.",
"apihelp-query+linkshere-param-show": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects.",
@@ -760,9 +857,19 @@
"apihelp-query+linkshere-example-generator": "Get information about pages linking to the [[Main Page]].",
"apihelp-query+logevents-description": "Get events from logs.",
- "apihelp-query+logevents-param-prop": "Which properties to get:\n;ids:Adds the ID of the log event.\n;title:Adds the title of the page for the log event.\n;type:Adds the type of log event.\n;user:Adds the user responsible for the log event.\n;userid:Adds the user ID who was responsible for the log event.\n;timestamp:Adds the timestamp for the event.\n;comment:Adds the comment of the event.\n;parsedcomment:Adds the parsed comment of the event.\n;details:Lists additional details about the event.\n;tags:Lists tags for the event.",
+ "apihelp-query+logevents-param-prop": "Which properties to get:",
+ "apihelp-query+logevents-paramvalue-prop-ids": "Adds the ID of the log event.",
+ "apihelp-query+logevents-paramvalue-prop-title": "Adds the title of the page for the log event.",
+ "apihelp-query+logevents-paramvalue-prop-type": "Adds the type of log event.",
+ "apihelp-query+logevents-paramvalue-prop-user": "Adds the user responsible for the log event.",
+ "apihelp-query+logevents-paramvalue-prop-userid": "Adds the user ID who was responsible for the log event.",
+ "apihelp-query+logevents-paramvalue-prop-timestamp": "Adds the timestamp for the log event.",
+ "apihelp-query+logevents-paramvalue-prop-comment": "Adds the comment of the log event.",
+ "apihelp-query+logevents-paramvalue-prop-parsedcomment": "Adds the parsed comment of the log event.",
+ "apihelp-query+logevents-paramvalue-prop-details": "Lists additional details about the log event.",
+ "apihelp-query+logevents-paramvalue-prop-tags": "Lists tags for the log event.",
"apihelp-query+logevents-param-type": "Filter log entries to only this type.",
- "apihelp-query+logevents-param-action": "Filter log actions to only this action. Overrides <var>$1type</var>. Wildcard actions like <kbd>action/*</kbd> allows to specify any string for the asterisk.",
+ "apihelp-query+logevents-param-action": "Filter log actions to only this action. Overrides <var>$1type</var>. In the list of possible values, values with the asterisk wildcard such as <kbd>action/*</kbd> can have different strings after the slash (/).",
"apihelp-query+logevents-param-start": "The timestamp to start enumerating from.",
"apihelp-query+logevents-param-end": "The timestamp to end enumerating.",
"apihelp-query+logevents-param-user": "Filter entries to those made by the given user.",
@@ -779,15 +886,18 @@
"apihelp-query+pageprops-description": "Get various properties defined in the page content.",
"apihelp-query+pageprops-param-prop": "Only list these props. Useful for checking whether a certain page uses a certain page prop.",
- "apihelp-query+pageprops-example-simple": "Get properties for <kbd>Category:Foo</kbd>.",
+ "apihelp-query+pageprops-example-simple": "Get properties for the pages <kbd>Main Page</kbd> and <kbd>MediaWiki</kbd>.",
"apihelp-query+pageswithprop-description": "List all pages using a given page property.",
"apihelp-query+pageswithprop-param-propname": "Page prop for which to enumerate pages.",
- "apihelp-query+pageswithprop-param-prop": "Which pieces of information to include:\n;ids:Adds the page ID.\n;title:Adds the title and namespace ID of the page.\n;value:Adds the value of the page prop.",
+ "apihelp-query+pageswithprop-param-prop": "Which pieces of information to include:",
+ "apihelp-query+pageswithprop-paramvalue-prop-ids": "Adds the page ID.",
+ "apihelp-query+pageswithprop-paramvalue-prop-title": "Adds the title and namespace ID of the page.",
+ "apihelp-query+pageswithprop-paramvalue-prop-value": "Adds the value of the page prop.",
"apihelp-query+pageswithprop-param-limit": "The maximum number of pages to return.",
"apihelp-query+pageswithprop-param-dir": "In which direction to sort.",
"apihelp-query+pageswithprop-example-simple": "List the first 10 pages using <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
- "apihelp-query+pageswithprop-example-generator": "Get page info about first 10 pages using <code>_&#95;NOTOC_&#95;</code>.",
+ "apihelp-query+pageswithprop-example-generator": "Get additional information about the first 10 pages using <code>_&#95;NOTOC_&#95;</code>.",
"apihelp-query+prefixsearch-description": "Perform a prefix search for page titles.",
"apihelp-query+prefixsearch-param-search": "Search string.",
@@ -795,13 +905,21 @@
"apihelp-query+prefixsearch-param-limit": "Maximum number of results to return.",
"apihelp-query+prefixsearch-param-offset": "Number of results to skip.",
"apihelp-query+prefixsearch-example-simple": "Search for page titles beginning with <kbd>meaning</kbd>.",
+
"apihelp-query+protectedtitles-description": "List all titles protected from creation.",
"apihelp-query+protectedtitles-param-namespace": "Only list titles in these namespaces.",
"apihelp-query+protectedtitles-param-level": "Only list titles with these protection levels.",
"apihelp-query+protectedtitles-param-limit": "How many total pages to return.",
"apihelp-query+protectedtitles-param-start": "Start listing at this protection timestamp.",
"apihelp-query+protectedtitles-param-end": "Stop listing at this protection timestamp.",
- "apihelp-query+protectedtitles-param-prop": "Which properties to get:\n;timestamp:Adds the timestamp of when protection was added.\n;user:Adds the user that added the protection.\n;userid:Adds the user ID that added the protection.\n;comment:Adds the comment for the protection.\n;parsedcomment:Adds the parsed comment for the protection.\n;expiry:Adds the timestamp of when the protection will be lifted.\n;level:Adds the protection level.",
+ "apihelp-query+protectedtitles-param-prop": "Which properties to get:",
+ "apihelp-query+protectedtitles-paramvalue-prop-timestamp": "Adds the timestamp of when protection was added.",
+ "apihelp-query+protectedtitles-paramvalue-prop-user": "Adds the user that added the protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-userid": "Adds the user ID that added the protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-comment": "Adds the comment for the protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment": "Adds the parsed comment for the protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Adds the timestamp of when the protection will be lifted.",
+ "apihelp-query+protectedtitles-paramvalue-prop-level": "Adds the protection level.",
"apihelp-query+protectedtitles-example-simple": "List protected titles.",
"apihelp-query+protectedtitles-example-generator": "Find links to protected titles in the main namespace.",
@@ -810,10 +928,11 @@
"apihelp-query+querypage-param-limit": "Number of results to return.",
"apihelp-query+querypage-example-ancientpages": "Return results from [[Special:Ancientpages]].",
- "apihelp-query+random-description": "Get a set of random pages.\n\nPages are listed in a fixed sequence, only the starting point is random. This means that if, for example, <samp>Main Page</samp> is the first random page in the list, <samp>List of fictional monkeys</samp> will <em>always</em> be second, <samp>List of people on stamps of Vanuatu</samp> third, etc.\n\nIf the number of pages in the namespace is lower than <var>$1limit</var>, fewer pages will be returned. The same page will not be returned twice.",
+ "apihelp-query+random-description": "Get a set of random pages.\n\nPages are listed in a fixed sequence, only the starting point is random. This means that if, for example, <samp>Main Page</samp> is the first random page in the list, <samp>List of fictional monkeys</samp> will <em>always</em> be second, <samp>List of people on stamps of Vanuatu</samp> third, etc.",
"apihelp-query+random-param-namespace": "Return pages in these namespaces only.",
"apihelp-query+random-param-limit": "Limit how many random pages will be returned.",
- "apihelp-query+random-param-redirect": "Load a random redirect instead of a random page.",
+ "apihelp-query+random-param-redirect": "Use <kbd>$1filterredir=redirects</kbd> instead.",
+ "apihelp-query+random-param-filterredir": "How to filter for redirects.",
"apihelp-query+random-example-simple": "Return two random pages from the main namespace.",
"apihelp-query+random-example-generator": "Return page info about two random pages from the main namespace.",
@@ -824,7 +943,21 @@
"apihelp-query+recentchanges-param-user": "Only list changes by this user.",
"apihelp-query+recentchanges-param-excludeuser": "Don't list changes by this user.",
"apihelp-query+recentchanges-param-tag": "Only list changes tagged with this tag.",
- "apihelp-query+recentchanges-param-prop": "Include additional pieces of information:\n;user:Adds the user responsible for the edit and tags if they are an IP.\n;userid:Adds the user ID responsible for the edit.\n;comment:Adds the comment for the edit.\n;parsedcomment:Adds the parsed comment for the edit.\n;flags:Adds flags for the edit.\n;timestamp:Adds timestamp of the edit.\n;title:Adds the page title of the edit.\n;ids:Adds the page ID, recent changes ID and the new and old revision ID.\n;sizes:Adds the new and old page length in bytes.\n;redirect:Tags edit if page is a redirect.\n;patrolled:Tags patrollable edits as being patrolled or unpatrolled.\n;loginfo:Adds log information (log ID, log type, etc) to log entries.\n;tags:Lists tags for the entry.\n;sha1:Adds the content checksum for entries associated with a revision.",
+ "apihelp-query+recentchanges-param-prop": "Include additional pieces of information:",
+ "apihelp-query+recentchanges-paramvalue-prop-user": "Adds the user responsible for the edit and tags if they are an IP.",
+ "apihelp-query+recentchanges-paramvalue-prop-userid": "Adds the user ID responsible for the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-comment": "Adds the comment for the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Adds the parsed comment for the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-flags": "Adds flags for the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-timestamp": "Adds timestamp of the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-title": "Adds the page title of the edit.",
+ "apihelp-query+recentchanges-paramvalue-prop-ids": "Adds the page ID, recent changes ID and the new and old revision ID.",
+ "apihelp-query+recentchanges-paramvalue-prop-sizes": "Adds the new and old page length in bytes.",
+ "apihelp-query+recentchanges-paramvalue-prop-redirect": "Tags edit if page is a redirect.",
+ "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Tags patrollable edits as being patrolled or unpatrolled.",
+ "apihelp-query+recentchanges-paramvalue-prop-loginfo": "Adds log information (log ID, log type, etc) to log entries.",
+ "apihelp-query+recentchanges-paramvalue-prop-tags": "Lists tags for the entry.",
+ "apihelp-query+recentchanges-paramvalue-prop-sha1": "Adds the content checksum for entries associated with a revision.",
"apihelp-query+recentchanges-param-token": "Use <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> instead.",
"apihelp-query+recentchanges-param-show": "Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set $1show=minor|!anon.",
"apihelp-query+recentchanges-param-limit": "How many total changes to return.",
@@ -834,7 +967,10 @@
"apihelp-query+recentchanges-example-generator": "Get page info about recent unpatrolled changes.",
"apihelp-query+redirects-description": "Returns all redirects to the given pages.",
- "apihelp-query+redirects-param-prop": "Which properties to get:\n;pageid:Page ID of each redirect.\n;title:Title of each redirect.\n;fragment:Fragment of each redirect, if any.",
+ "apihelp-query+redirects-param-prop": "Which properties to get:",
+ "apihelp-query+redirects-paramvalue-prop-pageid": "Page ID of each redirect.",
+ "apihelp-query+redirects-paramvalue-prop-title": "Title of each redirect.",
+ "apihelp-query+redirects-paramvalue-prop-fragment": "Fragment of each redirect, if any.",
"apihelp-query+redirects-param-namespace": "Only include pages in these namespaces.",
"apihelp-query+redirects-param-limit": "How many redirects to return.",
"apihelp-query+redirects-param-show": "Show only items that meet these criteria:\n;fragment:Only show redirects with a fragment.\n;!fragment:Only show redirects without a fragment.",
@@ -857,31 +993,81 @@
"apihelp-query+revisions-example-first5-after": "Get first 5 revisions of the <kbd>Main Page</kbd> made after 2006-05-01.",
"apihelp-query+revisions-example-first5-not-localhost": "Get first 5 revisions of the <kbd>Main Page</kbd> that were not made by anonymous user <kbd>127.0.0.1</kbd>.",
"apihelp-query+revisions-example-first5-user": "Get first 5 revisions of the <kbd>Main Page</kbd> that were made by the user <kbd>MediaWiki default</kbd>.",
- "apihelp-query+revisions+base-param-prop": "Which properties to get for each revision:\n;ids:The ID of the revision.\n;flags:Revision flags (minor).\n;timestamp:The timestamp of the revision.\n;user:User that made the revision.\n;userid:User ID of the revision creator.\n;size:Length (bytes) of the revision.\n;sha1:SHA-1 (base 16) of the revision.\n;contentmodel:Content model ID of the revision.\n;comment:Comment by the user for the revision.\n;parsedcomment:Parsed comment by the user for the revision.\n;content:Text of the revision.\n;tags:Tags for the revision.",
+
+ "apihelp-query+revisions+base-param-prop": "Which properties to get for each revision:",
+ "apihelp-query+revisions+base-paramvalue-prop-ids": "The ID of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-flags": "Revision flags (minor).",
+ "apihelp-query+revisions+base-paramvalue-prop-timestamp": "The timestamp of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-user": "User that made the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-userid": "User ID of the revision creator.",
+ "apihelp-query+revisions+base-paramvalue-prop-size": "Length (bytes) of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-sha1": "SHA-1 (base 16) of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "Content model ID of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-comment": "Comment by the user for the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "Parsed comment by the user for the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-content": "Text of the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-tags": "Tags for the revision.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsetree": "The XML parse tree of revision content (requires content model <code>$1</code>).",
"apihelp-query+revisions+base-param-limit": "Limit how many revisions will be returned.",
"apihelp-query+revisions+base-param-expandtemplates": "Expand templates in revision content (requires $1prop=content).",
- "apihelp-query+revisions+base-param-generatexml": "Generate XML parse tree for revision content (requires $1prop=content).",
+ "apihelp-query+revisions+base-param-generatexml": "Generate XML parse tree for revision content (requires $1prop=content; replaced by <kbd>$1prop=parsetree</kbd>).",
"apihelp-query+revisions+base-param-parse": "Parse revision content (requires $1prop=content). For performance reasons, if this option is used, $1limit is enforced to 1.",
"apihelp-query+revisions+base-param-section": "Only retrieve the content of this section number.",
"apihelp-query+revisions+base-param-diffto": "Revision ID to diff each revision to. Use <kbd>prev</kbd>, <kbd>next</kbd> and <kbd>cur</kbd> for the previous, next and current revision respectively.",
- "apihelp-query+revisions+base-param-difftotext": "Text to diff each revision to. Only diffs a limited number of revisions. Overrides <var>$1diffto</var>. If <var>$1section</var> is set, only that section will be diffed against this text",
+ "apihelp-query+revisions+base-param-difftotext": "Text to diff each revision to. Only diffs a limited number of revisions. Overrides <var>$1diffto</var>. If <var>$1section</var> is set, only that section will be diffed against this text.",
"apihelp-query+revisions+base-param-contentformat": "Serialization format used for <var>$1difftotext</var> and expected for output of content.",
"apihelp-query+search-description": "Perform a full text search.",
- "apihelp-query+search-param-search": "Search for all page titles (or content) that have this value.",
+ "apihelp-query+search-param-search": "Search for page titles or content matching this value. You can use the search string to invoke special search features, depending on what the wiki's search backend implements.",
"apihelp-query+search-param-namespace": "Search only within these namespaces.",
"apihelp-query+search-param-what": "Which type of search to perform.",
"apihelp-query+search-param-info": "Which metadata to return.",
- "apihelp-query+search-param-prop": "Which properties to return:\n;size:Adds the size of the page in bytes.\n;wordcount:Adds the word count of the page.\n;timestamp:Adds the timestamp of when the page was last edited.\n;snippet:Adds a parsed snippet of the page.\n;titlesnippet:Adds a parsed snippet of the page title.\n;redirectsnippet:Adds a parsed snippet of the redirect title.\n;redirecttitle:Adds the title of the matching redirect.\n;sectionsnippet:Adds a parsed snippet of the matching section title.\n;sectiontitle:Adds the title of the matching section.\n;score:<span class=\"apihelp-deprecated\">Deprecated and ignored.</span>\n;hasrelated:<span class=\"apihelp-deprecated\">Deprecated and ignored.</span>",
+ "apihelp-query+search-param-prop": "Which properties to return:",
+ "apihelp-query+search-paramvalue-prop-size": "Adds the size of the page in bytes.",
+ "apihelp-query+search-paramvalue-prop-wordcount": "Adds the word count of the page.",
+ "apihelp-query+search-paramvalue-prop-timestamp": "Adds the timestamp of when the page was last edited.",
+ "apihelp-query+search-paramvalue-prop-snippet": "Adds a parsed snippet of the page.",
+ "apihelp-query+search-paramvalue-prop-titlesnippet": "Adds a parsed snippet of the page title.",
+ "apihelp-query+search-paramvalue-prop-redirectsnippet": "Adds a parsed snippet of the redirect title.",
+ "apihelp-query+search-paramvalue-prop-redirecttitle": "Adds the title of the matching redirect.",
+ "apihelp-query+search-paramvalue-prop-sectionsnippet": "Adds a parsed snippet of the matching section title.",
+ "apihelp-query+search-paramvalue-prop-sectiontitle": "Adds the title of the matching section.",
+ "apihelp-query+search-paramvalue-prop-categorysnippet": "Adds a parsed snippet of the matching category.",
+ "apihelp-query+search-paramvalue-prop-isfilematch": "Adds a boolean indicating if the search matched file content.",
+ "apihelp-query+search-paramvalue-prop-score": "<span class=\"apihelp-deprecated\">Deprecated and ignored.</span>",
+ "apihelp-query+search-paramvalue-prop-hasrelated": "<span class=\"apihelp-deprecated\">Deprecated and ignored.</span>",
"apihelp-query+search-param-limit": "How many total pages to return.",
"apihelp-query+search-param-interwiki": "Include interwiki results in the search, if available.",
"apihelp-query+search-param-backend": "Which search backend to use, if not the default.",
+ "apihelp-query+search-param-enablerewrites": "Enable internal query rewriting. Some search backends can rewrite the query into one its thinks gives better results, such as correcting spelling errors.",
"apihelp-query+search-example-simple": "Search for <kbd>meaning</kbd>.",
"apihelp-query+search-example-text": "Search texts for <kbd>meaning</kbd>.",
- "apihelp-query+search-example-generator": "Ger page info about the pages returned for a search for <kbd>meaning</kbd>.",
+ "apihelp-query+search-example-generator": "Get page info about the pages returned for a search for <kbd>meaning</kbd>.",
"apihelp-query+siteinfo-description": "Return general information about the site.",
- "apihelp-query+siteinfo-param-prop": "Which information to get:\n;general:Overall system information.\n;namespaces:List of registered namespaces and their canonical names.\n;namespacealiases:List of registered namespace aliases.\n;specialpagealiases:List of special page aliases.\n;magicwords:List of magic words and their aliases.\n;statistics:Returns site statistics.\n;interwikimap:Returns interwiki map (optionally filtered, optionally localised by using <var>$1inlanguagecode</var>).\n;dbrepllag:Returns database server with the highest replication lag.\n;usergroups:Returns user groups and the associated permissions.\n;libraries:Returns libraries installed on the wiki.\n;extensions:Returns extensions installed on the wiki.\n;fileextensions:Returns list of file extensions allowed to be uploaded.\n;rightsinfo:Returns wiki rights (license) information if available.\n;restrictions:Returns information on available restriction (protection) types.\n;languages:Returns a list of languages MediaWiki supports (optionally localised by using <var>$1inlanguagecode</var>).\n;skins:Returns a list of all enabled skins (optionally localised by using <var>$1inlanguagecode</var>, otherwise in the content language).\n;extensiontags:Returns a list of parser extension tags.\n;functionhooks:Returns a list of parser function hooks.\n;showhooks:Returns a list of all subscribed hooks (contents of <var>[[mw:Manual:$wgHooks|$wgHooks]]</var>).\n;variables:Returns a list of variable IDs.\n;protocols:Returns a list of protocols that are allowed in external links.\n;defaultoptions:Returns the default values for user preferences.",
+ "apihelp-query+siteinfo-param-prop": "Which information to get:",
+ "apihelp-query+siteinfo-paramvalue-prop-general": "Overall system information.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespaces": "List of registered namespaces and their canonical names.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "List of registered namespace aliases.",
+ "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "List of special page aliases.",
+ "apihelp-query+siteinfo-paramvalue-prop-magicwords": "List of magic words and their aliases.",
+ "apihelp-query+siteinfo-paramvalue-prop-statistics": "Returns site statistics.",
+ "apihelp-query+siteinfo-paramvalue-prop-interwikimap": "Returns interwiki map (optionally filtered, optionally localised by using <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-dbrepllag": "Returns database server with the highest replication lag.",
+ "apihelp-query+siteinfo-paramvalue-prop-usergroups": "Returns user groups and the associated permissions.",
+ "apihelp-query+siteinfo-paramvalue-prop-libraries": "Returns libraries installed on the wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-extensions": "Returns extensions installed on the wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-fileextensions": "Returns list of file extensions allowed to be uploaded.",
+ "apihelp-query+siteinfo-paramvalue-prop-rightsinfo": "Returns wiki rights (license) information if available.",
+ "apihelp-query+siteinfo-paramvalue-prop-restrictions": "Returns information on available restriction (protection) types.",
+ "apihelp-query+siteinfo-paramvalue-prop-languages": "Returns a list of languages MediaWiki supports (optionally localised by using <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-skins": "Returns a list of all enabled skins (optionally localised by using <var>$1inlanguagecode</var>, otherwise in the content language).",
+ "apihelp-query+siteinfo-paramvalue-prop-extensiontags": "Returns a list of parser extension tags.",
+ "apihelp-query+siteinfo-paramvalue-prop-functionhooks": "Returns a list of parser function hooks.",
+ "apihelp-query+siteinfo-paramvalue-prop-showhooks": "Returns a list of all subscribed hooks (contents of <var>[[mw:Manual:$wgHooks|$wgHooks]]</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-variables": "Returns a list of variable IDs.",
+ "apihelp-query+siteinfo-paramvalue-prop-protocols": "Returns a list of protocols that are allowed in external links.",
+ "apihelp-query+siteinfo-paramvalue-prop-defaultoptions": "Returns the default values for user preferences.",
"apihelp-query+siteinfo-param-filteriw": "Return only local or only nonlocal entries of the interwiki map.",
"apihelp-query+siteinfo-param-showalldb": "List all database servers, not just the one lagging the most.",
"apihelp-query+siteinfo-param-numberingroup": "Lists the number of users in user groups.",
@@ -898,7 +1084,14 @@
"apihelp-query+tags-description": "List change tags.",
"apihelp-query+tags-param-limit": "The maximum number of tags to list.",
- "apihelp-query+tags-param-prop": "Which properties to get:\n;name:Adds name of tag.\n;displayname:Adds system message for the tag.\n;description:Adds description of the tag.\n;hitcount:Adds the number of revisions and log entries that have this tag.\n;defined:Indicate whether the tag is defined.\n;source:Gets the sources of the tag, which may include <samp>extension</samp> for extension-defined tags and <samp>manual</samp> for tags that may be applied manually by users.\n;active:Whether the tag is still being applied.",
+ "apihelp-query+tags-param-prop": "Which properties to get:",
+ "apihelp-query+tags-paramvalue-prop-name": "Adds name of tag.",
+ "apihelp-query+tags-paramvalue-prop-displayname": "Adds system message for the tag.",
+ "apihelp-query+tags-paramvalue-prop-description": "Adds description of the tag.",
+ "apihelp-query+tags-paramvalue-prop-hitcount": "Adds the number of revisions and log entries that have this tag.",
+ "apihelp-query+tags-paramvalue-prop-defined": "Indicate whether the tag is defined.",
+ "apihelp-query+tags-paramvalue-prop-source": "Gets the sources of the tag, which may include <samp>extension</samp> for extension-defined tags and <samp>manual</samp> for tags that may be applied manually by users.",
+ "apihelp-query+tags-paramvalue-prop-active": "Whether the tag is still being applied.",
"apihelp-query+tags-example-simple": "List available tags.",
"apihelp-query+templates-description": "Returns all pages transcluded on the given pages.",
@@ -916,7 +1109,10 @@
"apihelp-query+tokens-example-types": "Retrieve a watch token and a patrol token.",
"apihelp-query+transcludedin-description": "Find all pages that transclude the given pages.",
- "apihelp-query+transcludedin-param-prop": "Which properties to get:\n;pageid:Page ID of each page.\n;title:Title of each page.\n;redirect:Flag if the page is a redirect.",
+ "apihelp-query+transcludedin-param-prop": "Which properties to get:",
+ "apihelp-query+transcludedin-paramvalue-prop-pageid": "Page ID of each page.",
+ "apihelp-query+transcludedin-paramvalue-prop-title": "Title of each page.",
+ "apihelp-query+transcludedin-paramvalue-prop-redirect": "Flag if the page is a redirect.",
"apihelp-query+transcludedin-param-namespace": "Only include pages in these namespaces.",
"apihelp-query+transcludedin-param-limit": "How many to return.",
"apihelp-query+transcludedin-param-show": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects.",
@@ -930,7 +1126,17 @@
"apihelp-query+usercontribs-param-user": "The users to retrieve contributions for.",
"apihelp-query+usercontribs-param-userprefix": "Retrieve contributions for all users whose names begin with this value. Overrides $1user.",
"apihelp-query+usercontribs-param-namespace": "Only list contributions in these namespaces.",
- "apihelp-query+usercontribs-param-prop": "Include additional pieces of information:\n;ids:Adds the page ID and revision ID.\n;title:Adds the title and namespace ID of the page.\n;timestamp:Adds the timestamp of the edit.\n;comment:Adds the comment of the edit.\n;parsedcomment:Adds the parsed comment of the edit.\n;size:Adds the new size of the edit.\n;sizediff:Adds the size delta of the edit against its parent.\n;flags:Adds flags of the edit.\n;patrolled:Tags patrolled edits.\n;tags:Lists tags for the edit.",
+ "apihelp-query+usercontribs-param-prop": "Include additional pieces of information:",
+ "apihelp-query+usercontribs-paramvalue-prop-ids": "Adds the page ID and revision ID.",
+ "apihelp-query+usercontribs-paramvalue-prop-title": "Adds the title and namespace ID of the page.",
+ "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Adds the timestamp of the edit.",
+ "apihelp-query+usercontribs-paramvalue-prop-comment": "Adds the comment of the edit.",
+ "apihelp-query+usercontribs-paramvalue-prop-parsedcomment": "Adds the parsed comment of the edit.",
+ "apihelp-query+usercontribs-paramvalue-prop-size": "Adds the new size of the edit.",
+ "apihelp-query+usercontribs-paramvalue-prop-sizediff": "Adds the size delta of the edit against its parent.",
+ "apihelp-query+usercontribs-paramvalue-prop-flags": "Adds flags of the edit.",
+ "apihelp-query+usercontribs-paramvalue-prop-patrolled": "Tags patrolled edits.",
+ "apihelp-query+usercontribs-paramvalue-prop-tags": "Lists tags for the edit.",
"apihelp-query+usercontribs-param-show": "Show only items that meet these criteria, e.g. non minor edits only: <kbd>$2show=!minor</kbd>.\n\nIf <kbd>$2show=patrolled</kbd> or <kbd>$2show=!patrolled</kbd> is set, revisions older than <var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|second|seconds}}) won't be shown.",
"apihelp-query+usercontribs-param-tag": "Only list revisions tagged with this tag.",
"apihelp-query+usercontribs-param-toponly": "Only list changes which are the latest revision.",
@@ -938,12 +1144,35 @@
"apihelp-query+usercontribs-example-ipprefix": "Show contributions from all IP addresses with prefix <kbd>192.0.2.</kbd>.",
"apihelp-query+userinfo-description": "Get information about the current user.",
- "apihelp-query+userinfo-param-prop": "Which pieces of information to include:\n;blockinfo:Tags if the current user is blocked, by whom, and for what reason.\n;hasmsg:Adds a tag <samp>message</samp> if the current user has pending messages.\n;groups:Lists all the groups the current user belongs to.\n;implicitgroups:Lists all the groups the current user is automatically a member of.\n;rights:Lists all the rights the current user has.\n;changeablegroups:Lists the groups the current user can add to and remove from.\n;options:Lists all preferences the current user has set.\n;preferencestoken:<span class=\"apihelp-deprecated\">Deprecated.</span> Get a token to change current user's preferences.\n;editcount:Adds the current user's edit count.\n;ratelimits:Lists all rate limits applying to the current user.\n;realname:Adds the user's real name.\n;email:Adds the user's email address and email authentication date.\n;acceptlang:Echoes the <code>Accept-Language</code> header sent by the client in a structured format.\n;registrationdate:Adds the user's registration date.\n;unreadcount:Adds the count of unread pages on the user's watchlist (maximum $1; returns <samp>$2</samp> if more).",
+ "apihelp-query+userinfo-param-prop": "Which pieces of information to include:",
+ "apihelp-query+userinfo-paramvalue-prop-blockinfo": "Tags if the current user is blocked, by whom, and for what reason.",
+ "apihelp-query+userinfo-paramvalue-prop-hasmsg": "Adds a tag <samp>messages</samp> if the current user has pending messages.",
+ "apihelp-query+userinfo-paramvalue-prop-groups": "Lists all the groups the current user belongs to.",
+ "apihelp-query+userinfo-paramvalue-prop-implicitgroups": "Lists all the groups the current user is automatically a member of.",
+ "apihelp-query+userinfo-paramvalue-prop-rights": "Lists all the rights the current user has.",
+ "apihelp-query+userinfo-paramvalue-prop-changeablegroups": "Lists the groups the current user can add to and remove from.",
+ "apihelp-query+userinfo-paramvalue-prop-options": "Lists all preferences the current user has set.",
+ "apihelp-query+userinfo-paramvalue-prop-preferencestoken": "<span class=\"apihelp-deprecated\">Deprecated.</span> Get a token to change current user's preferences.",
+ "apihelp-query+userinfo-paramvalue-prop-editcount": "Adds the current user's edit count.",
+ "apihelp-query+userinfo-paramvalue-prop-ratelimits": "Lists all rate limits applying to the current user.",
+ "apihelp-query+userinfo-paramvalue-prop-realname": "Adds the user's real name.",
+ "apihelp-query+userinfo-paramvalue-prop-email": "Adds the user's email address and email authentication date.",
+ "apihelp-query+userinfo-paramvalue-prop-acceptlang": "Echoes the <code>Accept-Language</code> header sent by the client in a structured format.",
+ "apihelp-query+userinfo-paramvalue-prop-registrationdate": "Adds the user's registration date.",
+ "apihelp-query+userinfo-paramvalue-prop-unreadcount": "Adds the count of unread pages on the user's watchlist (maximum $1; returns <samp>$2</samp> if more).",
"apihelp-query+userinfo-example-simple": "Get information about the current user.",
"apihelp-query+userinfo-example-data": "Get additional information about the current user.",
"apihelp-query+users-description": "Get information about a list of users.",
- "apihelp-query+users-param-prop": "Which pieces of information to include:\n;blockinfo:Tags if the user is blocked, by whom, and for what reason.\n;groups:Lists all the groups each user belongs to.\n;implicitgroups:Lists all the groups a user is automatically a member of.\n;rights:Lists all the rights each user has.\n;editcount:Adds the user's edit count.\n;registration:Adds the user's registration timestamp.\n;emailable:Tags if the user can and wants to receive email through [[Special:Emailuser]].\n;gender:Tags the gender of the user. Returns \"male\", \"female\", or \"unknown\".",
+ "apihelp-query+users-param-prop": "Which pieces of information to include:",
+ "apihelp-query+users-paramvalue-prop-blockinfo": "Tags if the user is blocked, by whom, and for what reason.",
+ "apihelp-query+users-paramvalue-prop-groups": "Lists all the groups each user belongs to.",
+ "apihelp-query+users-paramvalue-prop-implicitgroups": "Lists all the groups a user is automatically a member of.",
+ "apihelp-query+users-paramvalue-prop-rights": "Lists all the rights each user has.",
+ "apihelp-query+users-paramvalue-prop-editcount": "Adds the user's edit count.",
+ "apihelp-query+users-paramvalue-prop-registration": "Adds the user's registration timestamp.",
+ "apihelp-query+users-paramvalue-prop-emailable": "Tags if the user can and wants to receive email through [[Special:Emailuser]].",
+ "apihelp-query+users-paramvalue-prop-gender": "Tags the gender of the user. Returns \"male\", \"female\", or \"unknown\".",
"apihelp-query+users-param-users": "A list of users to obtain information for.",
"apihelp-query+users-param-token": "Use <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> instead.",
"apihelp-query+users-example-simple": "Return information for user <kbd>Example</kbd>.",
@@ -956,7 +1185,19 @@
"apihelp-query+watchlist-param-user": "Only list changes by this user.",
"apihelp-query+watchlist-param-excludeuser": "Don't list changes by this user.",
"apihelp-query+watchlist-param-limit": "How many total results to return per request.",
- "apihelp-query+watchlist-param-prop": "Which additional items to get:\n;ids:Adds revision IDs and page IDs.\n;title:Adds title of the page.\n;flags:Adds flags for the edit.\n;user:Adds the user who made the edit.\n;userid:Adds user ID of whom made the edit.\n;comment:Adds comment of the edit.\n;parsedcomment:Adds parsed comment of the edit.\n;timestamp:Adds timestamp of the edit.\n;patrol:Tags edits that are patrolled.\n;sizes:Adds the old and new lengths of the page.\n;notificationtimestamp:Adds timestamp of when the user was last notified about the edit.\n;loginfo:Adds log information where appropriate.",
+ "apihelp-query+watchlist-param-prop": "Which additional properties to get:",
+ "apihelp-query+watchlist-paramvalue-prop-ids": "Adds revision IDs and page IDs.",
+ "apihelp-query+watchlist-paramvalue-prop-title": "Adds title of the page.",
+ "apihelp-query+watchlist-paramvalue-prop-flags": "Adds flags for the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-user": "Adds the user who made the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-userid": "Adds user ID of whoever made the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-comment": "Adds comment of the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "Adds parsed comment of the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-timestamp": "Adds timestamp of the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Tags edits that are patrolled.",
+ "apihelp-query+watchlist-paramvalue-prop-sizes": "Adds the old and new lengths of the page.",
+ "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Adds timestamp of when the user was last notified about the edit.",
+ "apihelp-query+watchlist-paramvalue-prop-loginfo": "Adds log information where appropriate.",
"apihelp-query+watchlist-param-show": "Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set $1show=minor|!anon.",
"apihelp-query+watchlist-param-type": "Which types of changes to show:\n;edit:Regular page edits.\n;external:External changes.\n;new:Page creations.\n;log:Log entries.",
"apihelp-query+watchlist-param-owner": "Used along with $1token to access a different user's watchlist.",
@@ -971,10 +1212,13 @@
"apihelp-query+watchlistraw-description": "Get all pages on the current user's watchlist.",
"apihelp-query+watchlistraw-param-namespace": "Only list pages in the given namespaces.",
"apihelp-query+watchlistraw-param-limit": "How many total results to return per request.",
- "apihelp-query+watchlistraw-param-prop": "Which additional properties to get:\n;changed:Adds timestamp of when the user was last notified about the edit.",
+ "apihelp-query+watchlistraw-param-prop": "Which additional properties to get:",
+ "apihelp-query+watchlistraw-paramvalue-prop-changed": "Adds timestamp of when the user was last notified about the edit.",
"apihelp-query+watchlistraw-param-show": "Only list items that meet these criteria.",
"apihelp-query+watchlistraw-param-owner": "Used along with $1token to access a different user's watchlist.",
"apihelp-query+watchlistraw-param-token": "A security token (available in the user's [[Special:Preferences#mw-prefsection-watchlist|preferences]]) to allow access to another user's watchlist.",
+ "apihelp-query+watchlistraw-param-fromtitle": "Title (with namespace prefix) to begin enumerating from.",
+ "apihelp-query+watchlistraw-param-totitle": "Title (with namespace prefix) to stop enumerating at.",
"apihelp-query+watchlistraw-example-simple": "List pages on the current user's watchlist.",
"apihelp-query+watchlistraw-example-generator": "Fetch page info for pages on the current user's watchlist.",
@@ -1002,7 +1246,7 @@
"apihelp-rsd-description": "Export an RSD (Really Simple Discovery) schema.",
"apihelp-rsd-example-simple": "Export the RSD schema.",
- "apihelp-setnotificationtimestamp-description": "Update the notification timestamp for watched pages.\n\nThis affects the highlighting of changed pages in the watchlist and history, and the sending of email when the \"Email me when a page on my watchlist is changed\" preference is enabled.",
+ "apihelp-setnotificationtimestamp-description": "Update the notification timestamp for watched pages.\n\nThis affects the highlighting of changed pages in the watchlist and history, and the sending of email when the \"{{int:tog-enotifwatchlistpages}}\" preference is enabled.",
"apihelp-setnotificationtimestamp-param-entirewatchlist": "Work on all watched pages.",
"apihelp-setnotificationtimestamp-param-timestamp": "Timestamp to which to set the notification timestamp.",
"apihelp-setnotificationtimestamp-param-torevid": "Revision to set the notification timestamp to (one page only).",
@@ -1012,6 +1256,15 @@
"apihelp-setnotificationtimestamp-example-pagetimestamp": "Set the notification timestamp for <kbd>Main page</kbd> so all edits since 1 January 2012 are unviewed.",
"apihelp-setnotificationtimestamp-example-allpages": "Reset the notification status for pages in the <kbd>{{ns:user}}</kbd> namespace.",
+ "apihelp-stashedit-description": "Prepare an edit in shared cache.\n\nThis is intended to be used via AJAX from the edit form to improve the performance of the page save.",
+ "apihelp-stashedit-param-title": "Title of the page being edited.",
+ "apihelp-stashedit-param-section": "Section number. <kbd>0</kbd> for the top section, <kbd>new</kbd> for a new section.",
+ "apihelp-stashedit-param-sectiontitle": "The title for a new section.",
+ "apihelp-stashedit-param-text": "Page content.",
+ "apihelp-stashedit-param-contentmodel": "Content model of the new content.",
+ "apihelp-stashedit-param-contentformat": "Content serialization format used for the input text.",
+ "apihelp-stashedit-param-baserevid": "Revision ID of the base revision.",
+
"apihelp-tag-description": "Add or remove change tags from individual revisions or log entries.",
"apihelp-tag-param-rcid": "One or more recent changes IDs from which to add or remove the tag.",
"apihelp-tag-param-revid": "One or more revision IDs from which to add or remove the tag.",
@@ -1019,7 +1272,7 @@
"apihelp-tag-param-add": "Tags to add. Only manually defined tags can be added.",
"apihelp-tag-param-remove": "Tags to remove. Only tags that are either manually defined or completely undefined can be removed.",
"apihelp-tag-param-reason": "Reason for the change.",
- "apihelp-tag-example-rev": "Add the <kbd>vandalism</kbd> tag from revision ID 123 without specifying a reason",
+ "apihelp-tag-example-rev": "Add the <kbd>vandalism</kbd> tag to revision ID 123 without specifying a reason",
"apihelp-tag-example-log": "Remove the <kbd>spam</kbd> tag from log entry ID 123 with the reason <kbd>Wrongly applied</kbd>",
"apihelp-tokens-description": "Get tokens for data-modifying actions.\n\nThis module is deprecated in favor of [[Special:ApiHelp/query+tokens|action=query&meta=tokens]].",
@@ -1043,7 +1296,7 @@
"apihelp-undelete-example-page": "Undelete page <kbd>Main Page</kbd>.",
"apihelp-undelete-example-revisions": "Undelete two revisions of page <kbd>Main Page</kbd>.",
- "apihelp-upload-description": "Upload a file, or get the status of pending uploads.\n\nSeveral methods are available:\n* Upload file contents directly, using the <var>$1file</var> parameter.\n* Upload the file in pieces, using the <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var> parameters.* Have the MediaWiki server fetch a file from a URL, using the <var>$1url</var> parameter.\n* Complete an earlier upload that failed due to warnings, using the <var>$1filekey</var> parameter.\nNote that the HTTP POST must be done as a file upload (i.e. using <code>multipart/form-data</code>) when sending the <var>$1file</var>.",
+ "apihelp-upload-description": "Upload a file, or get the status of pending uploads.\n\nSeveral methods are available:\n* Upload file contents directly, using the <var>$1file</var> parameter.\n* Upload the file in pieces, using the <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var> parameters.\n* Have the MediaWiki server fetch a file from a URL, using the <var>$1url</var> parameter.\n* Complete an earlier upload that failed due to warnings, using the <var>$1filekey</var> parameter.\nNote that the HTTP POST must be done as a file upload (i.e. using <code>multipart/form-data</code>) when sending the <var>$1file</var>.",
"apihelp-upload-param-filename": "Target filename.",
"apihelp-upload-param-comment": "Upload comment. Also used as the initial page text for new files if <var>$1text</var> is not specified.",
"apihelp-upload-param-text": "Initial page text for new files.",
@@ -1082,11 +1335,9 @@
"apihelp-watch-example-unwatch": "Unwatch the page <kbd>Main Page</kbd>.",
"apihelp-watch-example-generator": "Watch the first few pages in the main namespace.",
- "apihelp-format-example-generic": "Format the query result in the $1 format.",
+ "apihelp-format-example-generic": "Return the query result in the $1 format.",
"apihelp-dbg-description": "Output data in PHP's <code>var_export()</code> format.",
"apihelp-dbgfm-description": "Output data in PHP's <code>var_export()</code> format (pretty-print in HTML).",
- "apihelp-dump-description": "Output data in PHP's <code>var_dump()</code> format.",
- "apihelp-dumpfm-description": "Output data in PHP's <code>var_dump()</code> format (pretty-print in HTML).",
"apihelp-json-description": "Output data in JSON format.",
"apihelp-json-param-callback": "If specified, wraps the output into a given function call. For safety, all user-specific data will be restricted.",
"apihelp-json-param-utf8": "If specified, encodes most (but not all) non-ASCII characters as UTF-8 instead of replacing them with hexadecimal escape sequences. Default when <var>formatversion</var> is not <kbd>1</kbd>.",
@@ -1100,8 +1351,6 @@
"apihelp-rawfm-description": "Output data with the debugging elements in JSON format (pretty-print in HTML).",
"apihelp-txt-description": "Output data in PHP's <code>print_r()</code> format.",
"apihelp-txtfm-description": "Output data in PHP's <code>print_r()</code> format (pretty-print in HTML).",
- "apihelp-wddx-description": "Output data in WDDX format.",
- "apihelp-wddxfm-description": "Output data in WDDX format (pretty-print in HTML).",
"apihelp-xml-description": "Output data in XML format.",
"apihelp-xml-param-xslt": "If specified, adds the named page as an XSL stylesheet. The value must be a title in the {{ns:mediawiki}} namespace ending in <code>.xsl</code>.",
"apihelp-xml-param-includexmlnamespace": "If specified, adds an XML namespace.",
@@ -1111,6 +1360,7 @@
"api-format-title": "MediaWiki API result",
"api-format-prettyprint-header": "This is the HTML representation of the $1 format. HTML is good for debugging, but is unsuitable for application use.\n\nSpecify the <var>format</var> parameter to change the output format. To see the non-HTML representation of the $1 format, set <kbd>format=$2</kbd>.\n\nSee the [[mw:API|complete documentation]], or the [[Special:ApiHelp/main|API help]] for more information.",
+ "api-format-prettyprint-header-only-html": "This is an HTML representation intended for debugging, and is unsuitable for application use.\n\nSee the [[mw:API|complete documentation]], or the [[Special:ApiHelp/main|API help]] for more information.",
"api-orm-param-props": "Fields to query.",
"api-orm-param-limit": "Max amount of rows to return.",
@@ -1136,11 +1386,24 @@
"api-help-flag-writerights": "This module requires write rights.",
"api-help-flag-mustbeposted": "This module only accepts POST requests.",
"api-help-flag-generator": "This module can be used as a generator.",
+ "api-help-source": "Source: $1",
+ "api-help-source-unknown": "Source: <span class=\"apihelp-unknown\">unknown</span>",
+ "api-help-license": "License: [[$1|$2]]",
+ "api-help-license-noname": "License: [[$1|See link]]",
+ "api-help-license-unknown": "License: <span class=\"apihelp-unknown\">unknown</span>",
"api-help-help-urls": "",
"api-help-parameters": "{{PLURAL:$1|Parameter|Parameters}}:",
"api-help-param-deprecated": "Deprecated.",
"api-help-param-required": "This parameter is required.",
- "api-help-param-list": "{{PLURAL:$1|1=One value|2=Values (separate with <kbd>{{!}}</kbd>)}}: $2",
+ "api-help-datatypes-header": "Data types",
+ "api-help-datatypes": "Some parameter types in API requests need further explanation:\n;boolean\n:Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.\n;timestamp\n:Timestamps may be specified in several formats. ISO 8601 date and time is recommended. All times are in UTC, any included timezone is ignored.\n:* ISO 8601 date and time, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (punctuation and <kbd>Z</kbd> are optional)\n:* ISO 8601 date and time with (ignored) fractional seconds, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (dashes, colons, and <kbd>Z</kbd> are optional)\n:* MediaWiki format, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Generic numeric format, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (optional timezone of <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, or <kbd>-<var>##</var></kbd> is ignored)\n:* EXIF format, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:*RFC 2822 format (timezone may be omitted), <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* RFC 850 format (timezone may be omitted), <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* C ctime format, <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* Seconds since 1970-01-01T00:00:00Z as a 1 to 13 digit integer (excluding <kbd>0</kbd>)\n:* The string <kbd>now</kbd>",
+ "api-help-param-type-limit": "Type: integer or <kbd>max</kbd>",
+ "api-help-param-type-integer": "Type: {{PLURAL:$1|1=integer|2=list of integers}}",
+ "api-help-param-type-boolean": "Type: boolean ([[Special:ApiHelp/main#main/datatypes|details]])",
+ "api-help-param-type-password": "",
+ "api-help-param-type-timestamp": "Type: {{PLURAL:$1|1=timestamp|2=list of timestamps}} ([[Special:ApiHelp/main#main/datatypes|allowed formats]])",
+ "api-help-param-type-user": "Type: {{PLURAL:$1|1=user name|2=list of user names}}",
+ "api-help-param-list": "{{PLURAL:$1|1=One of the following values|2=Values (separate with <kbd>{{!}}</kbd>)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Must be empty|Can be empty, or $2}}",
"api-help-param-limit": "No more than $1 allowed.",
"api-help-param-limit2": "No more than $1 ($2 for bots) allowed.",
@@ -1165,5 +1428,5 @@
"api-help-right-apihighlimits": "Use higher limits in API queries (slow queries: $1; fast queries: $2). The limits for slow queries also apply to multivalue parameters.",
"api-credits-header": "Credits",
- "api-credits": "API developers:\n* Roan Kattouw (lead developer Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)\n* Brad Jorsch (lead developer 2013–present)\n\nPlease send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org\nor file a bug report at https://phabricator.wikimedia.org/."
+ "api-credits": "API developers:\n* Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)\n* Roan Kattouw (lead developer Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Brad Jorsch (lead developer 2013–present)\n\nPlease send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org\nor file a bug report at https://phabricator.wikimedia.org/."
}
diff --git a/includes/api/i18n/es.json b/includes/api/i18n/es.json
index d0974772..06478f68 100644
--- a/includes/api/i18n/es.json
+++ b/includes/api/i18n/es.json
@@ -6,33 +6,82 @@
"Alan",
"Fitoschido",
"JasterTDC",
- "Edslov"
+ "Edslov",
+ "Carlos Cristia",
+ "Ryo567",
+ "Csbotero",
+ "Chris TR",
+ "Ncontinanza",
+ "Poco a poco"
]
},
+ "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentación]]\n* [[mw:API:FAQ|Preguntas frecuentes]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de correos]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API de anuncios]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Errores y peticiones]\n</div>\n<strong>Estado:</strong> Todas las características que se muestran en esta página debería funcionar, pero la API aún está en desarrollo activo y puede cambiar en cualquier momento. Suscríbete a [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la lista de correo de mediawiki-api-announce] para estar al día de las actualizaciones.\n\n<strong>Solicitudes erróneas:</strong> Cuando se envían solicitudes erróneas a la API, se envía un encabezado HTTP con la clave \"MediaWiki-API-Error\" y ambos valores, del encabezado y el código de error, se establecerán en el mismo valor. Para más información, véase [[mw:API:Errors_and_warnings|API: Errores y advertencias]].",
"apihelp-main-param-action": "Qué acción se realizará.",
"apihelp-main-param-format": "El formato de la salida.",
+ "apihelp-main-param-smaxage": "Establece el encabezado <code>s-maxage</code> durante estos segundos. Los errores nunca se almacenan en caché.",
+ "apihelp-main-param-maxage": "Establece el encabezado <code>max-age</code> durante estos segundos. Los errores nunca se almacenan en caché.",
+ "apihelp-main-param-assert": "Comprobar que el usuario haya iniciado sesión si el valor es <kbd>user</kbd> o si tiene el permiso de bot si es <kbd>bot</kbd>.",
+ "apihelp-main-param-requestid": "Cualquier valor dado aquí se incluirá en la respuesta. Se puede utilizar para distinguir solicitudes.",
+ "apihelp-main-param-servedby": "Incluir el nombre del host que ha servido la solicitud en los resultados.",
"apihelp-main-param-curtimestamp": "Incluir la marca de tiempo actual en el resultado.",
- "apihelp-block-description": "Bloquear usuario",
+ "apihelp-block-description": "Bloquear a un usuario.",
"apihelp-block-param-user": "El nombre de usuario, dirección IP o intervalo de IP que quieres bloquear.",
+ "apihelp-block-param-expiry": "Fecha de expiración. Puede ser relativa (por ejemplo, <kbd>5 meses</kbd> o <kbd>2 semanas</kbd>) o absoluta (por ejemplo, <kbd>2014-09-18T12:34:56Z</kbd>). Si se establece en <kbd>infinito</kbd>, <kbd>indefinido</kbd>, o <kbd>nunca</kbd>, el bloqueo será permanente.",
"apihelp-block-param-reason": "Razón para el bloqueo.",
"apihelp-block-param-anononly": "Bloquear solo usuarios anónimos (es decir, desactivar ediciones anónimas de esta dirección IP).",
"apihelp-block-param-nocreate": "Prevenir la creación de cuentas.",
+ "apihelp-block-param-autoblock": "Bloquear automáticamente la última dirección IP y todas las direcciones IP que traten de iniciar sesión posteriormente.",
+ "apihelp-block-param-noemail": "Evitar que el usuario envíe correos a través de la wiki (es necesario el derecho <code>blockemail</code>).",
+ "apihelp-block-param-hidename": "Ocultar el nombre de usuario del registro de bloqueo (es necesario el derecho <coɗe>hideuser</code>).",
+ "apihelp-block-param-allowusertalk": "Permitir que el usuario edite su propia página de discusión (depende de <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
"apihelp-block-param-reblock": "Si la cuenta ya está bloqueada, sobrescribir el bloqueo existente.",
"apihelp-block-param-watchuser": "Vigilar las páginas de usuario y de discusión del usuario o de la dirección IP.",
+ "apihelp-block-example-ip-simple": "Bloquear la dirección IP <kbd>192.0.2.5</kbd> durante 3 días por el motivo: <kbd>Primer ataque</kbd>.",
+ "apihelp-block-example-user-complex": "Bloquear a usuario <kbd>vándalo</kbd> indefinidamente por el motivo <kbd>Vandalismo</kbd> y evitar que se cree nuevas cuentas o envíe correos.",
+ "apihelp-checktoken-description": "Comprueba la validez de una ficha desde <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
+ "apihelp-checktoken-param-type": "Tipo de ficha a probar.",
+ "apihelp-checktoken-param-token": "Ficha a probar.",
+ "apihelp-checktoken-param-maxtokenage": "Duración máxima de la ficha, en segundos.",
+ "apihelp-checktoken-example-simple": "Probar la validez de una ficha <kbd>csrf</kbd>.",
+ "apihelp-clearhasmsg-description": "Limpia la marca <code>hasmsg</code> del usuario actual.",
+ "apihelp-clearhasmsg-example-1": "Limpiar la marca <code>hasmsg</code> del usuario actual.",
+ "apihelp-compare-description": "Obtener la diferencia entre 2 páginas.\n\nSe debe pasar un número de revisión, un título de página o una ID tanto desde \"de\" hasta \"a\".",
"apihelp-compare-param-fromtitle": "Primer título para comparar",
+ "apihelp-compare-param-fromid": "ID de la primera página a comparar.",
+ "apihelp-compare-param-fromrev": "Primera revisión para comparar.",
+ "apihelp-compare-param-totitle": "Segundo título para comparar.",
+ "apihelp-compare-param-toid": "Segunda identificador de página para comparar.",
+ "apihelp-compare-param-torev": "Segunda revisión para comparar.",
+ "apihelp-compare-example-1": "Crear una diferencia entre las revisiones 1 y 2.",
"apihelp-createaccount-description": "Crear una nueva cuenta de usuario.",
"apihelp-createaccount-param-name": "Nombre de usuario.",
+ "apihelp-createaccount-param-password": "Contraseña (ignorada si está establecido <var>$1mailpassword</var>).",
+ "apihelp-createaccount-param-domain": "Dominio de autenticación externa (opcional).",
+ "apihelp-createaccount-param-token": "La clave de creación de cuenta se obtiene en la primera solicitud.",
"apihelp-createaccount-param-email": "Dirección de correo electrónico del usuario (opcional).",
"apihelp-createaccount-param-realname": "Nombre verdadero del usuario (opcional).",
+ "apihelp-createaccount-param-mailpassword": "Si está puesto cualquier valor se enviará una contraseña aleatoria al usuario.",
+ "apihelp-createaccount-param-reason": "Motivo opcional por el que crear una cuenta puesta en los registros.",
+ "apihelp-createaccount-param-language": "Código de idioma a establecer como predeterminado para el usuario (opcional, predeterminado al contenido del idioma).",
"apihelp-createaccount-example-pass": "Crear usuario <kbd>testuser</kbd> con la contraseña <kbd>test123</kbd>.",
+ "apihelp-createaccount-example-mail": "Crear usuario <kbd>testmailuser</kbd> y enviar una contraseña generada aleatoriamente.",
"apihelp-delete-description": "Borrar una página.",
+ "apihelp-delete-param-title": "Título de la página a eliminar. No se puede utilizar junto a <var>$1pageid</var>.",
+ "apihelp-delete-param-pageid": "ID de la página a eliminar. No se puede utilizar junto a <var>$1title</var>.",
+ "apihelp-delete-param-reason": "Motivo de la eliminación. Si no se especifica, se generará uno automáticamente.",
"apihelp-delete-param-watch": "Añadir esta página a la lista de seguimiento del usuario actual.",
"apihelp-delete-param-unwatch": "Quitar la página de la lista de seguimiento del usuario actual.",
"apihelp-delete-example-simple": "Borrar la <kbd>Página principal</kbd>",
+ "apihelp-delete-example-reason": "Eliminar <kbd>Página principal</kbd> por el motivo: <kbd>Preparando para moverla</kbd>.",
"apihelp-disabled-description": "Se desactivó este módulo.",
"apihelp-edit-description": "Crear y editar páginas.",
+ "apihelp-edit-param-title": "Título de la página a editar. No se puede utilizar junto a <var>$1pageid</var>.",
+ "apihelp-edit-param-pageid": "ID de la página a editar. No se puede utilizar junto a <var>$1title</var>.",
+ "apihelp-edit-param-section": "Número de la sección. <kbd>0</kbd> para una sección superior, <kbd>nuevo</kbd> para una nueva sección.",
"apihelp-edit-param-sectiontitle": "El título de una sección nueva.",
"apihelp-edit-param-text": "Contenido de la página.",
+ "apihelp-edit-param-summary": "Editar resumen. Además de la sección del título cuando $1section=new y $1sectiontitle no están establecidos.",
+ "apihelp-edit-param-tags": "Cambia las etiquetas para aplicarlas a la revisión.",
"apihelp-edit-param-minor": "Edición menor.",
"apihelp-edit-param-notminor": "Edición no menor.",
"apihelp-edit-param-bot": "Marcar esta edición como de bot.",
@@ -40,6 +89,14 @@
"apihelp-edit-param-nocreate": "Producir un error si la página no existe.",
"apihelp-edit-param-watch": "Añadir la página a la lista de seguimiento del usuario actual.",
"apihelp-edit-param-unwatch": "Quitar la página de la lista de seguimiento del usuario actual.",
+ "apihelp-edit-param-prependtext": "Añadir este texto al principio de la página. Reemplaza $1text.",
+ "apihelp-edit-param-appendtext": "Añadir este texto al principio de la página. Reemplaza $1text.\n\nUtiliza $1section=new para añadir una nueva sección, en lugar de este parámetro.",
+ "apihelp-edit-param-undo": "Deshacer esta revisión. Reemplaza $1text, $1prependtext y $1appendtext.",
+ "apihelp-edit-param-undoafter": "Deshacer todas las revisiones desde $1undo a esta. Si no está establecido solo se deshace una revisión.",
+ "apihelp-edit-param-redirect": "Resolver redirecciones automáticamente.",
+ "apihelp-edit-param-contentformat": "Formato de serialización de contenido utilizado para el texto de entrada.",
+ "apihelp-edit-param-contentmodel": "Modelo de contenido del nuevo contenido.",
+ "apihelp-edit-param-token": "La clave debe enviarse siempre como el último parámetro o, al menos, después del parámetro $1text.",
"apihelp-edit-example-edit": "Editar una página",
"apihelp-edit-example-prepend": "Anteponer <kbd>_&#95;NOTOC_&#95;</kbd> a una página.",
"apihelp-edit-example-undo": "Deshacer intervalo de revisiones 13579-13585 con resumen automático",
@@ -48,10 +105,22 @@
"apihelp-emailuser-param-subject": "Encabezamiento de asunto.",
"apihelp-emailuser-param-text": "Cuerpo del mensaje.",
"apihelp-emailuser-param-ccme": "Enviarme una copia de este mensaje.",
+ "apihelp-emailuser-example-email": "Enviar un correo al usuario <kbd>WikiSysop</kbd> con el texto <kbd>Contenido</kbd>.",
+ "apihelp-expandtemplates-description": "Expande todas las plantillas en wikitexto.",
"apihelp-expandtemplates-param-title": "Título de la página.",
"apihelp-expandtemplates-param-text": "Sintaxis wiki que se convertirá.",
+ "apihelp-expandtemplates-param-revid": "Revisión de ID, para <nowiki>{{REVISIONID}}</nowiki> y variables similares.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "El wikitexto expandido.",
+ "apihelp-expandtemplates-paramvalue-prop-properties": "Propiedades de página definidas por palabras mágicas en el wikitexto.",
+ "apihelp-expandtemplates-paramvalue-prop-ttl": "El tiempo máximo tras el cual deberían invalidarse los resultados en caché.",
+ "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Da las variables de configuración JavaScript específicas para la página.",
+ "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Da las variables de configuración JavaScript específicas para la página como una cadena JSON.",
+ "apihelp-expandtemplates-param-generatexml": "Generar un árbol de análisis XML (remplazado por $1prop=parsetree).",
+ "apihelp-expandtemplates-example-simple": "Expandir el wikitexto <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
"apihelp-feedcontributions-description": "Devuelve el canal de contribuciones de un usuario.",
"apihelp-feedcontributions-param-feedformat": "El formato del canal.",
+ "apihelp-feedcontributions-param-user": "De qué usuarios recibir contribuciones.",
+ "apihelp-feedcontributions-param-namespace": "Espacio de nombre para filtrar las contribuciones.",
"apihelp-feedcontributions-param-year": "A partir del año (y anteriores).",
"apihelp-feedcontributions-param-month": "A partir del mes (y anteriores).",
"apihelp-feedcontributions-param-tagfilter": "Filtrar las contribuciones que tienen estas etiquetas.",
@@ -62,15 +131,17 @@
"apihelp-feedcontributions-example-simple": "Devolver las contribuciones del usuario <kbd>Ejemplo</kbd>.",
"apihelp-feedrecentchanges-description": "Devuelve un canal de cambios recientes.",
"apihelp-feedrecentchanges-param-feedformat": "El formato del canal.",
+ "apihelp-feedrecentchanges-param-namespace": "Espacio de nombres al cual limitar los resultados.",
"apihelp-feedrecentchanges-param-invert": "Todos los espacios de nombres menos el que está seleccionado.",
"apihelp-feedrecentchanges-param-associated": "Incluir el espacio de nombres asociado (discusión o principal).",
+ "apihelp-feedrecentchanges-param-days": "Días a los que limitar los resultados.",
"apihelp-feedrecentchanges-param-limit": "Número máximo de resultados que devolver.",
"apihelp-feedrecentchanges-param-from": "Mostrar los cambios realizados a partir de entonces.",
"apihelp-feedrecentchanges-param-hideminor": "Ocultar cambios menores.",
"apihelp-feedrecentchanges-param-hidebots": "Ocultar los cambios realizados por bots.",
"apihelp-feedrecentchanges-param-hideanons": "Ocultar los cambios realizados por usuarios anónimos.",
"apihelp-feedrecentchanges-param-hideliu": "Ocultar los cambios realizados por usuarios registrados.",
- "apihelp-feedrecentchanges-param-hidepatrolled": "Ocultar los cambios patrullados.",
+ "apihelp-feedrecentchanges-param-hidepatrolled": "Ocultar los cambios verificados.",
"apihelp-feedrecentchanges-param-hidemyself": "Ocultar los cambios realizados por el usuario actual.",
"apihelp-feedrecentchanges-param-tagfilter": "Filtrar por etiquetas.",
"apihelp-feedrecentchanges-param-target": "Mostrar solo los cambios en las páginas enlazadas en esta.",
@@ -79,32 +150,59 @@
"apihelp-feedrecentchanges-example-30days": "Mostrar los cambios recientes limitados a 30 días",
"apihelp-feedwatchlist-description": "Devuelve el canal de una lista de seguimiento.",
"apihelp-feedwatchlist-param-feedformat": "El formato del canal.",
+ "apihelp-feedwatchlist-param-hours": "Listar las páginas modificadas desde estas horas hasta ahora.",
"apihelp-feedwatchlist-param-linktosections": "Enlazar directamente a las secciones cambiadas de ser posible.",
"apihelp-feedwatchlist-example-default": "Mostrar el canal de la lista de seguimiento.",
"apihelp-feedwatchlist-example-all6hrs": "Mostrar todos los cambios en páginas vigiladas en las últimas 6 horas.",
"apihelp-filerevert-description": "Revertir el archivo a una versión anterior.",
"apihelp-filerevert-param-filename": "Nombre de archivo final, sin el prefijo Archivo:",
"apihelp-filerevert-param-comment": "Comentario de carga.",
+ "apihelp-filerevert-param-archivename": "Nombre del archivo de la revisión para deshacerla.",
+ "apihelp-filerevert-example-revert": "Devolver <kbd>Wiki.png</kbd> a la versión del <kbd>5 de marzo de 2011T15:27:40Z</kbd>.",
"apihelp-help-description": "Mostrar la ayuda para los módulos especificados.",
+ "apihelp-help-param-modules": "Módulos para mostrar ayuda (valores de los parámetros <var>action</var> y <var>format</var> o <kbd>main</kbd>). Se puede especificar submódulos <kbd>+</kbd>.",
+ "apihelp-help-param-submodules": "Incluir ayuda para submódulos del módulo con nombre.",
+ "apihelp-help-param-recursivesubmodules": "Incluir ayuda para submódulos recursivamente.",
+ "apihelp-help-param-helpformat": "Formato de la ayuda de salida.",
+ "apihelp-help-param-toc": "Incluir una tabla de contenidos en la salida HTML.",
"apihelp-help-example-main": "Ayuda del módulo principal",
"apihelp-help-example-recursive": "Toda la ayuda en una página",
"apihelp-help-example-help": "Ayuda del módulo de ayuda en sí",
+ "apihelp-help-example-query": "Ayuda para dos submódulos de consulta.",
"apihelp-imagerotate-description": "Girar una o más imágenes.",
"apihelp-imagerotate-param-rotation": "Grados que rotar una imagen en sentido horario.",
"apihelp-imagerotate-example-simple": "Rotar <kbd>File:Ejemplo.png</kbd> <kbd>90</kbd> grados.",
"apihelp-imagerotate-example-generator": "Rotar todas las imágenes en la <kbd>Categoría:Girar</kbd> <kbd>180</kbd> grados.",
"apihelp-import-param-summary": "Resumen de importación.",
"apihelp-import-param-xml": "Se cargó el archivo XML.",
- "apihelp-import-param-rootpage": "Importar como subpágina de esta página.",
+ "apihelp-import-param-interwikisource": "Para importaciones interwiki: wiki desde la que importar.",
+ "apihelp-import-param-interwikipage": "Para importaciones interwiki: página a importar.",
+ "apihelp-import-param-fullhistory": "Para importaciones interwiki: importar todo el historial, no solo la versión actual.",
+ "apihelp-import-param-templates": "Para importaciones interwiki: importar también todas las plantillas incluidas.",
+ "apihelp-import-param-namespace": "Importar a este espacio de nombres. No puede usarse simultáneamente con <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "Importar como subpágina de esta página. No puede usarse simultáneamente con <var>$1namespace</var>.",
+ "apihelp-import-example-import": "Importar [[meta:Help:ParserFunctions]] al espacio de nombres 100 con todo el historial.",
+ "apihelp-login-description": "Iniciar sesión y obtener cookies de autenticación.\n\nSi inicias sesión sin problemas, las cookies necesarias se incluirán en los encabezados de respuesta HTTP. Si se produce algún error al iniciar sesión y este persiste, se puede regular para evitar los ataques masivos automatizados para adivinar contraseñas.",
"apihelp-login-param-name": "Nombre de usuario.",
"apihelp-login-param-password": "Contraseña.",
"apihelp-login-param-domain": "Dominio (opcional).",
+ "apihelp-login-param-token": "La clave de inicio de sesión se obtiene en la primera solicitud.",
+ "apihelp-login-example-gettoken": "Recuperar clave de inicio de sesión.",
"apihelp-login-example-login": "Acceder",
"apihelp-logout-description": "Salir y vaciar los datos de la sesión.",
- "apihelp-logout-example-logout": "Cerrar la sesión del usuario actual",
+ "apihelp-logout-example-logout": "Cerrar la sesión del usuario actual.",
+ "apihelp-managetags-description": "Realizar tareas de administración relacionadas con el cambio de etiquetas.",
+ "apihelp-managetags-param-operation": "Qué operación realizar:\n;create: Crear una nueva etiqueta de cambio de uso manual.\n;delete: Eliminar una etiqueta de cambio de la base de datos, eliminando la etiqueta de todas las revisiones, cambios en entradas recientes y registros en los que se ha utilizado.\n;activate: Activar una etiqueta de cambio, permitiendo a los usuarios aplicarla manualmente.\n;deactivate: Desactivar una etiqueta de cambio, evitando que los usuarios la apliquen manualmente.",
+ "apihelp-managetags-param-tag": "Etiqueta para crear, eliminar, activar o desactivar. Para crear una etiqueta, esta debe no existir. Para eliminarla, debe existir. Para activarla, debe existir y no estar en uso por ninguna extensión. Para desactivarla, debe estar activada y definida manualmente.",
"apihelp-managetags-param-reason": "Un motivo opcional para crear, eliminar, activar o desactivar la etiqueta.",
+ "apihelp-managetags-example-create": "Crear una etiqueta llamada <kbd>spam</kbd> con el motivo <kbd>Para utilizar en patrullaje de edición</kbd>",
"apihelp-managetags-example-delete": "Eliminar la etiqueta <kbd>vandlaismo</kbd> con el motivo <kbd>mal deletreado</kbd>",
- "apihelp-move-description": "Mover una página.",
+ "apihelp-managetags-example-activate": "Activar una etiqueta llamada <kbd>spam</kbd> con el motivo <kbd>Para utilizar en patrullaje de edición</kbd>",
+ "apihelp-managetags-example-deactivate": "Desactivar una etiqueta llamada <kbd>spam</kbd> con el motivo <kbd>Para utilizar en patrullaje de edición</kbd>",
+ "apihelp-move-description": "Trasladar una página.",
+ "apihelp-move-param-from": "Título de la página a renombrar. No se puede utilizar con <var>$1fromid</var>.",
+ "apihelp-move-param-fromid": "ID de la página a renombrar. No se puede utilizar con <var>$1from</var>.",
+ "apihelp-move-param-to": "Título para cambiar el nombre de la página.",
"apihelp-move-param-reason": "Motivo del cambio de nombre.",
"apihelp-move-param-movetalk": "Renombrar la página de discusión si existe.",
"apihelp-move-param-movesubpages": "Renombrar las subpáginas si procede.",
@@ -112,18 +210,109 @@
"apihelp-move-param-watch": "Añadir la página y su redirección a la lista de seguimiento del usuario actual.",
"apihelp-move-param-unwatch": "Eliminar la página y la redirección de la lista de seguimiento del usuario.",
"apihelp-move-param-ignorewarnings": "Ignorar cualquier aviso.",
+ "apihelp-move-example-move": "Mover <kbd>Badtitle</kbd> a <kbd>Goodtitle</kbd> sin dejar una redirección.",
"apihelp-opensearch-description": "Buscar en el wiki mediante el protocolo OpenSearch.",
"apihelp-opensearch-param-search": "Buscar cadena.",
+ "apihelp-opensearch-param-limit": "Número máximo de resultados que devolver.",
+ "apihelp-opensearch-param-namespace": "Espacio de nombres que buscar.",
+ "apihelp-opensearch-param-suggest": "No hacer nada si <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> es falso.",
+ "apihelp-opensearch-param-redirects": "Cómo manejar las redirecciones:\n;return: Volver a la propia redirección.\n;resolve: Volver a la página de destino. Puede devolver menos de $1limit resultados.\nPor motivos históricos, se utiliza \"return\" para $1format=json y \"resolve\" para otros formatos.",
+ "apihelp-opensearch-param-format": "El formato de salida.",
+ "apihelp-opensearch-param-warningsaserror": "Si las advertencias están planteadas con <kbd>format=json</kbd>, devolver un error de API en lugar de hacer caso omiso de ellas.",
+ "apihelp-opensearch-example-te": "Buscar páginas que empiecen por <kbd>Te</kbd>.",
+ "apihelp-options-description": "Cambiar preferencias del usuario actual.\n\nSolo se pueden establecer opciones que estén registradas en el núcleo o en una de las extensiones instaladas u opciones con claves predefinidas con <code>userjs-</code> (diseñadas para utilizarse con scripts de usuario).",
+ "apihelp-options-param-reset": "Restablece las preferencias de la página web a sus valores predeterminados.",
+ "apihelp-options-param-resetkinds": "Lista de tipos de opciones a restablecer cuando la opción <var>$1reset</var> esté establecida.",
+ "apihelp-options-param-change": "Lista de cambios con el formato name=value (por ejemplo: skin=vector). El valor no puede contener caracteres de barras verticales. Si no se da ningún valor (ni siquiera un signo de igual), por ejemplo: optionname|otheroption|..., la opción se restablecerá a sus valores predeterminados.",
+ "apihelp-options-param-optionname": "El nombre de la opción que debe establecerse en el valor dado por <var>$1optionvalue</var>.",
+ "apihelp-options-param-optionvalue": "El valor de la opción especificada por <var>$1optionname</var>, puede contener barras verticales.",
"apihelp-options-example-reset": "Restablecer todas las preferencias",
+ "apihelp-options-example-change": "Cambiar las preferencias <kbd>skin</kbd> y <kbd>hideminor</kbd>.",
+ "apihelp-options-example-complex": "Restablecer todas las preferencias y establecer <kbd>skin</kbd> y <kbd>nickname</kbd>.",
"apihelp-paraminfo-description": "Obtener información acerca de los módulos de la API.",
+ "apihelp-paraminfo-param-modules": "Lista de los nombres de los módulos (valores de los parámetros <var>action</var> y <var>format</var> o <kbd>main</kbd>). Se pueden especificar los submódulos con un <kbd>+</kbd>.",
"apihelp-paraminfo-param-helpformat": "Formato de las cadenas de ayuda.",
- "apihelp-patrol-example-rcid": "Patrullar un cambio reciente",
- "apihelp-patrol-example-revid": "Patrullar una revisión",
+ "apihelp-paraminfo-param-querymodules": "Lista de los nombres de los módulos de consulta (valor de los parámetros <var>prop</var>, <var>meta</var> or <var>list</var>). Utiliza <kbd>$1modules=query+foo</kbd> en vez de <kbd>$1querymodules=foo</kbd>.",
+ "apihelp-paraminfo-param-formatmodules": "Lista de los nombres del formato de los módulos (valor del parámetro <var>format</var>). Utiliza <var>$1modules</var> en su lugar.",
+ "apihelp-paraminfo-example-1": "Mostrar información para <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd> y <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>.",
+ "apihelp-parse-param-title": "Título de la página a la que pertenece el texto. Si se omite se debe especificar <var>$1contentmodel</var> y se debe utilizar el [[API]] como título.",
+ "apihelp-parse-param-text": "Texto a analizar. Utiliza <var>$1title</var> or <var>$1contentmodel</var> para controlar el modelo del contenido.",
+ "apihelp-parse-param-summary": "Resumen a analizar.",
+ "apihelp-parse-param-page": "Analizar el contenido de esta página. No se puede utilizar con <var>$1text</var> y <var>$1title</var>.",
+ "apihelp-parse-param-pageid": "Analizar el contenido de esta página. Remplaza <var>$1page</var>.",
+ "apihelp-parse-param-redirects": "Si <var>$1page</var> o <var>$1pageid</var> contienen una redirección, soluciónalo.",
+ "apihelp-parse-param-oldid": "Analizar el contenido de esta revisión. Remplaza <var>$1page</var> y <var>$1pageid</var>.",
+ "apihelp-parse-param-prop": "Qué piezas de información obtener:",
+ "apihelp-parse-paramvalue-prop-text": "Da el texto analizado en wikitexto.",
+ "apihelp-parse-paramvalue-prop-langlinks": "Da el idioma de los enlaces en el wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-categories": "Da las categorías en el wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "Da la versión HTML de las categorías.",
+ "apihelp-parse-paramvalue-prop-links": "Da los enlaces internos del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-templates": "Da las plantillas del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-images": "Da las imágenes del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-externallinks": "Da los enlaces externos del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-sections": "Da las secciones del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-revid": "Añade la ID de revisión de la página analizada.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Añade el título del wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-headitems": "Da elementos para colocar en el <code>&lt;encabezado&gt;</code> de la página.",
+ "apihelp-parse-paramvalue-prop-headhtml": "Da el <code>&lt;encabezado&gt;</code> analizado de la página.",
+ "apihelp-parse-paramvalue-prop-modules": "Da los módulos ResourceLoader utilizados en la página.",
+ "apihelp-parse-paramvalue-prop-jsconfigvars": "Da la configuración JavaScript de variables específica para la página.",
+ "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "Da la configuración JavaScript de variables específica para la página como cadena JSON.",
+ "apihelp-parse-paramvalue-prop-indicators": "Da el HTML de los indicadores de estado utilizados en la página.",
+ "apihelp-parse-paramvalue-prop-iwlinks": "Da los enlaces interwiki del texto analizado.",
+ "apihelp-parse-paramvalue-prop-wikitext": "Da el wikitexto original que se había analizado.",
+ "apihelp-parse-paramvalue-prop-properties": "Da varias propiedades definidas en el wikitexto analizado.",
+ "apihelp-parse-paramvalue-prop-limitreportdata": "Da el informe del límite de forma estructurada. No da datos si <var>$1disablelimitreport</var> está establecido.",
+ "apihelp-parse-paramvalue-prop-limitreporthtml": "Da la versión HTML del informe del límite. No da datos si <var>$1disablelimitreport</var> está establecido.",
+ "apihelp-parse-param-effectivelanglinks": "Incluye enlaces de idiomas proporcionados por las extensiones (para utilizar con <kbd>$1prop=langlinks</kbd>).",
+ "apihelp-parse-param-disablepp": "Usa <var>$1disablelimitreport</var> en su lugar.",
+ "apihelp-parse-param-preview": "Analizar en modo de vista previa.",
+ "apihelp-parse-param-sectionpreview": "Analizar sección en modo de vista previa (activa el modo de vista previa).",
+ "apihelp-parse-param-disabletoc": "Omitir la tabla de contenidos en la salida.",
+ "apihelp-parse-example-page": "Analizar una página.",
+ "apihelp-parse-example-text": "Analizar wikitexto.",
+ "apihelp-parse-example-texttitle": "Analizar wikitexto, especificando el título de la página.",
+ "apihelp-parse-example-summary": "Analizar un resumen.",
+ "apihelp-patrol-description": "Verificar una página o revisión.",
+ "apihelp-patrol-param-rcid": "Identificador de cambios recientes que verificar.",
+ "apihelp-patrol-example-rcid": "Verificar un cambio reciente.",
+ "apihelp-patrol-example-revid": "Verificar una revisión.",
+ "apihelp-protect-description": "Cambiar el nivel de protección de una página.",
+ "apihelp-protect-param-title": "Título de la página a (des)proteger. No se puede utilizar con $1pageid.",
+ "apihelp-protect-param-pageid": "ID de la página a (des)proteger. No se puede utilizar con $1title.",
+ "apihelp-protect-param-protections": "Lista de los niveles de protección, con formato <kbd>action=level</kbd> (por ejemplo: <kbd>edit=sysop</kbd>).\n\n<strong>Nota:</strong> Cualquier acción no mencionada tendrá las restricciones eliminadas.",
"apihelp-protect-param-reason": "Motivo de la (des)protección.",
+ "apihelp-protect-param-cascade": "Activar la protección en cascada (o sea, proteger plantillas e imágenes transcluidas usadas en esta página). Se ignorará si ninguno de los niveles de protección dados son compatibles con la función de cascada.",
"apihelp-protect-example-protect": "Proteger una página",
+ "apihelp-protect-example-unprotect": "Desproteger una página estableciendo la restricción a <kbd>todos</kbd>.",
+ "apihelp-protect-example-unprotect2": "Desproteger una página anulando las restricciones.",
+ "apihelp-purge-param-forcelinkupdate": "Actualizar las tablas de enlaces.",
+ "apihelp-purge-param-forcerecursivelinkupdate": "Actualizar la tabla de enlaces y todas las tablas de enlaces de cualquier página que use esta página como una plantilla.",
+ "apihelp-purge-example-simple": "Depurar la <kbd>Página principal</kbd> y la página <kbd>API</kbd>.",
+ "apihelp-purge-example-generator": "Purgar las 10 primeras páginas del espacio de nombres principal.",
+ "apihelp-query-param-prop": "Qué propiedades obtener para las páginas consultadas.",
+ "apihelp-query-param-list": "Qué listas obtener.",
+ "apihelp-query-param-meta": "Qué metadatos obtener.",
+ "apihelp-query-param-indexpageids": "Incluir una sección de ID de páginas adicional en la que se muestran todas las ID de páginas.",
+ "apihelp-query-param-export": "Exportar las revisiones actuales de las páginas dadas o generadas.",
"apihelp-query+allcategories-description": "Enumerar todas las categorías.",
+ "apihelp-query+allcategories-param-from": "La categoría para comenzar la enumeración",
+ "apihelp-query+allcategories-param-to": "La categoría para detener la enumeración",
+ "apihelp-query+allcategories-param-prefix": "Buscar todos los títulos de las categorías que comiencen con este valor.",
+ "apihelp-query+allcategories-param-dir": "Dirección de ordenamiento.",
+ "apihelp-query+allcategories-param-min": "Devolver solo categorías con al menos este número de miembros.",
+ "apihelp-query+allcategories-param-max": "Devolver solo categorías con como mucho este número de miembros.",
+ "apihelp-query+allcategories-param-limit": "Cuántas categorías se devolverán.",
+ "apihelp-query+allcategories-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+allcategories-paramvalue-prop-size": "Añade el número de páginas en la categoría.",
+ "apihelp-query+allcategories-paramvalue-prop-hidden": "Etiqueta las categorías que están ocultas con <code>_&#95;HIDDENCAT_&#95;</code>.",
+ "apihelp-query+allcategories-example-size": "Lista las categorías con información sobre el número de páginas de cada una.",
+ "apihelp-query+alldeletedrevisions-description": "Listar todas las revisiones eliminadas por un usuario o en un espacio de nombres.",
"apihelp-query+alldeletedrevisions-paraminfo-useronly": "Solo puede usarse con <var>$3user</var>.",
- "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "No puede ser utilizado con <var>$3user</var>.",
+ "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "No puede utilizarse con <var>$3user</var>.",
+ "apihelp-query+alldeletedrevisions-param-start": "El sello de tiempo para comenzar la enumeración",
+ "apihelp-query+alldeletedrevisions-param-end": "El sello de tiempo para detener la enumeración",
"apihelp-query+alldeletedrevisions-param-from": "Empezar a listar en este título.",
"apihelp-query+alldeletedrevisions-param-to": "Terminar de listar en este título.",
"apihelp-query+alldeletedrevisions-param-prefix": "Buscar todos los títulos de las páginas que comiencen con este valor.",
@@ -134,73 +323,424 @@
"apihelp-query+alldeletedrevisions-example-user": "Listar las últimas 50 contribuciones borradas del usuario <kbd>Ejemplo<kbd>.",
"apihelp-query+alldeletedrevisions-example-ns-main": "Listar las primeras 50 revisiones borradas en el espacio de nombres principal.",
"apihelp-query+allfileusages-description": "Listar todos los usos del archivo, incluyendo los que no existen.",
+ "apihelp-query+allfileusages-param-from": "El título del archivo para comenzar la enumeración.",
+ "apihelp-query+allfileusages-param-to": "El título del archivo para detener la enumeración.",
+ "apihelp-query+allfileusages-param-prefix": "Buscar todos los títulos de los archivos que comiencen con este valor.",
+ "apihelp-query+allfileusages-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+allfileusages-paramvalue-prop-title": "Agrega el título del archivo.",
+ "apihelp-query+allfileusages-param-limit": "Cuántos elementos en total se devolverán.",
+ "apihelp-query+allfileusages-param-dir": "La dirección en la que se listará.",
+ "apihelp-query+allfileusages-example-B": "Listar títulos de archivos, incluyendo los desaparecidos, con las ID de páginas a las que pertenecen, empezando por la <kbd>B</kbd>.",
+ "apihelp-query+allfileusages-example-unique": "Listar títulos de archivos únicos.",
+ "apihelp-query+allfileusages-example-unique-generator": "Recupera los títulos de todos los archivos y marca los faltantes.",
+ "apihelp-query+allfileusages-example-generator": "Recupera las páginas que contienen los archivos.",
+ "apihelp-query+allimages-description": "Enumerar todas las imágenes secuencialmente.",
+ "apihelp-query+allimages-param-from": "El título de la imagen para comenzar la enumeración. Solo puede utilizarse con $1sort=name.",
+ "apihelp-query+allimages-param-to": "El título de la imagen para detener la enumeración. Solo puede utilizarse con $1sort=name.",
+ "apihelp-query+allimages-param-start": "El sello de tiempo para comenzar la enumeración. Solo puede utilizarse con $1sort=timestamp.",
+ "apihelp-query+allimages-param-end": "El sello de tiempo para detener la enumeración. Solo puede utilizarse con $1sort=timestamp.",
+ "apihelp-query+allimages-param-prefix": "Buscar todos los títulos de imágenes que empiecen por este valor. Solo puede utilizarse con $1sort=name.",
+ "apihelp-query+allimages-param-minsize": "Limitar a imágenes con al menos este número de bytes.",
+ "apihelp-query+allimages-param-maxsize": "Limitar a imágenes con como mucho este número de bytes.",
"apihelp-query+allimages-param-sha1": "Suma SHA1 de la imagen. Invalida $1sha1base36.",
"apihelp-query+allimages-param-sha1base36": "Suma SHA1 de la imagen en base 36 (usada en MediaWiki).",
+ "apihelp-query+allimages-param-limit": "Cuántas imágenes en total se devolverán.",
+ "apihelp-query+allimages-example-B": "Mostrar una lista de archivos que empiecen por la letra <kbd>B</kbd>.",
+ "apihelp-query+allimages-example-recent": "Mostrar una lista de archivos subidos recientemente, similar a [[Special:NewFiles]].",
+ "apihelp-query+allimages-example-mimetypes": "Mostrar una lista de archivos tipo MIME <kbd>image/png</kbd> o <kbd>image/gif</kbd>",
+ "apihelp-query+allimages-example-generator": "Mostrar información acerca de 4 archivos que empiecen por la letra <kbd>T</kbd>.",
+ "apihelp-query+alllinks-description": "Enumerar todos los enlaces que apunten a un determinado espacio de nombres.",
+ "apihelp-query+alllinks-param-from": "El título del enlace para comenzar la enumeración.",
+ "apihelp-query+alllinks-param-to": "El título del enlace para detener la enumeración.",
+ "apihelp-query+alllinks-param-prefix": "Buscar todos los títulos vinculados que comiencen con este valor.",
+ "apihelp-query+alllinks-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+alllinks-paramvalue-prop-title": "Añade el título del enlace.",
+ "apihelp-query+alllinks-param-namespace": "El espacio de nombres que enumerar.",
+ "apihelp-query+alllinks-param-limit": "Cuántos elementos en total se devolverán.",
"apihelp-query+alllinks-example-unique-generator": "Obtiene todos los títulos enlazados, marcando los que falten.",
+ "apihelp-query+allmessages-param-prop": "Qué propiedades se obtendrán.",
+ "apihelp-query+allmessages-param-filter": "Devolver solo mensajes con nombres que contengan esta cadena.",
+ "apihelp-query+allmessages-param-customised": "Devolver solo mensajes en este estado de personalización.",
+ "apihelp-query+allmessages-param-lang": "Devolver mensajes en este idioma.",
+ "apihelp-query+allmessages-param-from": "Devolver mensajes que empiecen por este mensaje.",
+ "apihelp-query+allmessages-param-to": "Devolver mensajes que acaben por este mensaje.",
+ "apihelp-query+allmessages-param-prefix": "Devolver mensajes con este prefijo.",
+ "apihelp-query+allmessages-example-ipb": "Mostrar mensajes que empiecen por <kbd>ipb-</kbd>.",
+ "apihelp-query+allmessages-example-de": "Mostrar mensajes <kbd>august</kbd> y <kbd>mainpage</kbd> en alemán.",
+ "apihelp-query+allpages-description": "Enumerar todas las páginas secuencialmente en un espacio de nombres determinado.",
+ "apihelp-query+allpages-param-from": "El título de página para comenzar la enumeración",
+ "apihelp-query+allpages-param-to": "El título de página para detener la enumeración.",
+ "apihelp-query+allpages-param-prefix": "Buscar todos los títulos de las páginas que comiencen con este valor.",
+ "apihelp-query+allpages-param-namespace": "El espacio de nombres que enumerar.",
+ "apihelp-query+allpages-param-filterredir": "Qué páginas listar.",
+ "apihelp-query+allpages-param-minsize": "Limitar a páginas con al menos este número de bytes.",
+ "apihelp-query+allpages-param-maxsize": "Limitar a páginas con este número máximo de bytes.",
+ "apihelp-query+allpages-param-prtype": "Limitar a páginas protegidas.",
+ "apihelp-query+allpages-param-limit": "Cuántas páginas en total se devolverán.",
"apihelp-query+allpages-example-B": "Mostrar una lista de páginas que empiecen con la letra <kbd>B</kbd>.",
+ "apihelp-query+allpages-example-generator": "Mostrar información acerca de 4 páginas que empiecen por la letra <kbd>T</kbd>.",
+ "apihelp-query+allpages-example-generator-revisions": "Mostrar el contenido de las 2 primeras páginas que no redirijan y empiecen por <kbd>Re</kbd>.",
+ "apihelp-query+allredirects-param-prefix": "Buscar todas las páginas de destino que empiecen con este valor.",
+ "apihelp-query+allredirects-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+allredirects-paramvalue-prop-title": "Añade el título de la redirección.",
+ "apihelp-query+allredirects-param-limit": "Cuántos elementos se devolverán.",
+ "apihelp-query+alltransclusions-param-prefix": "Buscar todos los títulos transcluídos que comiencen con este valor.",
+ "apihelp-query+alltransclusions-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+alltransclusions-example-unique": "Listar títulos transcluidos de forma única.",
+ "apihelp-query+alltransclusions-example-unique-generator": "Obtiene todos los títulos transcluídos, marcando los que faltan.",
+ "apihelp-query+allusers-description": "Enumerar todos los usuarios registrados.",
+ "apihelp-query+allusers-param-prefix": "Buscar todos los usuarios que empiecen con este valor.",
+ "apihelp-query+allusers-param-group": "Incluir solo usuarios en los grupos dados.",
+ "apihelp-query+allusers-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+allusers-paramvalue-prop-blockinfo": "Añade información sobre un bloque actual al usuario.",
+ "apihelp-query+allusers-paramvalue-prop-groups": "Lista los grupos a los que el usuario pertenece. Esto utiliza más recursos del servidor y puede devolver menos resultados que el límite.",
+ "apihelp-query+allusers-paramvalue-prop-rights": "Lista los permisos que tiene el usuario.",
+ "apihelp-query+allusers-param-limit": "Cuántos nombres de usuario se devolverán.",
"apihelp-query+allusers-param-activeusers": "Solo listar usuarios activos en {{PLURAL:$1|el último día|los $1 últimos días}}.",
+ "apihelp-query+allusers-example-Y": "Listar usuarios que empiecen por <kbd>Y</kbd>.",
"apihelp-query+backlinks-param-pageid": "Identificador de página que buscar. No puede usarse junto con <var>$1title</var>",
+ "apihelp-query+backlinks-param-limit": "Cuántas páginas en total se devolverán. Si está activo <var>$1redirect</var>, el límite aplica a cada nivel por separado (lo que significa que se pueden devolver hasta 2 * <var>$1limit</var> resultados).",
"apihelp-query+backlinks-example-simple": "Mostrar enlaces a la <kbd>Portada<kbd>.",
+ "apihelp-query+blocks-description": "Listar todos los usuarios y direcciones IP bloqueadas.",
+ "apihelp-query+blocks-param-users": "Lista de usuarios a buscar (opcional).",
+ "apihelp-query+blocks-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+blocks-paramvalue-prop-userid": "Añade el identificador del usuario bloqueado.",
+ "apihelp-query+blocks-paramvalue-prop-timestamp": "Añade la fecha y hora de cuando se aplicó el bloque.",
"apihelp-query+blocks-example-simple": "Listar bloques.",
+ "apihelp-query+categories-param-prop": "Qué propiedades adicionales obtener para cada categoría:",
+ "apihelp-query+categories-param-show": "Qué tipo de categorías mostrar.",
+ "apihelp-query+categories-param-limit": "Cuántas categorías se devolverán.",
+ "apihelp-query+categories-example-generator": "Obtener información acerca de todas las categorías utilizadas en la página <kbd>Albert Einstein</kbd>.",
+ "apihelp-query+categoryinfo-description": "Devuelve información acerca de las categorías dadas.",
"apihelp-query+categoryinfo-example-simple": "Obtener información acerca de <kbd>Category:Foo</kbd> y <kbd>Category:Bar</kbd>",
+ "apihelp-query+categorymembers-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+categorymembers-paramvalue-prop-ids": "Añade el identificador de página.",
+ "apihelp-query+categorymembers-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
+ "apihelp-query+categorymembers-param-startsortkey": "Utilizar $1starthexsortkey en su lugar.",
+ "apihelp-query+categorymembers-param-endsortkey": "Utilizar $1endhexsortkey en su lugar.",
+ "apihelp-query+categorymembers-example-simple": "Obtener las primeras 10 páginas de la <kbd>Categoría:Física</kbd>",
"apihelp-query+categorymembers-example-generator": "Obtener información sobre las primeras 10 páginas de la <kbd>Categoría:Física</kbd>",
+ "apihelp-query+contributors-param-limit": "Cuántas contribuyentes se devolverán.",
+ "apihelp-query+contributors-example-simple": "Mostrar los contribuyentes de la <kbd>página principal</kbd>.",
+ "apihelp-query+deletedrevisions-param-tag": "Listar solo las revisiones con esta etiqueta.",
+ "apihelp-query+deletedrevisions-param-user": "Listar solo las revisiones de este usuario.",
+ "apihelp-query+deletedrevisions-param-excludeuser": "No listar las revisiones de este usuario.",
"apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|Modo|Modos}}: $2",
+ "apihelp-query+deletedrevs-param-from": "Empezar a listar en este título.",
+ "apihelp-query+deletedrevs-param-to": "Terminar de listar en este título.",
+ "apihelp-query+deletedrevs-param-prefix": "Buscar todas las páginas que empiecen con este valor.",
+ "apihelp-query+deletedrevs-param-unique": "Listar solo una revisión por cada página.",
+ "apihelp-query+deletedrevs-param-tag": "Listar solo las revisiones con esta etiqueta.",
+ "apihelp-query+deletedrevs-param-user": "Listar solo las revisiones de este usuario.",
+ "apihelp-query+deletedrevs-param-excludeuser": "No listar las revisiones de este usuario.",
+ "apihelp-query+deletedrevs-param-namespace": "Listar solo las páginas en este espacio de nombres.",
+ "apihelp-query+deletedrevs-param-limit": "La cantidad máxima de revisiones que listar.",
"apihelp-query+deletedrevs-example-mode3-talk": "Listar las primeras 50 páginas en el espacio de nombres {{ns:talk}} (modo 3).",
+ "apihelp-query+disabled-description": "Se ha desactivado el módulo de consulta.",
"apihelp-query+duplicatefiles-example-simple": "Buscar duplicados de [[:File:Alber Einstein Head.jpg]].",
- "apihelp-query+duplicatefiles-example-generated": "Buscar duplicados en todos los ficheros.",
+ "apihelp-query+duplicatefiles-example-generated": "Buscar duplicados en todos los archivos.",
+ "apihelp-query+embeddedin-description": "Encuentra todas las páginas que transcluyen el título dado.",
+ "apihelp-query+embeddedin-param-title": "Título a buscar. No puede usarse en conjunto con $1pageid.",
+ "apihelp-query+embeddedin-param-filterredir": "Cómo filtrar las redirecciones.",
+ "apihelp-query+embeddedin-param-limit": "Cuántas páginas se devolverán.",
+ "apihelp-query+extlinks-param-limit": "Cuántos enlaces se devolverán.",
+ "apihelp-query+exturlusage-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+exturlusage-paramvalue-prop-ids": "Añade el identificado de la página.",
+ "apihelp-query+exturlusage-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
+ "apihelp-query+exturlusage-param-protocol": "Protocolo del URL. Si está vacío y se establece <var>$1query</var>, el protocolo es <kbd>http</kbd>. Deja vacío esto y <var>$1query</var> para listar todos los enlaces externos.",
+ "apihelp-query+exturlusage-param-limit": "Cuántas páginas se devolverán.",
"apihelp-query+exturlusage-example-simple": "Mostrar páginas que enlacen con <kbd>http://www.mediawiki.org</kbd>.",
+ "apihelp-query+filearchive-param-from": "El título de imagen para comenzar la enumeración",
+ "apihelp-query+filearchive-param-to": "El título de imagen para detener la enumeración.",
+ "apihelp-query+filearchive-param-prefix": "Buscar todos los títulos de las imágenes que comiencen con este valor.",
+ "apihelp-query+filearchive-param-prop": "Qué información de imagen se obtendrá:",
+ "apihelp-query+filearchive-paramvalue-prop-size": "Agrega el tamaño de la imagen en bytes y la altura, la anchura y el número de páginas (si es aplicable).",
+ "apihelp-query+filearchive-paramvalue-prop-dimensions": "Alias del tamaño.",
+ "apihelp-query+filearchive-paramvalue-prop-description": "Añade la descripción de la versión de la imagen.",
+ "apihelp-query+filearchive-paramvalue-prop-parseddescription": "Analizar la descripción de la versión.",
+ "apihelp-query+filearchive-paramvalue-prop-mime": "Añade el MIME de la imagen.",
+ "apihelp-query+filearchive-paramvalue-prop-mediatype": "Añade el tipo multimedia de la imagen.",
+ "apihelp-query+filearchive-paramvalue-prop-archivename": "Añade el nombre de archivo de la versión archivada para las versiones que no son las últimas.",
+ "apihelp-query+filearchive-example-simple": "Mostrar una lista de todos los archivos eliminados.",
"apihelp-query+filerepoinfo-example-simple": "Obtener información acerca de los repositorios de archivos.",
+ "apihelp-query+fileusage-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+fileusage-paramvalue-prop-pageid": "Identificador de cada página.",
+ "apihelp-query+fileusage-paramvalue-prop-title": "Título de cada página.",
+ "apihelp-query+fileusage-param-limit": "Cuántos se devolverán.",
+ "apihelp-query+fileusage-example-simple": "Obtener una lista de páginas que utilicen [[:File:Example.jpg]].",
+ "apihelp-query+fileusage-example-generator": "Obtener información acerca de las páginas que utilicen [[:File:Example.jpg]].",
+ "apihelp-query+imageinfo-description": "Devuelve información del archivo y su historial de subida.",
+ "apihelp-query+imageinfo-param-prop": "Qué información del archivo se obtendrá:",
+ "apihelp-query+imageinfo-paramvalue-prop-user": "Añade el usuario que subió cada versión del archivo.",
+ "apihelp-query+imageinfo-paramvalue-prop-userid": "Añade la ID de usuario que subió cada versión del archivo.",
+ "apihelp-query+imageinfo-param-limit": "Cuántos revisiones de archivos se devolverán por perfil.",
+ "apihelp-query+imageinfo-param-urlheight": "Similar a $1urlwidth.",
+ "apihelp-query+imageinfo-param-localonly": "Buscar solo archivos en el repositorio local.",
"apihelp-query+images-description": "Devuelve todos los archivos contenidos en las páginas dadas.",
+ "apihelp-query+images-param-limit": "Cuántos archivos se devolverán.",
"apihelp-query+images-example-simple": "Obtener una lista de los archivos usados en la [[Main Page|Portada]].",
+ "apihelp-query+imageusage-param-title": "Título a buscar. No puede usarse en conjunto con $1pageid.",
+ "apihelp-query+imageusage-param-pageid": "ID de página a buscar. No puede usarse con $1title.",
+ "apihelp-query+imageusage-param-namespace": "El espacio de nombres que enumerar.",
"apihelp-query+imageusage-example-simple": "Mostrar las páginas que usan [[:File:Albert Einstein Head.jpg]].",
"apihelp-query+imageusage-example-generator": "Obtener información sobre las páginas que empleen [[:File:Albert Einstein Head.jpg]].",
+ "apihelp-query+info-description": "Obtener información básica de la página.",
+ "apihelp-query+info-param-prop": "Qué propiedades adicionales se obtendrán:",
+ "apihelp-query+info-paramvalue-prop-protection": "Listar el nivel de protección de cada página.",
+ "apihelp-query+info-paramvalue-prop-subjectid": "La ID de página de la página principal de cada página de discusión.",
+ "apihelp-query+info-paramvalue-prop-readable": "Si el usuario puede leer esta página.",
+ "apihelp-query+info-paramvalue-prop-displaytitle": "Proporciona la manera en que se muestra realmente el título de la página",
+ "apihelp-query+info-param-token": "Usa [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] en su lugar.",
+ "apihelp-query+info-example-simple": "Obtener información acerca de la página <kbd>Main Page</kbd>.",
"apihelp-query+info-example-protection": "Obtén información general y protección acerca de la página <kb>Página principal</kbd>.",
+ "apihelp-query+iwbacklinks-param-limit": "Cuántas páginas se devolverán.",
+ "apihelp-query+iwbacklinks-param-prop": "Qué propiedades se obtendrán:",
"apihelp-query+iwbacklinks-example-simple": "Obtener las páginas enlazadas a [[wikibooks:Test]]",
+ "apihelp-query+iwlinks-param-prop": "Qué propiedades adicionales obtener para cada enlace interlingüe:",
+ "apihelp-query+iwlinks-paramvalue-prop-url": "Añade el URL completo.",
+ "apihelp-query+langbacklinks-param-lang": "Idioma del enlace de idioma.",
+ "apihelp-query+langbacklinks-param-limit": "Cuántas páginas en total se devolverán.",
+ "apihelp-query+langbacklinks-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+langbacklinks-paramvalue-prop-lllang": "Agrega el código de idioma del enlace de idioma.",
+ "apihelp-query+langbacklinks-paramvalue-prop-lltitle": "Añade el título del enlace de idioma.",
"apihelp-query+langbacklinks-example-simple": "Obtener las páginas enlazadas a [[:fr:Test]]",
+ "apihelp-query+langbacklinks-example-generator": "Obtener información acerca de las páginas enlazadas a [[:fr:Test]].",
+ "apihelp-query+langlinks-param-prop": "Qué propiedades adicionales obtener para cada enlace interlingüe:",
+ "apihelp-query+langlinks-paramvalue-prop-url": "Añade el URL completo.",
+ "apihelp-query+langlinks-paramvalue-prop-autonym": "Añade el nombre del idioma nativo.",
+ "apihelp-query+langlinks-param-lang": "Devolver solo enlaces de idioma con este código de idioma.",
+ "apihelp-query+links-param-limit": "Cuántos enlaces se devolverán.",
+ "apihelp-query+linkshere-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+linkshere-paramvalue-prop-pageid": "Identificador de cada página.",
+ "apihelp-query+linkshere-paramvalue-prop-title": "Título de cada página.",
+ "apihelp-query+linkshere-paramvalue-prop-redirect": "Indicar si la página es una redirección.",
+ "apihelp-query+linkshere-param-limit": "Cuántos se devolverán.",
+ "apihelp-query+linkshere-example-simple": "Obtener una lista de páginas que enlacen a la [[Main Page]].",
"apihelp-query+linkshere-example-generator": "Obtener información acerca de las páginas enlazadas a la [[Main Page|Portada]].",
+ "apihelp-query+logevents-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+logevents-paramvalue-prop-ids": "Agrega el identificador del evento de registro.",
+ "apihelp-query+logevents-paramvalue-prop-type": "Añade el tipo del evento de registro.",
+ "apihelp-query+logevents-paramvalue-prop-parsedcomment": "Añade el comentario analizado del evento de registro.",
+ "apihelp-query+pageswithprop-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+pageswithprop-paramvalue-prop-ids": "Añade el identificador de página.",
+ "apihelp-query+pageswithprop-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
+ "apihelp-query+pageswithprop-param-limit": "El máximo número de páginas que se devolverán.",
+ "apihelp-query+pageswithprop-example-simple": "Listar las 10 primeras páginas que utilicen <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
+ "apihelp-query+pageswithprop-example-generator": "Obtener información adicional acerca de las 10 primeras páginas que utilicen <code>_&#95;NOTOC_&#95;</code>.",
+ "apihelp-query+prefixsearch-param-search": "Buscar cadena.",
+ "apihelp-query+prefixsearch-param-namespace": "Espacio de nombres que buscar.",
+ "apihelp-query+prefixsearch-param-limit": "Número máximo de resultados que devolver.",
+ "apihelp-query+prefixsearch-param-offset": "Número de resultados que omitir.",
+ "apihelp-query+prefixsearch-example-simple": "Buscar títulos de páginas que empiecen con <kbd>meaning</kbd>.",
+ "apihelp-query+protectedtitles-param-namespace": "Listar solo los títulos en estos espacios de nombres.",
+ "apihelp-query+protectedtitles-param-level": "Listar solo títulos con estos niveles de protección.",
+ "apihelp-query+protectedtitles-param-limit": "Cuántas páginas se devolverán.",
+ "apihelp-query+protectedtitles-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+protectedtitles-paramvalue-prop-user": "Agrega el usuario que agregó la protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-userid": "Agrega el identificador de usuario que agregó la protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Añade la fecha y hora de cuando se levantará la protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-level": "Agrega el nivel de protección.",
+ "apihelp-query+protectedtitles-example-simple": "Listar títulos protegidos.",
"apihelp-query+protectedtitles-example-generator": "Encuentra enlaces a títulos protegidos en el espacio de nombres principal.",
+ "apihelp-query+querypage-param-page": "El nombre de la página especial. Recuerda, es sensible a mayúsculas y minúsculas.",
+ "apihelp-query+querypage-param-limit": "Número de resultados que se devolverán.",
+ "apihelp-query+querypage-example-ancientpages": "Devolver resultados de [[Special:Ancientpages]].",
+ "apihelp-query+recentchanges-description": "Enumerar cambios recientes.",
+ "apihelp-query+recentchanges-param-start": "El sello de tiempo para comenzar la enumeración.",
+ "apihelp-query+recentchanges-param-end": "El sello de tiempo para finalizar la enumeración.",
+ "apihelp-query+recentchanges-param-user": "Listar solo los cambios de este usuario.",
+ "apihelp-query+recentchanges-param-excludeuser": "No listar cambios de este usuario.",
+ "apihelp-query+recentchanges-param-tag": "Listar solo los cambios con esta etiqueta.",
+ "apihelp-query+recentchanges-param-prop": "Incluir piezas adicionales de información:",
+ "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Añade el comentario analizado para la edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-flags": "Añade marcas para la edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Etiqueta ediciones verificables como verificadas o no verificadas.",
+ "apihelp-query+recentchanges-param-token": "Usa <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> en su lugar.",
+ "apihelp-query+recentchanges-param-limit": "Cuántos cambios en total se devolverán.",
+ "apihelp-query+recentchanges-param-type": "Cuántos tipos de cambios se mostrarán.",
"apihelp-query+recentchanges-example-simple": "Lista de cambios recientes.",
+ "apihelp-query+redirects-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+redirects-paramvalue-prop-pageid": "Identificador de página de cada redirección.",
+ "apihelp-query+redirects-paramvalue-prop-title": "Título de cada redirección.",
+ "apihelp-query+redirects-paramvalue-prop-fragment": "Fragmento de cada redirección, si los hubiere.",
+ "apihelp-query+redirects-param-limit": "Cuántas redirecciones se devolverán.",
"apihelp-query+redirects-example-simple": "Mostrar una lista de las redirecciones a la [[Main Page|Portada]]",
"apihelp-query+revisions-example-last5": "Mostrar las últimas 5 revisiones de la <kbd>Portada</kbd>.",
+ "apihelp-query+revisions+base-param-prop": "Las propiedades que se obtendrán para cada revisión:",
+ "apihelp-query+revisions+base-paramvalue-prop-ids": "El identificador de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-flags": "Marcas de revisión (menor).",
+ "apihelp-query+revisions+base-paramvalue-prop-timestamp": "La fecha y hora de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-user": "Usuario que realizó la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-userid": "Identificador de usuario del creador de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-size": "Longitud (en bytes) de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-sha1": "SHA-1 (base 16) de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "Identificador del modelo de contenido de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-comment": "Comentario del usuario para la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-content": "Texto de la revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-tags": "Etiquetas para la revisión.",
"apihelp-query+search-param-info": "Qué metadatos devolver.",
+ "apihelp-query+search-param-prop": "Qué propiedades se devolverán:",
+ "apihelp-query+search-paramvalue-prop-redirecttitle": "Añade el título de la redirección coincidente.",
+ "apihelp-query+search-paramvalue-prop-score": "<span class=\"apihelp-deprecated\">Desaconsejado e ignorado.</span>",
+ "apihelp-query+search-paramvalue-prop-hasrelated": "<span class=\"apihelp-deprecated\">Desaconsejado e ignorado.</span>",
+ "apihelp-query+search-param-limit": "Cuántas páginas en total se devolverán.",
+ "apihelp-query+search-param-interwiki": "Incluir resultados interwiki en la búsqueda, si es posible.",
+ "apihelp-query+search-example-simple": "Buscar <kbd>significado</kbd>.",
"apihelp-query+search-example-text": "Buscar <kbd>meaning</kbd> en los textos.",
+ "apihelp-query+search-example-generator": "Obtener información acerca de las páginas devueltas por una búsqueda de <kbd>meaning</kbd>.",
+ "apihelp-query+siteinfo-description": "Devolver información general acerca de la página web.",
+ "apihelp-query+siteinfo-param-prop": "Qué información se obtendrá:",
+ "apihelp-query+siteinfo-paramvalue-prop-general": "Información global del sistema.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespaces": "Lista de espacios de nombres registrados y sus nombres canónicos.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "Lista de alias registrados de espacios de nombres",
+ "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "Lista de alias de páginas especiales.",
+ "apihelp-query+siteinfo-paramvalue-prop-magicwords": "Lista de palabras mágicas y sus alias.",
+ "apihelp-query+siteinfo-paramvalue-prop-statistics": "Devuelve las estadísticas del sitio.",
+ "apihelp-query+siteinfo-paramvalue-prop-interwikimap": "Devuelve el mapa interwiki (opcionalmente filtrado, opcionalmente localizado mediante el uso de <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-dbrepllag": "Devuelve el servidor de base de datos con el retraso de replicación más grande.",
+ "apihelp-query+siteinfo-paramvalue-prop-usergroups": "Devuelve los grupos de usuarios y los permisos asociados.",
+ "apihelp-query+siteinfo-paramvalue-prop-libraries": "Devuelve las bibliotecas instaladas en el wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-extensions": "Devuelve las extensiones instaladas en el wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-fileextensions": "Devuelve una lista de extensiones de archivo permitidas para cargadarse.",
+ "apihelp-query+siteinfo-paramvalue-prop-rightsinfo": "Devuelve información de permisos (licencia) del wiki, si está disponible.",
+ "apihelp-query+siteinfo-paramvalue-prop-restrictions": "Devuelve información sobre tipos de restricciones (protección) disponible.",
+ "apihelp-query+siteinfo-paramvalue-prop-languages": "Devuelve una lista de los idiomas que admite MediaWiki (opcionalmente localizada mediante el uso de <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-skins": "Devuelve una lista de todos las apariencias habilitadas (opcionalmente localizada mediante el uso de <var>$1inlanguagecode</var>, de lo contrario en el idioma del contenido).",
+ "apihelp-query+siteinfo-paramvalue-prop-variables": "Devuelve una lista de identificadores variables.",
+ "apihelp-query+siteinfo-paramvalue-prop-protocols": "Devuelve una lista de los protocolos que se permiten en los enlaces externos.",
+ "apihelp-query+siteinfo-paramvalue-prop-defaultoptions": "Devuelve los valores predeterminados de las preferencias del usuario.",
"apihelp-query+siteinfo-example-simple": "Obtener información del sitio.",
+ "apihelp-query+stashimageinfo-description": "Devuelve información del archivo para archivos escondidos.",
+ "apihelp-query+stashimageinfo-param-sessionkey": "Alias de $1filekey, para retrocompatibilidad.",
+ "apihelp-query+stashimageinfo-example-simple": "Devuelve información para un archivo escondido.",
+ "apihelp-query+stashimageinfo-example-params": "Devuelve las miniaturas de dos archivos escondidos.",
+ "apihelp-query+tags-param-limit": "El número máximo de etiquetas para enumerar.",
+ "apihelp-query+tags-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+tags-paramvalue-prop-displayname": "Agrega el mensaje de sistema para la etiqueta.",
+ "apihelp-query+tags-paramvalue-prop-source": "Obtiene las fuentes de la etiqueta, que pueden incluir <samp>extension</samp> para etiquetas definidas por extensiones y <samp>manual</samp> para etiquetas que pueden aplicarse manualmente por los usuarios.",
+ "apihelp-query+tags-paramvalue-prop-active": "Si la etiqueta aún se sigue aplicando.",
+ "apihelp-query+templates-description": "Devuelve todas las páginas transcluídas en las páginas dadas.",
+ "apihelp-query+templates-param-limit": "Cuántas plantillas se devolverán.",
+ "apihelp-query+transcludedin-description": "Encuentra todas las páginas que transcluyan las páginas dadas.",
+ "apihelp-query+transcludedin-param-prop": "Qué propiedades se obtendrán:",
+ "apihelp-query+transcludedin-paramvalue-prop-pageid": "Identificador de cada página.",
+ "apihelp-query+transcludedin-paramvalue-prop-title": "Título de cada página.",
+ "apihelp-query+transcludedin-param-namespace": "Incluir solo las páginas en estos espacios de nombres.",
+ "apihelp-query+transcludedin-param-limit": "Cuántos se devolverán.",
+ "apihelp-query+transcludedin-example-simple": "Obtener una lista de páginas transcluyendo <kbd>Main Page</kbd>.",
+ "apihelp-query+usercontribs-param-limit": "Número máximo de contribuciones que se devolverán.",
+ "apihelp-query+usercontribs-param-prop": "Incluir piezas adicionales de información:",
+ "apihelp-query+usercontribs-paramvalue-prop-ids": "Añade el identificador de página y el de revisión.",
+ "apihelp-query+usercontribs-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
+ "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Añade fecha y hora de la edición.",
+ "apihelp-query+usercontribs-paramvalue-prop-comment": "Añade el comentario de la edición.",
+ "apihelp-query+usercontribs-paramvalue-prop-patrolled": "Etiqueta ediciones verificadas.",
+ "apihelp-query+usercontribs-paramvalue-prop-tags": "Lista las etiquetas para la edición.",
+ "apihelp-query+usercontribs-param-show": "Mostrar solo los elementos que coinciden con estos criterios. Por ejemplo, solo ediciones no menores: <kbd>$2show=!minor</kbd>.\n\nSi se establece <kbd>$2show=patrolled</kbd> o <kbd>$2show=!patrolled</kbd>, las revisiones más antiguas que <var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|segundo|segundos}}) no se mostrarán.",
"apihelp-query+usercontribs-example-user": "Mostrar contribuciones del usuario <kbd>Ejemplo</kbd>.",
"apihelp-query+usercontribs-example-ipprefix": "Mostrar las contribuciones de todas las direcciones IP con el prefijo <kbd>192.0.2.</kbd>.",
"apihelp-query+userinfo-description": "Obtener información sobre el usuario actual.",
+ "apihelp-query+userinfo-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+userinfo-paramvalue-prop-groups": "Lista todos los grupos al que pertenece el usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-rights": "Lista todos los permisos que tiene el usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-options": "Lista todas las preferencias que haya establecido el usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-editcount": "Añade el número de ediciones del usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-ratelimits": "Lista todos los límites de velocidad aplicados al usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-realname": "Añade el nombre real del usuario.",
+ "apihelp-query+userinfo-paramvalue-prop-registrationdate": "Añade la fecha de registro del usuario.",
+ "apihelp-query+userinfo-example-simple": "Obtener información sobre el usuario actual.",
+ "apihelp-query+userinfo-example-data": "Obtener información adicional sobre el usuario actual.",
+ "apihelp-query+users-description": "Obtener información sobre una lista de usuarios.",
+ "apihelp-query+users-param-prop": "Qué piezas de información incluir:",
+ "apihelp-query+users-paramvalue-prop-blockinfo": "Etiqueta si el usuario está bloqueado, por quién y por qué razón.",
+ "apihelp-query+users-paramvalue-prop-groups": "Lista todos los grupos a los que pertenece cada usuario.",
+ "apihelp-query+users-paramvalue-prop-editcount": "Añade el número de ediciones del usuario.",
+ "apihelp-query+users-paramvalue-prop-gender": "Etiqueta el género del usuario. Devuelve \"masculino\", \"femenino\" o \"desconocido\".",
+ "apihelp-query+users-example-simple": "Devolver información del usuario <kbd>Ejemplo</kbd>.",
+ "apihelp-query+watchlist-param-start": "El sello de tiempo para comenzar la enumeración",
+ "apihelp-query+watchlist-param-end": "El sello de tiempo para finalizar la enumeración.",
"apihelp-query+watchlist-param-excludeuser": "No listar cambios de este usuario.",
+ "apihelp-query+watchlist-param-prop": "Qué propiedades adicionales se obtendrán:",
+ "apihelp-query+watchlist-paramvalue-prop-ids": "Añade identificadores de revisiones y de páginas.",
+ "apihelp-query+watchlist-paramvalue-prop-title": "Añade el título de la página.",
+ "apihelp-query+watchlist-paramvalue-prop-flags": "Añade marcas para la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-user": "Añade el usuario que hizo la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-userid": "Añade el identificador de usuario de quien hizo la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-comment": "Añade el comentario de la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-timestamp": "Añade fecha y hora de la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Etiqueta las ediciones que están verificadas.",
+ "apihelp-query+watchlist-paramvalue-prop-sizes": "Añade la longitud vieja y la nueva de la página.",
+ "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Añade fecha y hora de cuando el usuario fue notificado por última vez acerca de la edición.",
+ "apihelp-query+watchlist-paramvalue-prop-loginfo": "Añade información del registro cuando corresponda.",
+ "apihelp-query+watchlist-param-type": "Qué tipos de cambios mostrar:\n;edit:ediciones comunes a páginas.\n;external:cambios externos.\n;new:creaciones de páginas.\n;log:entradas del registro.",
+ "apihelp-query+watchlistraw-param-prop": "Qué propiedades adicionales se obtendrán:",
"apihelp-query+watchlistraw-param-show": "Sólo listar los elementos que cumplen estos criterios.",
+ "apihelp-query+watchlistraw-param-fromtitle": "Título (con el prefijo de espacio de nombres) desde el que se empezará a enumerar.",
+ "apihelp-query+watchlistraw-param-totitle": "Título (con el prefijo de espacio de nombres) desde el que se dejará de enumerar.",
"apihelp-query+watchlistraw-example-simple": "Listar las páginas de la lista de seguimiento del usuario actual.",
+ "apihelp-revisiondelete-description": "Eliminar y restaurar revisiones",
+ "apihelp-revisiondelete-param-hide": "Qué ocultar en cada revisión.",
+ "apihelp-revisiondelete-param-show": "Qué mostrar en cada revisión.",
+ "apihelp-revisiondelete-param-reason": "Motivo de la eliminación o restauración.",
+ "apihelp-rollback-param-summary": "Resumen de edición personalizado. Si se deja vacío se utilizará el predeterminado.",
+ "apihelp-tag-param-logid": "Uno o más identificadores de entradas del registro a los que agregar o eliminar la etiqueta.",
+ "apihelp-tag-param-reason": "Motivo del cambio.",
+ "apihelp-tag-example-rev": "Añadir la etiqueta <kbd>vandalism</kbd> al identificador de revisión 123 sin especificar un motivo",
+ "apihelp-tag-example-log": "Eliminar la etiqueta <kbd>spam</kbd> de la entrada del registro con identificador 123 con el motivo <kbd>aplicada incorrectamente</kbd>",
+ "apihelp-unblock-description": "Desbloquear un usuario.",
+ "apihelp-unblock-param-reason": "Motivo del desbloqueo.",
"apihelp-unblock-example-user": "Desbloquear al usuario <kbd>Bob</kbd> con el motivo <kbd>Lo siento, Bob</kbd>",
+ "apihelp-undelete-param-reason": "Motivo de la restauración.",
"apihelp-undelete-example-revisions": "Restaurar dos revisiones de la página <kbd>Portada</kbd>.",
"apihelp-upload-param-watch": "Vigilar la página.",
"apihelp-upload-param-ignorewarnings": "Ignorar las advertencias.",
"apihelp-upload-example-url": "Subir desde una URL.",
"apihelp-userrights-param-user": "Nombre de usuario.",
+ "apihelp-userrights-param-userid": "ID de usuario.",
"apihelp-userrights-param-add": "Agregar el usuario a estos grupos.",
"apihelp-userrights-param-remove": "Eliminar el usuario de estos grupos.",
"apihelp-userrights-param-reason": "Motivo del cambio.",
"apihelp-userrights-example-user": "Agregar al usuario <kbd>FooBot</kbd> al grupo <kbd>bot</kbd> y eliminarlo de los grupos <kbd>sysop</kbd> y <kbd>burócrata</kbd>.",
"apihelp-watch-example-watch": "Vigilar la página <kbd>Portada</kbd>.",
"apihelp-watch-example-unwatch": "Dejar de vigilar la <kbd>Portada</kbd>.",
+ "apihelp-format-example-generic": "Devolver el resultado de la consulta en formato $1.",
"api-help-main-header": "Módulo principal",
"api-help-flag-deprecated": "Este módulo está en desuso.",
"api-help-flag-readrights": "Este módulo requiere permisos de lectura.",
"api-help-flag-writerights": "Este módulo requiere permisos de escritura.",
"api-help-flag-mustbeposted": "Este módulo solo acepta solicitudes POST.",
"api-help-flag-generator": "Este módulo puede utilizarse como un generador.",
+ "api-help-source": "Fuente: $1",
+ "api-help-source-unknown": "Fuente: <span class=\"apihelp-unknown\">desconocida</span>",
+ "api-help-license": "Licencia: [[$1|$2]]",
+ "api-help-license-noname": "Licencia: [[$1|Ver enlace]]",
+ "api-help-license-unknown": "Licencia: <span class=\"apihelp-unknown\">desconocida</span>",
"api-help-parameters": "{{PLURAL:$1|Parámetro|Parámetros}}:",
"api-help-param-deprecated": "En desuso.",
"api-help-param-required": "Este parámetro es obligatorio.",
- "api-help-param-list": "{{PLURAL:$1|1=Un valor|2=Valores (separados por <kbd>{{!}}</kbd>)}}: $2",
+ "api-help-datatypes-header": "Tipos de datos",
+ "api-help-datatypes": "Algunos tipos de parámetros en las solicitudes de API necesita más explicación:\n;booleano\n:Los parámetros booleanos trabajo como casillas de verificación HTML: si el parámetro se especifica, independientemente de su valor, se considera verdadero. Para un valor false, se omite el parámetro completo.\n;marca de tiempo\n:Las marcas de tiempo se puede especificar en varios formatos. ISO 8601 con la fecha y la hora, se recomienda. Todas las horas están en UTC, la inclusión de la zona horaria es ignorada.\n:* ISO 8601 con fecha y hora, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (signos de puntuación y <kbd>Z</kbd> son opcionales)\n:* ISO 8601 fecha y hora (se omite) fracciones de segundo, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (guiones, dos puntos y, <kbd>Z</kbd> son opcionales)\n:* Formato MediaWiki, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Formato numérico genérico, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (opcional en la zona horaria <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, o <kbd>-<var>##</var></kbd> se omite)\n:* Formato EXIF, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:*Formato RFC 2822 (zona horaria se puede omitir), <kbd><var>Mon</var>, <var>15</var> <var>Ene</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formato RFC 850 (zona horaria se puede omitir), <kbd><var>lunes</var>, <var>15</var>-<var>enero</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formato C ctime, <kbd><var>lunes</var> <var>enero</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>de 2001</var></kbd>\n:* Segundos desde 1970-01-01T00:00:00Z como de 1 a 13, dígito entero",
+ "api-help-param-type-limit": "Tipo: entero o <kbd>max</kbd>",
+ "api-help-param-type-integer": "Tipo: {{PLURAL:$1|1=entero|2=lista de enteros}}",
+ "api-help-param-type-boolean": "Tipo: booleano/lógico ([[Special:ApiHelp/main#main/datatypes|detalles]])",
+ "api-help-param-type-timestamp": "Tipo: {{PLURAL:$1|1=timestamp|2=lista de timestamps}} ([[Special:ApiHelp/main#main/datatypes|formatos permitidos]])",
+ "api-help-param-type-user": "Tipo: {{PLURAL:$1|1=nombre de usuario|2=lista de nombres de usuarios}}",
+ "api-help-param-list": "{{PLURAL:$1|1=Uno de los siguientes valores|2=Valores (separados por <kbd>{{!}}</kbd>)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Debe estar vacío|Puede estar vacío, o $2}}",
+ "api-help-param-limit": "No se permite más de $1.",
+ "api-help-param-limit2": "No se permite más de $1 ($2 para los bots).",
+ "api-help-param-integer-min": "{{PLURAL:$1|1=El valor no debe ser menor|2=Los valores no deben ser menores}} a $2.",
+ "api-help-param-integer-max": "{{PLURAL:$1|1=El valor no debe ser mayor|2=Los valores no deben ser mayores}} a $3.",
+ "api-help-param-integer-minmax": "{{PLURAL:$1|1=El valor debe|2=Los valores deben}} estar entre $2 y $3.",
"api-help-param-multi-separate": "Separar los valores con <kbd>|</kbd>.",
+ "api-help-param-multi-max": "El número máximo de los valores es {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} para los bots).",
"api-help-param-default": "Predeterminado: $1",
"api-help-param-default-empty": "Predeterminado: <span class=\"apihelp-empty\">(vacío)</span>",
+ "api-help-param-continue": "Cuando haya más resultados disponibles, utiliza esto para continuar.",
"api-help-param-no-description": "<span class=\"apihelp-empty\">(sin descripción)</span>",
"api-help-examples": "{{PLURAL:$1|Ejemplo|Ejemplos}}:",
"api-help-permissions": "{{PLURAL:$1|Permiso|Permisos}}:",
"api-help-permissions-granted-to": "{{PLURAL:$1|Concedido a|Concedidos a}}: $2",
"api-credits-header": "Créditos",
- "api-credits": "Desarrolladores de la API:\n* Roan Kattouw (desarrollador principal sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creador, desarrollador principal sep 2006–sep 2007)\n* Brad Jorsch (desarrollador principal 2013–actualidad)\n\nEnvía comentarios, sugerencias y preguntas a mediawiki-api@lists.wikimedia.org\no reporta un error en https://phabricator.wikimedia.org/."
+ "api-credits": "Desarrolladores de la API:\n* Roan Kattouw (desarrollador principal, sep. 2007-2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creador y desarrollador principal, sep. 2006-sep. 2007)\n* Brad Jorsch (desarrollador principal, 2013-actualidad)\n\nEnvía comentarios, sugerencias y preguntas a mediawiki-api@lists.wikimedia.org\no informa de un error en https://phabricator.wikimedia.org/."
}
diff --git a/includes/api/i18n/et.json b/includes/api/i18n/et.json
new file mode 100644
index 00000000..15ddb3af
--- /dev/null
+++ b/includes/api/i18n/et.json
@@ -0,0 +1,42 @@
+{
+ "@metadata": {
+ "authors": [
+ "Pikne"
+ ]
+ },
+ "apihelp-query+imageinfo-description": "Tagastab failiteabe ja üleslaadimisajaloo.",
+ "apihelp-query+imageinfo-param-prop": "Millist teavet faili kohta hankida:",
+ "apihelp-query+imageinfo-paramvalue-prop-timestamp": "Lisab üles laaditud versiooni ajatempli.",
+ "apihelp-query+imageinfo-paramvalue-prop-user": "Lisab kasutaja, kes iga failiversiooni üles laadis.",
+ "apihelp-query+imageinfo-paramvalue-prop-userid": "Lisab iga failiversiooni üles laadinud kasutaja identifikaatori.",
+ "apihelp-query+imageinfo-paramvalue-prop-comment": "Versioonikommentaar.",
+ "apihelp-query+imageinfo-paramvalue-prop-parsedcomment": "Parsib versioonikommentaari.",
+ "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle": "Lisab faili kanoonilise pealkirja.",
+ "apihelp-query+imageinfo-paramvalue-prop-url": "Tagastab faili ja kirjelduslehekülje internetiaadressi.",
+ "apihelp-query+imageinfo-paramvalue-prop-size": "Lisab faili suuruse baitides, kõrguse ja laiuse ning lehekülgede arvu, kui see on kohane.",
+ "apihelp-query+imageinfo-paramvalue-prop-dimensions": "Elemendi \"size\" rööpnimi.",
+ "apihelp-query+imageinfo-paramvalue-prop-sha1": "Lisab faili SHA-1 räsiväärtuse.",
+ "apihelp-query+imageinfo-paramvalue-prop-mime": "Lisab faili MIME tüübi.",
+ "apihelp-query+imageinfo-paramvalue-prop-thumbmime": "Lisab faili pisipildi MIME tüübi (vaja elementi \"url\" ja parameetrit \"$1urlwidth\").",
+ "apihelp-query+imageinfo-paramvalue-prop-mediatype": "Lisab faili meediatüübi.",
+ "apihelp-query+imageinfo-paramvalue-prop-metadata": "Loetleb failiversiooni Exif-metaandmed.",
+ "apihelp-query+imageinfo-paramvalue-prop-commonmetadata": "Loetleb failiversiooni vormingu üldised metaandmed.",
+ "apihelp-query+imageinfo-paramvalue-prop-extmetadata": "Loetleb mitme allika vormindatud ühendmetaandmed. Tulemused on HTML-vormingus.",
+ "apihelp-query+imageinfo-paramvalue-prop-archivename": "Lisab praegusest versioonist vanemate arhiiviversioonide failinimed.",
+ "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "Lisab versiooni bitisügavuse.",
+ "apihelp-query+imageinfo-paramvalue-prop-uploadwarning": "Kasutab lehekülg Special:Upload, et saada teavet olemasoleva faili kohta. Pole mõeldud kasutamiseks väljaspool MediaWiki keskosa.",
+ "apihelp-query+imageinfo-param-limit": "Kui palju redaktsioone faili kohta tagastada.",
+ "apihelp-query+imageinfo-param-start": "Ajatempel, millest loetlemist alustada.",
+ "apihelp-query+imageinfo-param-end": "Ajatempel, mille juures loetlemine lõpetada.",
+ "apihelp-query+imageinfo-param-urlwidth": "Kui $2prop=url on määratud, tagastatakse selle laiusega mastaabitud pildi internetiaadress.\nKui seda valikut kasutatakse, siis ei tagastata jõudluskaalutlusel rohkem kui $1 mastaabitud pilti.",
+ "apihelp-query+imageinfo-param-urlheight": "Analoogne parameetriga \"$1urlwidth\".",
+ "apihelp-query+imageinfo-param-metadataversion": "Kasutatavate metaandmete versioon. Kui määratud on <kbd>latest</kbd>, kasutatakse viimast versiooni. Vaikeväärtus on tagasiühilduvuse huvides <kbd>1</kbd>.",
+ "apihelp-query+imageinfo-param-extmetadatalanguage": "Millises keeles metaandmed välja võtta. Sellest oleneb väljavõtte tõlge, juhul kui saadaval on mitu tõlget, ning samuti numbrite ja muude väärtuste vorming.",
+ "apihelp-query+imageinfo-param-extmetadatamultilang": "Kui atribuudi \"extmetadata\" tõlked on saadaval, siis kasuta neid kõiki.",
+ "apihelp-query+imageinfo-param-extmetadatafilter": "Kui määratud ja mittetühi, tagastatakse atribuudi $1prop=extmetadata jaoks ainult need võtmed.",
+ "apihelp-query+imageinfo-param-urlparam": "Töötlusele omane parameetriväärtus. Näiteks PDF-i jaoks võib see olla <kbd>page15-100px</kbd>. Kasutatud peab olema atribuuti <var>$1urlwidth</var> ja see peab olema kooskõlas parameetriga <var>$1urlparam</var>.",
+ "apihelp-query+imageinfo-param-localonly": "Kaasa päringusse ainult kohaliku hoidla failid.",
+ "apihelp-query+imageinfo-example-simple": "Faili [[:File:Albert Einstein Head.jpg|Albert Einstein Head.jpg]] praeguse versiooni teabe väljavõtt.",
+ "apihelp-query+imageinfo-example-dated": "Faili [[:File:Test.jpg|Test.jpg]] teabe väljavõtt alates 2008. aasta versioonidest.",
+ "api-help-param-continue": "Kui saadaval on rohkem tulemusi, kasuta seda jätkamiseks."
+}
diff --git a/includes/api/i18n/eu.json b/includes/api/i18n/eu.json
index 574bd2fe..b6a64dd9 100644
--- a/includes/api/i18n/eu.json
+++ b/includes/api/i18n/eu.json
@@ -1,17 +1,21 @@
{
"@metadata": {
"authors": [
- "Subi"
+ "Subi",
+ "Sator"
]
},
"apihelp-block-description": "Blokeatu erabiltzaile bat.",
+ "apihelp-block-param-reason": "Blokeatzeko arrazoia.",
"apihelp-createaccount-description": "Erabiltzaile kontu berria sortu.",
+ "apihelp-createaccount-param-name": "Erabiltzaile izena.",
"apihelp-createaccount-param-email": "Erabiltzailearen helbide elektronikoa (aukerakoa).",
"apihelp-createaccount-param-realname": "Erabiltzailearen benetako izena (aukerakoa).",
"apihelp-delete-description": "Orrialde bat ezabatu.",
"apihelp-edit-description": "Orrialdeak sortu eta aldatu.",
"apihelp-edit-param-minor": "Aldaketa txikia.",
"apihelp-edit-example-edit": "Orrialde bat aldatu",
+ "apihelp-emailuser-description": "Erabiltzaileari e-maila bidali",
"apihelp-expandtemplates-param-title": "Orrialdearen izenburua.",
"apihelp-feedcontributions-param-year": "Urtetik aurrera (eta lehenagotik)",
"apihelp-feedcontributions-param-month": "Hilabetetik aurrera (eta lehenagotik)",
@@ -24,16 +28,21 @@
"apihelp-feedrecentchanges-param-tagfilter": "Iragazi etiketen arabera.",
"apihelp-feedrecentchanges-example-simple": "Erakutsi aldaketa berriak",
"apihelp-feedrecentchanges-example-30days": "Erakutsi aldaketa berriak 30 egunez",
+ "apihelp-filerevert-param-comment": "Iruzkina igo.",
"apihelp-imagerotate-description": "Irudi bat edo gehiago biratu.",
+ "apihelp-login-param-name": "Erabiltzaile izena.",
"apihelp-login-param-password": "Pasahitza.",
"apihelp-login-param-domain": "Domeinua (hautazkoa).",
"apihelp-login-example-login": "Saioa hasi",
"apihelp-move-description": "Orrialde bat mugitu",
+ "apihelp-move-param-reason": "Berrizenpenaren arrazoia.",
+ "apihelp-options-example-reset": "Berrezarri hobespen guztiak.",
"apihelp-protect-example-protect": "Orrialde bat babestu",
"apihelp-query+allusers-param-witheditsonly": "Bakarrik zerrendatu aldaketak egin dituzten erabiltzaileak.",
"apihelp-query+allusers-param-activeusers": "Bakarrik zerrendatu azken {{PLURAL:$1|eguneko|$1 egunetako}} erabiltzaile aktiboak.",
"apihelp-query+imageinfo-param-urlheight": "$1urlwidth-en antzekoa.",
"apihelp-query+imageusage-example-simple": "Erakutsi [[:File:Albert Einstein Head.jpg]] darabilten orriak",
+ "apihelp-query+langlinks-param-inlanguagecode": "Hizkuntza izenak aurkitzeko hizkuntza kodea.",
"apihelp-query+prefixsearch-param-search": "Bilatu katea.",
"apihelp-query+protectedtitles-example-simple": "Zerrendatu babestutako izenburuak",
"apihelp-query+recentchanges-example-simple": "Zerrendatu aldaketa berriak.",
diff --git a/includes/api/i18n/fa.json b/includes/api/i18n/fa.json
index d792fd6e..291ebdbf 100644
--- a/includes/api/i18n/fa.json
+++ b/includes/api/i18n/fa.json
@@ -8,7 +8,8 @@
"KhabarNegar",
"Sahehco",
"Signal89",
- "Mjbmr"
+ "Mjbmr",
+ "Ebraminio"
]
},
"apihelp-main-param-action": "کدام عملیات را انجام دهد.",
@@ -17,7 +18,7 @@
"apihelp-block-description": "بستن کاربر",
"apihelp-block-param-user": "نام کاربری، آدرس آی پی یا محدوده آی پی موردنظر شما برای بستن.",
"apihelp-block-param-reason": "دلیل بسته‌شدن",
- "apihelp-block-param-anononly": "فقط بستن کاربران ناشناس (مانند غیرفعال‌کردن ویرایش‌های ناشناس این آی‌پی).",
+ "apihelp-block-param-anononly": "فقط بستن کاربران ناشناس (مانند غیرفعال کردن ویرایش‌های ناشناس این آی‌پی).",
"apihelp-block-param-nocreate": "جلوگیری از ایجاد حساب.",
"apihelp-block-param-autoblock": "به طور خودکار آخرین نشانی آی‌پی استفاده‌شده، و هر نشانی پس از آن که سعی می‌کند از آن داخل شود را ببند.",
"apihelp-block-param-noemail": "از کاربر در برابر ارسال ایمیل از طریق ویکی جلوگیری شود. (نیازمند دسترسی <code>blockemail</code> است).",
@@ -40,7 +41,7 @@
"apihelp-createaccount-param-name": "نام کاربری.",
"apihelp-createaccount-param-password": "رمز عبور (نادیده گرفته می‌شود اگر <var>$1mailpassword</var> تنظیم شده‌باشد).",
"apihelp-createaccount-param-domain": "دامنه برای احراز هویت خارجی (اختیاری).",
- "apihelp-createaccount-param-email": "آدرس ایمیل کاربر (اختیاری)",
+ "apihelp-createaccount-param-email": "نشانی ایمیل کاربر (اختیاری)",
"apihelp-createaccount-param-realname": "نام واقعی کاربر (اختیاری).",
"apihelp-createaccount-param-mailpassword": "اگر به هر مقداری تنظیم شود، یک رمز عبور تصادفی به کاربر ایمیل خواهد شد.",
"apihelp-createaccount-param-reason": "دلیل اختیاری برای ایجاد حساب کاربری جهت قرارگرفتن در سیاهه‌ها.",
diff --git a/includes/api/i18n/fi.json b/includes/api/i18n/fi.json
index b1a7e8c4..ac466375 100644
--- a/includes/api/i18n/fi.json
+++ b/includes/api/i18n/fi.json
@@ -2,9 +2,15 @@
"@metadata": {
"authors": [
"Nike",
- "MrTapsa"
+ "MrTapsa",
+ "Pitke",
+ "Stryn"
]
},
+ "apihelp-block-description": "Estä käyttäjä.",
+ "apihelp-block-param-reason": "Eston syy.",
+ "apihelp-emailuser-example-email": "Lähetä käyttäjälle <kbd>WikiSysop</kbd> sähköposti, jossa lukee <kbd>Content</kbd>.",
"apihelp-query+linkshere-param-show": "Näytä vain kohteet, jotka täyttävät nämä kriteerit:\n;redirect:Näytä vain uudelleenohjaukset.\n;!redirect:Näytä vain ei-uudelleenohjaukset",
+ "apihelp-tag-example-rev": "Lisää tunniste <kbd>vandalism</kbd> versioon 123 antamatta perustelua.",
"apihelp-upload-param-stash": "Mikäli valittu, palvelin säilöö tiedoston väliaikaisesti tallentamisen sijaan."
}
diff --git a/includes/api/i18n/fo.json b/includes/api/i18n/fo.json
new file mode 100644
index 00000000..55229048
--- /dev/null
+++ b/includes/api/i18n/fo.json
@@ -0,0 +1,39 @@
+{
+ "@metadata": {
+ "authors": [
+ "EileenSanda"
+ ]
+ },
+ "apihelp-block-description": "Sperra ein brúkara.",
+ "apihelp-block-param-user": "Brúkaranavn, IP adressa ella IP interval ið tú ynskir at sperra.",
+ "apihelp-block-param-expiry": "Lokadagur. Kann vera relativt (t.d. <kbd>5 months</kbd> ella <kbd>2 weeks</kbd>) ella absolutt (t.d. <kbd>2014-09-18T12:34:56Z</kbd>). Um ásett til <kbd>infinite</kbd>, <kbd>indefinite</kbd>, ella <kbd>never</kbd>, so gongur sperringin aldri út.",
+ "apihelp-block-param-reason": "Orsøk til sperring.",
+ "apihelp-block-param-anononly": "Sperra bara dulnevndir brúkarar (t.d. ger rættingar frá dulnendum óvirknar fyri hesa IP adressuna).",
+ "apihelp-block-param-nocreate": "Forða fyri upprættan av konto.",
+ "apihelp-block-param-autoblock": "Sperrað sjálvvirkandi tað seinastu IP adressuna og allar fylgjandi IP adressur, sum viðkomandi roynir at rætta/skriva frá.",
+ "apihelp-block-param-noemail": "Forða brúkaranum í at senda teldupost gjøgnum wikiina. (Krevur <code>blockemail</code> rættindini).",
+ "apihelp-block-param-hidename": "Fjal brúkaranavnið frá sperringarlogginum. (Krevur <code>hideuser</code> rættindi).",
+ "apihelp-block-param-allowusertalk": "Loyv brúkaranum at skriva á sína egnu síðu (avhongur av <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
+ "apihelp-block-param-reblock": "Um brúkarin longu er sperraður, yvirskriva so tað verandi sperringina.",
+ "apihelp-block-example-ip-simple": "Sperra IP adressuna <kbd>192.0.2.5</kbd> í tríggjar dagar við orsøkini <kbd>First strike</kbd>.",
+ "apihelp-block-example-user-complex": "Sperra brúkara <kbd>Vandal</kbd> í óvissa tíð við orsøkini <kbd>Vandalism</kbd>, og forða fyri upprættan av nýggjum kontum og at senda teldupost.",
+ "apihelp-createaccount-description": "Upprætta eina nýggja brúkarakonto.",
+ "apihelp-createaccount-param-name": "Brúkaranavn.",
+ "apihelp-createaccount-param-password": "Loyniorð (síggj burtur frá <var>$1mailpassword</var> um er upplýst).",
+ "apihelp-createaccount-param-email": "Teldupostadressan hjá brúkaranum (valfrítt).",
+ "apihelp-createaccount-param-realname": "Veruliga navnið hjá brúkaranum (valfrítt).",
+ "apihelp-createaccount-example-pass": "Upprætta brúkara <kbd>testuser</kbd> við loyniorðinum <kbd>test123</kbd>.",
+ "apihelp-createaccount-example-mail": "Upprætta brúkaran <kbd>testmailuser</kbd> og send eitt tilvildarliga stovnað loyniorð við telduposti.",
+ "apihelp-delete-description": "Strika eina síðu.",
+ "apihelp-edit-example-edit": "Rætta eina síðu.",
+ "apihelp-emailuser-description": "Send t-post til ein brúkara.",
+ "apihelp-emailuser-param-subject": "Evni teigur.",
+ "apihelp-emailuser-param-text": "Innihaldið í teldubrævinum.",
+ "apihelp-emailuser-param-ccme": "Send mær eitt avrit av hesum telduposti.",
+ "apihelp-emailuser-example-email": "Send ein teldupost til brúkaran <kbd>WikiSysop</kbd> við tekstinum <kbd>Content</kbd>.",
+ "apihelp-expandtemplates-description": "Víðkar allar fyrimyndir í wikitekstinum.",
+ "apihelp-expandtemplates-param-title": "Heiti á síðuni.",
+ "apihelp-login-param-name": "Brúkaranavn.",
+ "apihelp-login-param-password": "Loyniorð.",
+ "apihelp-move-description": "Flyt eina síðu."
+}
diff --git a/includes/api/i18n/fr.json b/includes/api/i18n/fr.json
index 114e36c2..7e3c65cb 100644
--- a/includes/api/i18n/fr.json
+++ b/includes/api/i18n/fr.json
@@ -11,15 +11,25 @@
"Nicolapps",
"Raulel",
"Arkanosis",
- "Ltrlg"
+ "Ltrlg",
+ "Crochet.david",
+ "0x010C",
+ "Lucky",
+ "Freak2fast4u",
+ "Urhixidur",
+ "Wladek92",
+ "Ash Crow",
+ "L",
+ "Umherirrender",
+ "Elfix"
]
},
"apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentation]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Liste de diffusion]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Annonces de l’API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bogues et demandes]\n</div>\n<strong>État :</strong> Toutes les fonctionnalités affichées sur cette page devraient fonctionner, mais l’API est encore en cours de développement et peut changer à tout moment. Inscrivez-vous à [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la liste de diffusion mediawiki-api-announce] pour être informé des mises à jour.\n\n<strong>Requêtes erronées :</strong> Si des requêtes erronées sont envoyées à l’API, un en-tête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet en-tête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez [[mw:API:Errors_and_warnings|API: Errors and warnings]].",
"apihelp-main-param-action": "Quelle action effectuer.",
"apihelp-main-param-format": "Le format de sortie.",
"apihelp-main-param-maxlag": "La latence maximale peut être utilisée quand MédiaWiki est installé sur un cluster de base de données répliqué. Pour éviter des actions provoquant un supplément de latence de réplication de site, ce paramètre peut faire attendre le client jusqu’à ce que la latence de réplication soit inférieure à une valeur spécifiée. En cas de latence excessive, le code d’erreur <samp>maxlag</samp> est renvoyé avec un message tel que <samp>Attente de $host : $lag secondes de délai</samp>.<br />Voyez [[mw:Manual:Maxlag_parameter|Manuel: Maxlag parameter]] pour plus d’information.",
- "apihelp-main-param-smaxage": "Fixer l’entête <code>s-maxage</code> à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.",
- "apihelp-main-param-maxage": "Fixer l’entête <code>max-age</code> à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.",
+ "apihelp-main-param-smaxage": "Fixer l’entête HTTP de contrôle de cache <code>s-maxage</code> à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.",
+ "apihelp-main-param-maxage": "Fixer l’entête HTTP de contrôle de cache <code>max-age</code> à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.",
"apihelp-main-param-assert": "Vérifier si l’utilisateur est connecté si positionné à <kbd>user</kbd>, ou a le droit utilisateur robot si positionné à <kbd>bot</kbd>.",
"apihelp-main-param-requestid": "Toute valeur fournie ici sera incluse dans la réponse. Peut être utilisé pour distinguer des demandes.",
"apihelp-main-param-servedby": "Inclure le nom d’hôte qui a renvoyé la requête dans les résultats.",
@@ -85,6 +95,7 @@
"apihelp-edit-param-sectiontitle": "Le titre pour une nouvelle section.",
"apihelp-edit-param-text": "Contenu de la page.",
"apihelp-edit-param-summary": "Modifier le résumé. Également le titre de la section quand $1section=new et $1sectiontitle n’est pas défini.",
+ "apihelp-edit-param-tags": "Modifier les balises à appliquer à la révision.",
"apihelp-edit-param-minor": "Modification mineure.",
"apihelp-edit-param-notminor": "Modification non mineure.",
"apihelp-edit-param-bot": "Marquer cette modification comme robot.",
@@ -118,7 +129,16 @@
"apihelp-expandtemplates-param-title": "Titre de la page.",
"apihelp-expandtemplates-param-text": "Wikitexte à convertir.",
"apihelp-expandtemplates-param-revid": "ID de révision, pour <nowiki>{{REVISIONID}}</nowiki> et les variables semblables.",
- "apihelp-expandtemplates-param-prop": "Quelles informations récupérer :\n;wikitext:Le wikitexte développé.\n;categories:Toutes les catégories présentes dans l’entrée qui ne sont pas représentées dans le wikitexte de sortie.\n;properties:Propriétés de page définies en développant les mots magiques dans le wikitexte.\n;volatile:Si la sortie est volatile et ne devrait pas être réutilisée ailleurs dans la page.\n;ttl:Le délai maximal après lequel les caches du résultat devraient être invalidés.\n;parsetree:L’arbre d’analyse XML de l’entrée.\nNoter que si aucune valeur n’est sélectionnée, le résultat contiendra le wikitexte, mais la sortie sera dans un format obsolète.",
+ "apihelp-expandtemplates-param-prop": "Quelles informations récupérer.\n\nNoter que si aucune valeur n’est sélectionnée, le résultat contiendra le wikitexte, mais la sortie sera dans un format obsolète.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "Le wikitexte développé",
+ "apihelp-expandtemplates-paramvalue-prop-categories": "Toutes les catégories présentes dans l’entrée qui ne sont pas représentées dans la sortie du wikitexte.",
+ "apihelp-expandtemplates-paramvalue-prop-properties": "Propriétés de la page définies par le développement des mots magiques dans le wikitexte.",
+ "apihelp-expandtemplates-paramvalue-prop-volatile": "Si la sortie est volatile et ne devrait pas être réutilisée ailleurs dans la page.",
+ "apihelp-expandtemplates-paramvalue-prop-ttl": "Le délai maximum après lequel la mise en cache de ce résultat doit être invalidée.",
+ "apihelp-expandtemplates-paramvalue-prop-modules": "Tous les modules ResourceLoader que les fonctions d’analyse ont demandé d’ajouter à la sortie. Soit <kbd>jsconfigvars</kbd> soit <kbd>encodedjsconfigvars</kbd> doit être demandé avec <kbd>modules</kbd>.",
+ "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Donne les variables de configuration JavaScript spécifiques à la page.",
+ "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Donne les variables de configuration JavaScript spécifiques à la page sous forme de chaîne JSON.",
+ "apihelp-expandtemplates-paramvalue-prop-parsetree": "L’arbre d’analyse XML de l’entrée.",
"apihelp-expandtemplates-param-includecomments": "S’il faut inclure les commentaires HTML dans la sortie.",
"apihelp-expandtemplates-param-generatexml": "Générer l’arbre d’analyse XML (remplacé par $1prop=parsetree).",
"apihelp-expandtemplates-example-simple": "Développe le wikitexte <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
@@ -179,16 +199,16 @@
"apihelp-imagerotate-param-rotation": "Degrés de rotation de l’image dans le sens des aiguilles d’une montre.",
"apihelp-imagerotate-example-simple": "Faire pivoter <kbd>File:Example.png</kbd> de <kbd>90</kbd> degrés.",
"apihelp-imagerotate-example-generator": "Faire pivoter toutes les images de <kbd>Category:Flip</kbd> de <kbd>180</kbd> degrés.",
- "apihelp-import-description": "Importer une page depuis un autre wiki, ou un fichier XML.\n\nNoter que le POST HTTP doit être effectué comme un import de fichier (c’est-à-dire en utilisant multipart/form-data) lors de l’envoi d’un fichier pour le paramètre <var>xml</var>.",
+ "apihelp-import-description": "Importer une page depuis un autre wiki, ou depuis un fichier XML.\n\nNoter que le POST HTTP doit être effectué comme un import de fichier (c’est-à-dire en utilisant multipart/form-data) lors de l’envoi d’un fichier pour le paramètre <var>xml</var>.",
"apihelp-import-param-summary": "Importer le résumé.",
"apihelp-import-param-xml": "Fichier XML téléchargé.",
"apihelp-import-param-interwikisource": "Pour les importations interwiki : wiki depuis lequel importer.",
"apihelp-import-param-interwikipage": "Pour les importations interwiki : page à importer.",
"apihelp-import-param-fullhistory": "Pour les importations interwiki : importer tout l’historique, et pas seulement la version courante.",
"apihelp-import-param-templates": "Pour les importations interwiki : importer aussi tous les modèles inclus.",
- "apihelp-import-param-namespace": "Pour les importations interwiki : importer vers cet espace de noms.",
- "apihelp-import-param-rootpage": "Importer comme une sous-page de cette page.",
- "apihelp-import-example-import": "Importer [[meta:Help:Parserfunctions]] vers l’espace de noms 100 avec tout l’historique.",
+ "apihelp-import-param-namespace": "Importer vers cet espace de noms. Impossible à utiliser avec <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "Importer comme une sous-page de cette page. Impossible à utiliser avec <var>$1namespace</var>.",
+ "apihelp-import-example-import": "Importer [[meta:Help:ParserFunctions]] vers l’espace de noms 100 avec tout l’historique.",
"apihelp-login-description": "Se connecter et obtenir les cookies d’authentification.\n\nDans le cas d’une connexion réussie, les cookies nécessaires seront inclus dans les entêtes de la réponse HTTP. Dans le cas d’une connexion en échec, les essais ultérieurs pourront être réduits afin de limiter les attaques automatisées de découverte du mot de passe.",
"apihelp-login-param-name": "Nom d’utilisateur.",
"apihelp-login-param-password": "Mot de passe.",
@@ -204,7 +224,7 @@
"apihelp-managetags-param-reason": "Un motif facultatif pour créer, supprimer, activer ou désactiver la balise.",
"apihelp-managetags-param-ignorewarnings": "S’il faut ignorer tout avertissement qui se produirait au cours de l’opération.",
"apihelp-managetags-example-create": "Créer une balise nommée <kbd>pourriel</kbd> avec le motif <kbd>À utiliser lors de la revue des modifications</kbd>",
- "apihelp-managetags-example-delete": "Supprimer la balise <kbd>vandlaisme</kbd> avec le motif <kbd>Mal épelé</kbd>",
+ "apihelp-managetags-example-delete": "Supprimer la balise <kbd>vandlaism</kbd> avec le motif <kbd>Misspelt</kbd>",
"apihelp-managetags-example-activate": "Activer une balise nommée <kbd>pourriel</kbd> avec le motif <kbd>À utiliser dans la revue des modifications</kbd>",
"apihelp-managetags-example-deactivate": "Désactiver une balise nommée <kbd>pourriel</kbd> avec le motif <kbd>Plus nécessaire</kbd>",
"apihelp-move-description": "Déplacer une page.",
@@ -227,8 +247,9 @@
"apihelp-opensearch-param-suggest": "Ne rien faire si <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> vaut faux.",
"apihelp-opensearch-param-redirects": "Comment gérer les redirections :\n;return:Renvoie la redirection elle-même.\n;resolve:Renvoie la page cible. Peut renvoyer moins de $1limit résultats.\nPour des raisons historiques, la valeur par défaut est « return » pour $1format=json et « resolve » pour les autres formats.",
"apihelp-opensearch-param-format": "Le format de sortie.",
+ "apihelp-opensearch-param-warningsaserror": "Si des avertissements sont levés avec <kbd>format=json</kbd>, renvoyer une erreur d’API au lieu de les ignorer.",
"apihelp-opensearch-example-te": "Trouver les pages commençant par <kbd>Te</kbd>.",
- "apihelp-options-description": "Modifier les préférences de l’utilisateur courant.\n\nSeules les options enregistrées dans le cœur ou dans l’une des extensions installées, ou les options avec une clé préfixée par « userjs- » (devant être utilisées dans les scripts utilisateur), peuvent être définies.",
+ "apihelp-options-description": "Modifier les préférences de l’utilisateur courant.\n\nSeules les options enregistrées dans le cœur ou dans l’une des extensions installées, ou les options avec des clés préfixées par <code>userjs-</code> (devant être utilisées dans les scripts utilisateur), peuvent être définies.",
"apihelp-options-param-reset": "Réinitialise les préférences aux valeurs par défaut du site.",
"apihelp-options-param-resetkinds": "Liste des types d’option à réinitialiser quand l’option <var>$1reset</var> est définie.",
"apihelp-options-param-change": "Liste des modifications, au format nom=valeur (par ex. skin=vector). La valeur ne peut pas contenir de caractère barre verticale. Si aucune valeur n’est fournie (pas même un signe égal), par ex., nomoption|autreoption|…, l’option sera réinitialisée à sa valeur par défaut.",
@@ -253,18 +274,43 @@
"apihelp-parse-param-pageid": "Analyser le contenu de cette page. Écrase <var>$1page</var>.",
"apihelp-parse-param-redirects": "Si le paramètre <var>$1page</var> ou <var>$1pageid</var> est positionné sur une redirection, la résoudre.",
"apihelp-parse-param-oldid": "Analyser le contenu de cette révision. Écrase <var>$1page</var> et <var>$1pageid</var>.",
- "apihelp-parse-param-prop": "Quelles informations obtenir :\n;text:Fournit le texte analysé du wikitexte.\n;langlinks:Fournit les liens de langue dans le wikitexte analysé.\n;categories:Fournit les catégories dans le wikitexte analysé.\n;categorieshtml:Fournit la version HTML des catégories.\n;links:Fournit les liens internes dans le wikitexte analysé.\n;templates:Fournit les modèles dans le wikitexte analysé.\n;images:Fournit les images dans le wikitexte analysé.\n;externallinks:Fournit les liens externes dans le wikitexte analysé.\n;sections:Fournit les sections dans le wikitexte analysé.\n;revid:Ajoute l’ID de révision de la page analysée.\n;displaytitle:Ajoute le titre du wikitexte analysé.\n;headitems:Fournit les éléments à mettre dans le &lt;head&gt; de la page.\n;headhtml:Fournit le &lt;head&gt; analysé de la page.\n;modules:Fournit les modules ResourceLoader utilisés sur la page.\n;indicators:Fournit le HTML des indicateurs d’état de la page utilisés dans la page.\n;iwlinks:Fournit les liens interwiki dans le wikitexte analysé.\n;wikitext:Fournit le wikitexte d’origine qui a été analysé.\n;properties:Fournit différentes propriétés définies dans le wikitexte analysé.\n;limitreportdata:Fournit le rapport de limite de façon structurée. Ne fournit aucune donnée, quand $1disablepp est activé.\n;limitreporthtml:Fournit la version HTML du rapport de limite. Ne fournit aucune donnée, quand $1disablepp est activé.",
+ "apihelp-parse-param-prop": "Quelles informations obtenir :",
+ "apihelp-parse-paramvalue-prop-text": "Fournit le texte analysé du wikitexte.",
+ "apihelp-parse-paramvalue-prop-langlinks": "Fournit les liens de langue du wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-categories": "Fournit les catégories dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "Fournit la version HTML des catégories.",
+ "apihelp-parse-paramvalue-prop-links": "Fournit les liens internes dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-templates": "Fournit les modèles dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-images": "Fournit les images dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-externallinks": "Fournit les liens externes dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-sections": "Fournit les sections dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-revid": "Ajoute l’ID de révision de la page analysée.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Ajoute le titre du wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-headitems": "Fournit les éléments à mettre dans le <code>&lt;head&gt;</code> de la page.",
+ "apihelp-parse-paramvalue-prop-headhtml": "Fournit le <code>&lt;head&gt;</code> analysé de la page.",
+ "apihelp-parse-paramvalue-prop-modules": "Fournit les modules ResourceLoader utilisés sur la page. Soit <kbd>jsconfigvars</kbd> soit <kbd>encodedjsconfigvars</kbd> doit être demandé avec <kbd>modules</kbd>.",
+ "apihelp-parse-paramvalue-prop-jsconfigvars": "Fournit les variables de configuration JavaScript spécifiques à la page.",
+ "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "Fournit les variables de configuration JavaScript spécifiques à la page comme chaîne JSON.",
+ "apihelp-parse-paramvalue-prop-indicators": "Fournit le HTML des indicateurs d’état de page utilisés sur la page.",
+ "apihelp-parse-paramvalue-prop-iwlinks": "Fournit les liens interwikis dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-wikitext": "Fournit le wikitexte d’origine qui a été analysé.",
+ "apihelp-parse-paramvalue-prop-properties": "Fournit les diverses propriétés définies dans le wikitexte analysé.",
+ "apihelp-parse-paramvalue-prop-limitreportdata": "Fournit le rapport de limite d’une manière structurée. Ne fournit aucune donnée, si <var>$1disablelimitreport</var> est positionné.",
+ "apihelp-parse-paramvalue-prop-limitreporthtml": "Fournit la version HTML du rapport de limite. Ne fournit aucune donnée, si <var>$1disablelimitreport</var> est positionné.",
+ "apihelp-parse-paramvalue-prop-parsetree": "L’arbre d’analyse XML du contenu de la révision (nécessite le modèle de contenu <code>$1</code>)",
"apihelp-parse-param-pst": "Faire une transformation avant enregistrement de l’entrée avant de l’analyser. Valide uniquement quand utilisé avec du texte.",
"apihelp-parse-param-onlypst": "Faire une transformation avant enregistrement (PST) de l’entrée, mais ne pas l’analyser. Renvoie le même wikitexte, après que la PST a été appliquée. Valide uniquement quand utilisé avec <var>$1text</var>.",
"apihelp-parse-param-effectivelanglinks": "Inclut les liens de langue fournis par les extensions (à utiliser avec <kbd>$1prop=langlinks</kbd>).",
"apihelp-parse-param-section": "Récupérer uniquement le contenu de ce numéro de section ou quand <kbd>nouveau</kbd> génère une nouvelle section.\n\nLa <kbd>nouvelle</kbd> section est mise à l’honneur uniquement quand <var>text</var> est spécifié.",
"apihelp-parse-param-sectiontitle": "Nouveau titre de section quand <var>section</var> vaut <kbd>nouveau</kbd>.\n\nÀ la différence de la modification de page, cela ne revient pas à <var>summary</var> quand il est omis ou vide.",
- "apihelp-parse-param-disablepp": "Désactiver le rapport PP de la sortie de l’analyseur.",
- "apihelp-parse-param-disableeditsection": "Désactiver les liens de modification de section de la sortie de l’analyseur.",
- "apihelp-parse-param-generatexml": "Générer un arbre d’analyse XML (nécessite le modèle de contenu <code>$1</code>).",
+ "apihelp-parse-param-disablelimitreport": "Omettre le rapport de limite (« rapport de limite du nouveau PP ») de la sortie de l’analyseur.",
+ "apihelp-parse-param-disablepp": "Utiliser <var>$1disablelimitreport</var> à la place.",
+ "apihelp-parse-param-disableeditsection": "Omettre les liens de modification de section de la sortie de l’analyseur.",
+ "apihelp-parse-param-disabletidy": "Ne pas exécuter de nettoyage du code HTML (par exemple, réagencer) sur la sortie de l'analyseur.",
+ "apihelp-parse-param-generatexml": "Générer un arbre d’analyse XML (nécessite le modèle de contenu <code>$1</code> ; remplacé par <kbd>$2prop=parsetree</kbd>).",
"apihelp-parse-param-preview": "Analyser en mode aperçu.",
"apihelp-parse-param-sectionpreview": "Analyser en mode aperçu de section (active aussi le mode aperçu).",
- "apihelp-parse-param-disabletoc": "Désactiver la table des matières dans la sortie.",
+ "apihelp-parse-param-disabletoc": "Omettre la table des matières dans la sortie.",
"apihelp-parse-param-contentformat": "Format de sérialisation du contenu utilisé pour le texte d’entrée. Valide uniquement si utilisé avec $1text.",
"apihelp-parse-param-contentmodel": "Modèle de contenu du texte d’entrée. Si omis, $1title doit être spécifié, et la valeur par défaut sera le modèle du titre spécifié. Valide uniquement quand utilisé avec $1text.",
"apihelp-parse-example-page": "Analyser une page.",
@@ -282,7 +328,7 @@
"apihelp-protect-param-protections": "Liste des niveaux de protection, au format <kbd>action=niveau</kbd> (par ex. <kbd>edit=sysop</kbd>).\n\n<strong>NOTE :<strong> Toutes les actions non listées auront leur restrictions supprimées.",
"apihelp-protect-param-expiry": "Horodatages d’expiration. Si un seul horodatage est fourni, il sera utilisé pour toutes les protections. Utiliser <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd> ou <kbd>never</kbd> pour une protection sans expiration.",
"apihelp-protect-param-reason": "Motif de (dé)protection.",
- "apihelp-protect-param-cascade": "Activer la protection en cascade (c’est-à-dire protéger les pages incluses dans cette page). Ignoré si tous les niveaux de protection fournis ne supportent pas la mise en cascade.",
+ "apihelp-protect-param-cascade": "Activer la protection en cascade (c’est-à-dire protéger les modèles transclus et les images utilisées dans cette page). Ignoré si aucun des niveaux de protection fournis ne supporte la mise en cascade.",
"apihelp-protect-param-watch": "Si activé, ajouter la page (dé)protégée à la liste de suivi de l'utilisateur actuel.",
"apihelp-protect-param-watchlist": "Ajouter ou supprimer sans condition la page de la liste de suivi de l'utilisateur actuel, utiliser les préférences ou ne pas modifier le suivi.",
"apihelp-protect-example-protect": "Protéger une page",
@@ -301,8 +347,7 @@
"apihelp-query-param-export": "Exporter les révisions actuelles de toutes les pages fournies ou générées.",
"apihelp-query-param-exportnowrap": "Renvoyer le XML exporté sans l’inclure dans un résultat XML (même format que [[Special:Export]]). Utilisable uniquement avec $1export.",
"apihelp-query-param-iwurl": "S’il faut obtenir l’URL complète si le titre est un lien interwiki.",
- "apihelp-query-param-continue": "Quand il est présent, met en forme query-continue sous forme de paires clé-valeur qui devrait simplement être fusionné dans la requête d’origine. Ce paramètre doit être fixé à une chaîne vide dans la requête initiale.\n\nCe paramètre est recommandé pour tout nouveau développement, et sera mis par défaut dans la prochaine version de l’API.",
- "apihelp-query-param-rawcontinue": "Actuellement ignoré. Plus tard, <var>$1continue</var> deviendra la valeur par défaut et sera nécessaire pour recevoir les données brutes de <samp>query-continue</samp>.",
+ "apihelp-query-param-rawcontinue": "Renvoyer les données <samp>query-continue</samp> brutes pour continuer.",
"apihelp-query-example-revisions": "Récupérer [[Special:ApiHelp/query+siteinfo|l’info du site]] et [[Special:ApiHelp/query+revisions|les révisions]] de <kbd>Page principale</kbd>.",
"apihelp-query-example-allpages": "Récupérer les révisions des pages commençant par <kbd>API/</kbd>.",
"apihelp-query+allcategories-description": "Énumérer toutes les catégories.",
@@ -313,7 +358,9 @@
"apihelp-query+allcategories-param-min": "Renvoyer uniquement les catégories avec au moins ce nombre de membres.",
"apihelp-query+allcategories-param-max": "Renvoyer uniquement les catégories avec au plus ce nombre de membres.",
"apihelp-query+allcategories-param-limit": "Combien de catégories renvoyer.",
- "apihelp-query+allcategories-param-prop": "Quelles propriétés récupérer :\n;size:Ajoute le nombre de pages dans la catégorie.\n;hidden:Marque les catégories qui sont cachées avec _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+allcategories-param-prop": "Quelles propriétés récupérer :",
+ "apihelp-query+allcategories-paramvalue-prop-size": "Ajoute le nombre de pages dans la catégorie.",
+ "apihelp-query+allcategories-paramvalue-prop-hidden": "Marque les catégories qui sont masquées avec <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+allcategories-example-size": "Lister les catégories avec l’information sur le nombre de pages dans chacune",
"apihelp-query+allcategories-example-generator": "Récupérer l’information sur la page de catégorie elle-même pour les catégories commençant par <kbd>List</kbd>.",
"apihelp-query+alldeletedrevisions-description": "Lister toutes les révisions supprimées par un utilisateur ou dans un espace de noms.",
@@ -337,7 +384,9 @@
"apihelp-query+allfileusages-param-to": "Le titre du fichier auquel arrêter l’énumération.",
"apihelp-query+allfileusages-param-prefix": "Rechercher tous les fichiers dont le titre commence par cette valeur.",
"apihelp-query+allfileusages-param-unique": "Afficher uniquement les titres de fichier distincts. Impossible à utiliser avec $1prop=ids.\nQuand utilisé comme générateur, produit les pages cibles au lieu des sources.",
- "apihelp-query+allfileusages-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page utilisatrice (impossible à utiliser avec $1unique).\n;title:Ajoute le titre du fichier.",
+ "apihelp-query+allfileusages-param-prop": "Quelles informations inclure :",
+ "apihelp-query+allfileusages-paramvalue-prop-ids": "Ajoute les IDs de page des pages l’utilisant (impossible à utiliser avec $1unique).",
+ "apihelp-query+allfileusages-paramvalue-prop-title": "Ajoute le titre du fichier.",
"apihelp-query+allfileusages-param-limit": "Combien d’éléments renvoyer au total.",
"apihelp-query+allfileusages-param-dir": "La direction dans laquelle lister.",
"apihelp-query+allfileusages-example-B": "Lister les titres de fichier, y compris les manquants, avec les IDs de page d’où ils proviennent, en commençant à <kbd>B</kbd>.",
@@ -369,7 +418,9 @@
"apihelp-query+alllinks-param-to": "Le titre du lien auquel arrêter l’énumération.",
"apihelp-query+alllinks-param-prefix": "Rechercher tous les titres liés commençant par cette valeur.",
"apihelp-query+alllinks-param-unique": "Afficher uniquement les titres liés distincts. Impossible à utiliser avec <kbd>$1prop=ids</kbd>.\nUtilisé avec un générateur, produit les pages cible au lieu des pages source.",
- "apihelp-query+alllinks-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page de liaison (impossible à utiliser avec <var>$1unique</var>).\n;title:Ajoute le titre du lien.",
+ "apihelp-query+alllinks-param-prop": "Quelles informations inclure :",
+ "apihelp-query+alllinks-paramvalue-prop-ids": "Ajoute l’ID de la page avec le lien (impossible à utiliser avec <var>$1unique</var>).",
+ "apihelp-query+alllinks-paramvalue-prop-title": "Ajoute le titre du lien.",
"apihelp-query+alllinks-param-namespace": "L’espace de noms à énumérer.",
"apihelp-query+alllinks-param-limit": "Combien d’éléments renvoyer au total.",
"apihelp-query+alllinks-param-dir": "La direction dans laquelle lister.",
@@ -416,7 +467,11 @@
"apihelp-query+allredirects-param-to": "Le titre de la redirection auquel arrêter l’énumération.",
"apihelp-query+allredirects-param-prefix": "Rechercher toutes les pages cible commençant par cette valeur.",
"apihelp-query+allredirects-param-unique": "Afficher uniquement les pages cibles distinctes. Impossible à utiliser avec $1prop=ids|fragment|interwiki.\nUtilisé avec un générateur, produit les pages cible au lieu des pages source.",
- "apihelp-query+allredirects-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page de redirection (impossible à utiliser avec <var>$1unique</var>).\n;title:Ajoute le titre de la redirection.\n;fragment:Ajoute le fragment de la redirection, s’il y en a un (impossible à utiliser avec <var>$1unique</var>).\n;interwiki:Ajoute le préfixe interwiki de la redirection, s’il y en a un (impossible à utiliser avec <var>$1unique</var>).",
+ "apihelp-query+allredirects-param-prop": "Quelles informations inclure :",
+ "apihelp-query+allredirects-paramvalue-prop-ids": "Ajoute l’ID de la page de redirection (impossible à utiliser avec <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-title": "Ajoute le titre de la redirection.",
+ "apihelp-query+allredirects-paramvalue-prop-fragment": "Ajoute le fragment de la redirection, s’il existe (impossible à utiliser avec <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-interwiki": "Ajoute le préfixe interwiki de la redirection, s’il existe (impossible à utiliser avec <var>$1unique</var>).",
"apihelp-query+allredirects-param-namespace": "L’espace de noms à énumérer.",
"apihelp-query+allredirects-param-limit": "Combien d’éléments renvoyer au total.",
"apihelp-query+allredirects-param-dir": "La direction dans laquelle lister.",
@@ -429,7 +484,9 @@
"apihelp-query+alltransclusions-param-to": "Le titre de la transclusion auquel arrêter l’énumération.",
"apihelp-query+alltransclusions-param-prefix": "Rechercher tous les titres inclus qui commencent par cette valeur.",
"apihelp-query+alltransclusions-param-unique": "Afficher uniquement les titres inclus. Impossible à utiliser avec $1prop=ids.\nUtilisé avec un générateur, produit les pages cible plutôt que les pages source.",
- "apihelp-query+alltransclusions-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page incluse (impossible à utiliser avec $1unique).\n;title:Ajoute le titre de la transclusion.",
+ "apihelp-query+alltransclusions-param-prop": "Quelles informations inclure :",
+ "apihelp-query+alltransclusions-paramvalue-prop-ids": "Ajout l’ID de la page de transclusion (impossible à utiliser avec $1unique).",
+ "apihelp-query+alltransclusions-paramvalue-prop-title": "Ajoute le titre de la transclusion.",
"apihelp-query+alltransclusions-param-namespace": "L’espace de noms à énumérer.",
"apihelp-query+alltransclusions-param-limit": "Combien d’éléments renvoyer au total.",
"apihelp-query+alltransclusions-param-dir": "La direction dans laquelle lister.",
@@ -445,7 +502,13 @@
"apihelp-query+allusers-param-group": "Inclure uniquement les utilisateurs dans les groupes donnés.",
"apihelp-query+allusers-param-excludegroup": "Exclure les utilisateurs dans les groupes donnés.",
"apihelp-query+allusers-param-rights": "Inclure uniquement les utilisateurs avec les droits indiqués. Ne comprend pas les droits accordés par des groupes implicites ou auto-promus comme *, user ou autoconfirmed.",
- "apihelp-query+allusers-param-prop": "Quelles informations inclure :\n;blockinfo:Ajoute l’information sur le bloc actuel d’un utilisateur.\n;groups:Liste des groupes auxquels appartient l’utilisateur. Cela utilise beaucoup de ressources du serveur et peut renvoyer moins de résultats que la limite.\n;implicitgroups:Liste tous les groupes auxquels l’utilisateur est affecté automatiquement.\n;rights:Liste les droits qu’à l’utilisateur.\n;editcount:Ajoute le compteur de modifications de l’utilisateur.\n;registration:Ajoute l’horodatage de l’inscription de l’utilisateur, s’il est disponible (peut être vide).",
+ "apihelp-query+allusers-param-prop": "Quelles informations inclure :",
+ "apihelp-query+allusers-paramvalue-prop-blockinfo": "Ajoute l’information sur le bloc actuel d’un utilisateur.",
+ "apihelp-query+allusers-paramvalue-prop-groups": "Liste des groupes auxquels appartient l’utilisateur. Cela utilise beaucoup de ressources du serveur et peut renvoyer moins de résultats que la limite.",
+ "apihelp-query+allusers-paramvalue-prop-implicitgroups": "Liste tous les groupes auxquels l’utilisateur est affecté automatiquement.",
+ "apihelp-query+allusers-paramvalue-prop-rights": "Liste les droits qu’à l’utilisateur.",
+ "apihelp-query+allusers-paramvalue-prop-editcount": "Ajoute le compteur de modifications de l’utilisateur.",
+ "apihelp-query+allusers-paramvalue-prop-registration": "Ajoute l’horodatage de l’inscription de l’utilisateur, s’il est disponible (peut être vide).",
"apihelp-query+allusers-param-limit": "Combien de noms d’utilisateur renvoyer au total.",
"apihelp-query+allusers-param-witheditsonly": "Ne lister que les utilisateurs qui ont fait des modifications.",
"apihelp-query+allusers-param-activeusers": "Lister uniquement les utilisateurs actifs durant {{PLURAL:$1|le dernier jour|les $1 derniers jours}}.",
@@ -467,12 +530,25 @@
"apihelp-query+blocks-param-users": "Liste des utilisateurs à rechercher (facultatif).",
"apihelp-query+blocks-param-ip": "Obtenir tous les blocs s’appliquant à cette adresse IP ou à cette plage CIDR, y compris les blocs de plage.\nImpossible à utiliser avec <var>$3users</var>. Les plages CIDR plus larges que IPv4/$1 ou IPv6/$2 ne sont pas acceptées.",
"apihelp-query+blocks-param-limit": "Le nombre maximal de blocs à lister.",
- "apihelp-query+blocks-param-prop": "Quelles propriétés obtenir :\n;id:Ajoute l’ID du blocage.\n;user:Ajoute le nom de l’utilisateur bloqué.\n;userid:Ajoute l’ID de l’utilisateur bloqué.\n;by:Ajoute le nom de l’utilisateur ayant bloqué.\n;byid:Ajoute l’ID de l’utilisateur ayant bloqué.\n;timestamp:Ajoute l’horodatage du blocage.\n;expiry:Ajoute l’horodatage d’expiration du blocage.\n;reason:Ajoute le motif du blocage.\n;range:Ajoute la plage d’adresses IP affectée par le blocage.\n;flags:Marque le bannissement avec (autoblock, anononly, etc.).",
+ "apihelp-query+blocks-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+blocks-paramvalue-prop-id": "Ajoute l’ID du blocage.",
+ "apihelp-query+blocks-paramvalue-prop-user": "Ajoute le nom de l’utilisateur bloqué.",
+ "apihelp-query+blocks-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur bloqué.",
+ "apihelp-query+blocks-paramvalue-prop-by": "Ajoute le nom de l’utilisateur ayant bloqué.",
+ "apihelp-query+blocks-paramvalue-prop-byid": "Ajoute l’ID de l’utilisateur ayant bloqué.",
+ "apihelp-query+blocks-paramvalue-prop-timestamp": "Ajoute l’horodatage du blocage.",
+ "apihelp-query+blocks-paramvalue-prop-expiry": "Ajoute l’horodatage d’expiration du blocage.",
+ "apihelp-query+blocks-paramvalue-prop-reason": "Ajoute le motif du blocage.",
+ "apihelp-query+blocks-paramvalue-prop-range": "Ajoute la plage d’adresses IP affectée par le blocage.",
+ "apihelp-query+blocks-paramvalue-prop-flags": "Marque le bannissement avec (autoblock, anononly, etc.).",
"apihelp-query+blocks-param-show": "Afficher uniquement les éléments correspondant à ces critères.\nPar exemple, pour voir uniquement les blocages infinis sur les adresses IP, mettre <kbd>$1show=ip|!temp</kbd>.",
"apihelp-query+blocks-example-simple": "Lister les blocages",
"apihelp-query+blocks-example-users": "Lister les blocages des utilisateurs <kbd>Alice</kbd> et <kbd>Bob</kbd>.",
"apihelp-query+categories-description": "Lister toutes les catégories auxquelles les pages appartiennent.",
- "apihelp-query+categories-param-prop": "Quelles propriétés supplémentaires obtenir de chaque catégorie :\n;sortkey:Ajoute la clé de tri (chaîne hexadécimale) et son préfixe (partie lisible) de la catégorie.\n;timestamp:Ajoute l’horodatage de l’ajout de la catégorie.\n;hidden:Marque les catégories cachées avec _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+categories-param-prop": "Quelles propriétés supplémentaires obtenir de chaque catégorie :",
+ "apihelp-query+categories-paramvalue-prop-sortkey": "Ajoute la clé de tri (chaîne hexadécimale) et son préfixe (partie lisible) de la catégorie.",
+ "apihelp-query+categories-paramvalue-prop-timestamp": "Ajoute l’horodatage de l’ajout de la catégorie.",
+ "apihelp-query+categories-paramvalue-prop-hidden": "Marque les catégories cachées avec <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+categories-param-show": "Quelle sorte de catégories afficher.",
"apihelp-query+categories-param-limit": "Combien de catégories renvoyer.",
"apihelp-query+categories-param-categories": "Lister uniquement ces catégories. Utile pour vérifier si une certaine page est dans une certaine catégorie.",
@@ -484,7 +560,13 @@
"apihelp-query+categorymembers-description": "Lister toutes les pages d’une catégorie donnée.",
"apihelp-query+categorymembers-param-title": "Quelle catégorie énumérer (obligatoire). Doit comprendre le préfixe <kbd>{{ns:category}}:</kbd>. Impossible à utiliser avec <var>$1pageid</var>.",
"apihelp-query+categorymembers-param-pageid": "ID de la page de la catégorie à énumérer. Impossible à utiliser avec <var>$1title</var>.",
- "apihelp-query+categorymembers-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page.\n;title:Ajoute le titre et l’ID de l’espace de noms de la page.\n;sortkey:Ajoute la clé de tri utilisée pour trier dans la catégorie (chaîne hexadécimale).\n;sortkeyprefix:Ajoute le préfixe de la clé de tri utilisé pour trier dans la catégorie (partie lisible de la clé de tri).\n;type:Ajoute le type dans lequel a été catégorisée la page (page, sous-catégorie ou fichier).\n;timestamp:Ajoute l’horodatage de l’inclusion de la page.",
+ "apihelp-query+categorymembers-param-prop": "Quelles informations inclure :",
+ "apihelp-query+categorymembers-paramvalue-prop-ids": "Ajoute l’ID de la page.",
+ "apihelp-query+categorymembers-paramvalue-prop-title": "Ajoute le titre et l’ID de l’espace de noms de la page.",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkey": "Ajoute la clé de tri utilisée pour trier dans la catégorie (chaîne hexadécimale).",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix": "Ajoute le préfixe de la clé de tri utilisé pour trier dans la catégorie (partie lisible de la clé de tri).",
+ "apihelp-query+categorymembers-paramvalue-prop-type": "Ajoute le type dans lequel a été catégorisée la page (page, sous-catégorie ou fichier).",
+ "apihelp-query+categorymembers-paramvalue-prop-timestamp": "Ajoute l’horodatage de l’inclusion de la page.",
"apihelp-query+categorymembers-param-namespace": "Inclure uniquement les pages dans ces espaces de nom. Remarquez que <kbd>$1type=subcat</kbd> ou <kbd>$1type=file</kbd> peuvent être utilisés à la place de <kbd>$1namespace=14</kbd> ou <kbd>6</kbd>.",
"apihelp-query+categorymembers-param-type": "Quel type de membres de la catégorie inclure. Ignoré quand <kbd>$1sort=timestamp</kbd> est positionné.",
"apihelp-query+categorymembers-param-limit": "Le nombre maximal de pages à renvoyer.",
@@ -495,7 +577,7 @@
"apihelp-query+categorymembers-param-starthexsortkey": "Clé de tri à laquelle démarrer le listage, telle que renvoyée par <kbd>$1prop=sortkey</kbd>. Utilisable uniquement avec <kbd>$1sort=sortkey</kbd>.",
"apihelp-query+categorymembers-param-endhexsortkey": "Clé de tri à laquelle arrêter le listage, telle que renvoyée par <kbd>$1prop=sortkey</kbd>. Utilisable uniquement avec <kbd>$1sort=sortkey</kbd>.",
"apihelp-query+categorymembers-param-startsortkeyprefix": "Préfixe de la clé de tri à laquelle démarrer le listage. Utilisable uniquement avec <kbd>$1sort=sortkey</kbd>. Écrase <var>$1starthexsortkey</var>.",
- "apihelp-query+categorymembers-param-endsortkeyprefix": "Préfixe de la clé de tri AVANT laquelle se termine le listage (et non pas à, si cette valeur existe elle ne sera pas incluse !). Utilisable uniquement avec $1sort=sortkey. Écrase $1endhexsortkey.",
+ "apihelp-query+categorymembers-param-endsortkeyprefix": "Préfixe de la clé de tri <strong>avant</strong> laquelle se termine le listage (et non pas <strong>à</strong> ; si cette valeur existe elle ne sera pas incluse !). Utilisable uniquement avec $1sort=sortkey. Écrase $1endhexsortkey.",
"apihelp-query+categorymembers-param-startsortkey": "Utiliser plutôt $1starthexsortkey.",
"apihelp-query+categorymembers-param-endsortkey": "Utiliser plutôt $1endhexsortkey.",
"apihelp-query+categorymembers-example-simple": "Obtenir les 10 premières pages de <kbd>Category:Physics</kbd>.",
@@ -513,8 +595,6 @@
"apihelp-query+deletedrevisions-param-tag": "Lister uniquement les révisions marquées par cette balise.",
"apihelp-query+deletedrevisions-param-user": "Lister uniquement les révisions faites par cet utilisateur.",
"apihelp-query+deletedrevisions-param-excludeuser": "Ne pas lister les révisions faites par cet utilisateur.",
- "apihelp-query+deletedrevisions-param-limit": "Le nombre maximal de révisions à lister.",
- "apihelp-query+deletedrevisions-param-prop": "Quelles propriétés obtenir :\n;revid:Ajoute l’ID de la révision supprimée.\n;parentid:Ajoute l’ID de la révision précédente de la page.\n;user:Ajoute l’utilisateur ayant fait la révision.\n;userid:Ajoute l’ID de l’utilisateur ayant fait la révision.\n;comment:Ajoute le commentaire de la révision.\n;parsedcomment:Ajoute le commentaire analysé de la révision.\n;minor:Marque si une révision est mineure.\n;len:Ajoute la taille (en octets) de la révision.\n;sha1:Ajoute le SHA-1 (base 16) de la révision.\n;content:Ajoute le contenu de la révision.\n;tags:Balises pour la révision.",
"apihelp-query+deletedrevisions-example-titles": "Lister les révisions supprimées des pages <kbd>Main Page</kbd> et <kbd>Talk:Main Page</kbd>, avec leur contenu.",
"apihelp-query+deletedrevisions-example-revids": "Lister les informations pour la révision supprimée <kbd>123456</kbd>.",
"apihelp-query+deletedrevs-description": "Lister les révisions supprimées.\n\nOpère selon trois modes :\n# Lister les révisions supprimées pour les titres donnés, triées par horodatage.\n# Lister les contributions supprimées pour l’utilisateur donné, triées par horodatage (pas de titres spécifiés).\n# Lister toutes les révisions supprimées dans l’espace de noms donné, triées par titre et horodatage (aucun titre spécifié, $1user non positionné).\n\nCertains paramètres ne s’appliquent qu’à certains modes et sont ignorés dans les autres.",
@@ -558,7 +638,10 @@
"apihelp-query+extlinks-param-expandurl": "Étendre les URLs relatives au protocole avec le protocole canonique.",
"apihelp-query+extlinks-example-simple": "Obtenir une liste des liens externes de <kbd>Main Page<kbd>.",
"apihelp-query+exturlusage-description": "Énumérer les pages contenant une URL donnée.",
- "apihelp-query+exturlusage-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page.\n;title:Ajoute le titre et l’ID de l’espace de noms de la page.\n;url:Ajoute l’URL utilisée dans la page.",
+ "apihelp-query+exturlusage-param-prop": "Quelles informations inclure :",
+ "apihelp-query+exturlusage-paramvalue-prop-ids": "Ajoute l’ID de la page.",
+ "apihelp-query+exturlusage-paramvalue-prop-title": "Ajoute le titre et l’ID de l’espace de noms de la page.",
+ "apihelp-query+exturlusage-paramvalue-prop-url": "Ajoute l’URL utilisée dans la page.",
"apihelp-query+exturlusage-param-protocol": "Protocole de l’URL. Si vide et que <var>$1query</var> est rempli, le protocole est <kbd>http</kbd>. Le laisser avec <var>$1query</var> vide pour lister tous les liens externes.",
"apihelp-query+exturlusage-param-query": "Rechercher une chaîne sans protocole. Voyez [[Special:LinkSearch]]. Le laisser vide liste tous les liens externes.",
"apihelp-query+exturlusage-param-namespace": "Les espaces de nom à énumérer.",
@@ -573,13 +656,28 @@
"apihelp-query+filearchive-param-dir": "La direction dans laquelle lister.",
"apihelp-query+filearchive-param-sha1": "Hachage SHA1 de l’image. Écrase $1sha1base36.",
"apihelp-query+filearchive-param-sha1base36": "Hachage SHA1 de l’image en base 36 (utilisé dans MédiaWiki).",
- "apihelp-query+filearchive-param-prop": "Quelle information obtenir sur l’image :\n;sha1:Ajoute le hachage SHA-1 pour l’image.\n;timestamp:Ajoute l÷’horodatage pour la version téléchargée.\n;user:Ajoute l’utilisateur qui a téléchargé la version de l’image.\n;size:Ajoute la taille de l’image en octets et la hauteur, la largeur et le nombre de page (si c’est applicable).\n;dimensions:Alias pour la taille.\n;description:Ajoute la description de la version de l’image.\n;parseddescription:Analyser la description de la version.\n;mime:Ajoute le MIME de l’image.\n;mediatype:Ajoute le type de média de l’image.\n;metadata:Liste les métadonnées Exif pour la version de l’image.\n;bitdepth:Ajoute la profondeur de bit de la version.\n;archivename:Ajoute le nom de fichier de la version d’archive pour les versions autres que la dernière.",
+ "apihelp-query+filearchive-param-prop": "Quelle information obtenir sur l’image :",
+ "apihelp-query+filearchive-paramvalue-prop-sha1": "Ajoute le hachage SHA-1 pour l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-timestamp": "Ajoute l÷’horodatage pour la version téléchargée.",
+ "apihelp-query+filearchive-paramvalue-prop-user": "Ajoute l’utilisateur qui a téléchargé la version de l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-size": "Ajoute la taille de l’image en octets et la hauteur, la largeur et le nombre de page (si c’est applicable).",
+ "apihelp-query+filearchive-paramvalue-prop-dimensions": "Alias pour la taille.",
+ "apihelp-query+filearchive-paramvalue-prop-description": "Ajoute la description de la version de l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-parseddescription": "Analyser la description de la version.",
+ "apihelp-query+filearchive-paramvalue-prop-mime": "Ajoute le MIME de l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-mediatype": "Ajoute le type de média de l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-metadata": "Liste les métadonnées Exif pour la version de l’image.",
+ "apihelp-query+filearchive-paramvalue-prop-bitdepth": "Ajoute la profondeur de bit de la version.",
+ "apihelp-query+filearchive-paramvalue-prop-archivename": "Ajoute le nom de fichier de la version d’archive pour les versions autres que la dernière.",
"apihelp-query+filearchive-example-simple": "Afficher une liste de tous les fichiers supprimés",
"apihelp-query+filerepoinfo-description": "Renvoyer les méta-informations sur les référentiels d’image configurés dans le wiki.",
"apihelp-query+filerepoinfo-param-prop": "Quelles propriétés du référentiel récupérer (il peut y en avoir plus de disponibles sur certains wikis) :\n;apiurl:URL de l’API du référentiel - utile pour obtenir les infos de l’image depuis l’hôte.\n;name:La clé du référentiel - utilisé par ex. dans les valeurs de retour de <var>[[mw:Manual:$wgForeignFileRepos|$wgForeignFileRepos]]</var> et [[Special:ApiHelp/query+imageinfo|imageinfo]].\n;displayname:Le nom lisible du wiki référentiel.\n;rooturl:URL racine des chemins d’image.\n;local:Si ce référentiel est le référentiel local ou non.",
"apihelp-query+filerepoinfo-example-simple": "Obtenir l’information sur les référentiels de fichier",
"apihelp-query+fileusage-description": "Trouver toutes les pages qui utilisent les fichiers donnés.",
- "apihelp-query+fileusage-param-prop": "Quelles propriétés obtenir :\n;pageid:ID de chaque page.\n;title:Titre de chaque page.\n;redirect:Marque si la page est une redirection.",
+ "apihelp-query+fileusage-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+fileusage-paramvalue-prop-pageid": "ID de chaque page.",
+ "apihelp-query+fileusage-paramvalue-prop-title": "Titre de chaque page.",
+ "apihelp-query+fileusage-paramvalue-prop-redirect": "Marque si la page est une redirection.",
"apihelp-query+fileusage-param-namespace": "Inclure uniquement les pages dans ces espaces de nom.",
"apihelp-query+fileusage-param-limit": "Combien renvoyer.",
"apihelp-query+fileusage-param-show": "Afficher uniquement les éléments qui correspondent à ces critères :\n;redirect:Afficher uniquement les redirections.\n;!redirect:Afficher uniquement les non-redirections.",
@@ -655,13 +753,16 @@
"apihelp-query+iwbacklinks-param-prefix": "Préfixe pour l’interwiki.",
"apihelp-query+iwbacklinks-param-title": "Lien interwiki à rechercher. Doit être utilisé avec <var>$1blprefix</var>.",
"apihelp-query+iwbacklinks-param-limit": "Combien de pages renvoyer.",
- "apihelp-query+iwbacklinks-param-prop": "Quelles propriétés obtenir :\n;iwprefix:Ajoute le préfixe de l’interwiki.\n;iwtitle:Ajoute le titre de l’interwiki.",
+ "apihelp-query+iwbacklinks-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwprefix": "Ajoute le préfixe de l’interwiki.",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle": "Ajoute le titre de l’interwiki.",
"apihelp-query+iwbacklinks-param-dir": "La direction dans laquelle lister.",
"apihelp-query+iwbacklinks-example-simple": "Obtenir les pages ayant un lien vers [[wikibooks:Test]]",
"apihelp-query+iwbacklinks-example-generator": "Obtenir des informations sur les pages ayant un lien vers [[wikibooks:Test]]",
"apihelp-query+iwlinks-description": "Renvoie tous les liens interwiki des pages indiquées.",
"apihelp-query+iwlinks-param-url": "S&il faut obtenir l’URL complète (impossible à utiliser avec $1prop).",
- "apihelp-query+iwlinks-param-prop": "Quelles propriétés supplémentaires obtenir pour chaque lien interlangue :\n;url:Ajoute l’URL complète.",
+ "apihelp-query+iwlinks-param-prop": "Quelles propriétés supplémentaires obtenir pour chaque lien interlangue :",
+ "apihelp-query+iwlinks-paramvalue-prop-url": "Ajoute l’URL complète.",
"apihelp-query+iwlinks-param-limit": "Combien de liens interwiki renvoyer.",
"apihelp-query+iwlinks-param-prefix": "Renvoyer uniquement les liens interwiki avec ce préfixe.",
"apihelp-query+iwlinks-param-title": "Lien interwiki à rechercher. Doit être utilisé avec <var>$1prefix</var>.",
@@ -671,14 +772,19 @@
"apihelp-query+langbacklinks-param-lang": "Langue pour le lien de langue.",
"apihelp-query+langbacklinks-param-title": "Lien interlangue à rechercher. Doit être utilisé avec $1lang.",
"apihelp-query+langbacklinks-param-limit": "Combien de pages renvoyer au total.",
- "apihelp-query+langbacklinks-param-prop": "Quelles propriétés obtenir :\n;lllang:Ajoute le code de langue du lien de langue.\n;lltitle:Ajoute le titre du lien de langue.",
+ "apihelp-query+langbacklinks-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+langbacklinks-paramvalue-prop-lllang": "Ajoute le code de langue du lien de langue.",
+ "apihelp-query+langbacklinks-paramvalue-prop-lltitle": "Ajoute le titre du lien de langue.",
"apihelp-query+langbacklinks-param-dir": "La direction dans laquelle lister.",
"apihelp-query+langbacklinks-example-simple": "Obtenir les pages avec un lien avec [[:fr:Test]]",
"apihelp-query+langbacklinks-example-generator": "Obtenir des informations sur les pages ayant un lien vers [[:fr:Test]]",
"apihelp-query+langlinks-description": "Renvoie tous les liens interlangue des pages fournies.",
"apihelp-query+langlinks-param-limit": "Combien de liens interlangue renvoyer.",
"apihelp-query+langlinks-param-url": "S’il faut récupérer l’URL complète (impossible à utiliser avec <var>$1prop</var>).",
- "apihelp-query+langlinks-param-prop": "Quelles propriétés supplémentaires obtenir pour chaque lien interlangue :\n;url:Ajoute l’URL complète.\n;langname:Ajoute le nom localisé de la langue (au mieux). Utiliser <var>$1inlanguagecode</var> pour contrôler la langue.\n;autonym:Ajoute le nom natif de la langue.",
+ "apihelp-query+langlinks-param-prop": "Quelles propriétés supplémentaires obtenir pour chaque lien interlangue :",
+ "apihelp-query+langlinks-paramvalue-prop-url": "Ajoute l’URL complète.",
+ "apihelp-query+langlinks-paramvalue-prop-langname": "Ajoute le nom localisé de la langue (au mieux). Utiliser <var>$1inlanguagecode</var> pour contrôler la langue.",
+ "apihelp-query+langlinks-paramvalue-prop-autonym": "Ajoute le nom natif de la langue.",
"apihelp-query+langlinks-param-lang": "Renvoyer uniquement les liens interlangue avec ce code de langue.",
"apihelp-query+langlinks-param-title": "Lien à rechercher. Doit être utilisé avec <var>$1lang</var>.",
"apihelp-query+langlinks-param-dir": "La direction dans laquelle énumérer.",
@@ -693,16 +799,29 @@
"apihelp-query+links-example-generator": "Obtenir des informations sur tous les liens de page dans <kbd>Main Page</kbd>.",
"apihelp-query+links-example-namespaces": "Obtenir les liens de la page <kbd>Accueil</kbd> dans les espaces de nom {{ns:user}} et {{ns:template}}.",
"apihelp-query+linkshere-description": "Trouver toutes les pages ayant un lien vers les pages données.",
- "apihelp-query+linkshere-param-prop": "Quelles propriétés obtenir :\n;pageid:ID de chaque page.\n;title:Titre de chaque page.\n;redirect:Indique si la page est une redirection.",
+ "apihelp-query+linkshere-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+linkshere-paramvalue-prop-pageid": "ID de chaque page.",
+ "apihelp-query+linkshere-paramvalue-prop-title": "Titre de chaque page.",
+ "apihelp-query+linkshere-paramvalue-prop-redirect": "Indique si la page est une redirection.",
"apihelp-query+linkshere-param-namespace": "Inclure uniquement les pages dans ces espaces de nom.",
"apihelp-query+linkshere-param-limit": "Combien de résultats renvoyer.",
"apihelp-query+linkshere-param-show": "Afficher uniquement les éléments qui correspondent à ces critères :\n;redirect:Afficher uniquement les redirections.\n;!redirect:Afficher uniquement les non-redirections.",
"apihelp-query+linkshere-example-simple": "Obtenir une liste des pages liées à [[Main Page]]",
"apihelp-query+linkshere-example-generator": "Obtenir des informations sur les pages liées à [[Main Page]]",
"apihelp-query+logevents-description": "Obtenir des événements des journaux.",
- "apihelp-query+logevents-param-prop": "Quelles propriétés obtenir :\n;ids:Ajoute l’ID de l’événement.\n;title:Ajoute le titre de la page pour l’événement.\n;type:Ajoute le type de l’événement.\n;user:Ajoute l’utilisateur responsable de l’événement.\n;userid:Ajoute l’ID de l’utilisateur responsable de l’événement.\n;timestamp:Ajoute l’horodatage de l’événement.\n;comment:Ajoute le commentaire de l’événement.\n;parsedcomment:Ajoute le commentaire analysé de l’événement.\n;details:Liste les détails supplémentaires sur l’événement.\n;tags:Liste les balises de l’événement.",
+ "apihelp-query+logevents-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+logevents-paramvalue-prop-ids": "Ajoute l’ID de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-title": "Ajoute le titre de la page pour l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-type": "Ajoute le type de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-user": "Ajoute l’utilisateur responsable de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur responsable de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-timestamp": "Ajoute l’horodatage de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-comment": "Ajoute le commentaire de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé de l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-details": "Liste les détails supplémentaires sur l’événement.",
+ "apihelp-query+logevents-paramvalue-prop-tags": "Liste les balises de l’événement.",
"apihelp-query+logevents-param-type": "Filtrer les entrées du journal à ce seul type.",
- "apihelp-query+logevents-param-action": "Filtrer les actions du journal à cette seule action. Écrase <var>$1type</var>. Des actions avec une astérisque de la forme <var>$1type</var> sont autorisées pour spécifier n’importe quelle chaîne à la place de l’astérisque.",
+ "apihelp-query+logevents-param-action": "Filtrer les actions du journal à cette seule action. Écrase <var>$1type</var>. La présence d'une valeur avec un astérisque dans la liste, comme <var>$1type</var>, indique qu'une chaîne arbitraire peut être passée dans dans la requête à la place de l'astérisque.",
"apihelp-query+logevents-param-start": "L’horodatage auquel démarrer l’énumération.",
"apihelp-query+logevents-param-end": "L’horodatage auquel arrêter l’énumération.",
"apihelp-query+logevents-param-user": "Restreindre aux entrées générées par l’utilisateur spécifié.",
@@ -717,14 +836,17 @@
"apihelp-query+pagepropnames-example-simple": "Obtenir les 10 premiers noms de propriété.",
"apihelp-query+pageprops-description": "Obtenir diverses propriétés définies dans le contenu de la page.",
"apihelp-query+pageprops-param-prop": "Lister uniquement ces propriétés. Utile pour vérifier si une certaine page utilise une certaine propriété de page.",
- "apihelp-query+pageprops-example-simple": "Obtenir les propriétés de <kbd>Category:Foo</kbd>.",
+ "apihelp-query+pageprops-example-simple": "Obtenir les propriétés des pages <kbd>Accueil</kbd> et <kbd>MédiaWiki</kbd>.",
"apihelp-query+pageswithprop-description": "Lister toutes les pages utilisant une propriété de page donnée.",
"apihelp-query+pageswithprop-param-propname": "Propriété de page pour laquelle énumérer les pages.",
- "apihelp-query+pageswithprop-param-prop": "Quelles informations inclure :\n;ids:Ajoute l’ID de la page.\n;title:Ajoute le titre et l’ID de l’espace de noms de la page.\n;value:Ajoute la valeur de la propriété de page.",
+ "apihelp-query+pageswithprop-param-prop": "Quelles informations inclure :",
+ "apihelp-query+pageswithprop-paramvalue-prop-ids": "Ajoute l’ID de la page.",
+ "apihelp-query+pageswithprop-paramvalue-prop-title": "Ajoute le titre et l’ID de l’espace de noms de la page.",
+ "apihelp-query+pageswithprop-paramvalue-prop-value": "Ajoute la valeur de la propriété de page.",
"apihelp-query+pageswithprop-param-limit": "Le nombre maximal de pages à renvoyer.",
"apihelp-query+pageswithprop-param-dir": "Dans quelle direction trier.",
"apihelp-query+pageswithprop-example-simple": "Lister les 10 premières pages en utilisant <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
- "apihelp-query+pageswithprop-example-generator": "Obtenir des informations sur les 10 premières pages utilisant <code>_&#95;NOTOC_&#95;</code>.",
+ "apihelp-query+pageswithprop-example-generator": "Obtenir des informations supplémentaires sur les 10 premières pages utilisant <code>_&#95;NOTOC_&#95;</code>.",
"apihelp-query+prefixsearch-description": "Effectuer une recherche de préfixe sur les titres de page.",
"apihelp-query+prefixsearch-param-search": "Chaîne de recherche.",
"apihelp-query+prefixsearch-param-namespace": "Espaces de nom à rechercher.",
@@ -737,17 +859,25 @@
"apihelp-query+protectedtitles-param-limit": "Combien de pages renvoyer au total.",
"apihelp-query+protectedtitles-param-start": "Démarrer la liste à cet horodatage de protection.",
"apihelp-query+protectedtitles-param-end": "Arrêter la liste à cet horodatage de protection.",
- "apihelp-query+protectedtitles-param-prop": "Quelles propriétés obtenir :\n;timestamp:Ajoute l’horodatage de l’ajout de la protection.\n;user:Ajoute l’utilisateur ayant ajouté la protection.\n;userid:Ajoute l’ID de l’utilisateur ayant ajouté la protection.\n;comment:Ajoute le commentaire de la protection.\n;parsedcomment:Ajoute le commentaire analysé de la protection.\n;expiry:Ajoute l’horodatage de levée de la protection.\n;level:Ajoute le niveau de protection.",
+ "apihelp-query+protectedtitles-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+protectedtitles-paramvalue-prop-timestamp": "Ajoute l’horodatage de l’ajout de la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-user": "Ajoute l’utilisateur ayant ajouté la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur ayant ajouté la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-comment": "Ajoute le commentaire pour la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé de la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Ajoute l’horodatage de levée de la protection.",
+ "apihelp-query+protectedtitles-paramvalue-prop-level": "Ajoute le niveau de protection.",
"apihelp-query+protectedtitles-example-simple": "Lister les titres protégés",
"apihelp-query+protectedtitles-example-generator": "Trouver les liens vers les titres protégés dans l’espace de noms principal",
"apihelp-query+querypage-description": "Obtenir une liste fournie par une page spéciale basée sur QueryPage",
"apihelp-query+querypage-param-page": "Le nom de la page spéciale. Remarque, ce nom est sensible à la casse.",
"apihelp-query+querypage-param-limit": "Nombre de résultats à renvoyer.",
"apihelp-query+querypage-example-ancientpages": "Renvoyer les résultats de [[Special:Ancientpages]].",
- "apihelp-query+random-description": "Obtenir un ensemble de pages au hasard.\n\nLes pages sont listées dans un ordre prédéterminé, seul le point de départ est aléatoire. Par exemple, cela signifie que si la première page dans la liste est <samp>Accueil</samp>, la seconde sera <em>toujours</em> <samp>Liste des singes de fiction</samp>, la troisième <samp>Liste de personnes figurant sur les timbres de Vanuatu</samp>, etc.\n\nSi le nombre de page dans l’espace de nom est inférieur à <var>$1limit</var>, moins de pages seront renvoyées. La même page ne sera jamais renvoyée deux fois.",
+ "apihelp-query+random-description": "Obtenir un ensemble de pages au hasard.\n\nLes pages sont listées dans un ordre prédéterminé, seul le point de départ est aléatoire. Par exemple, cela signifie que si la première page dans la liste est <samp>Accueil</samp>, la seconde sera <em>toujours</em> <samp>Liste des singes de fiction</samp>, la troisième <samp>Liste de personnes figurant sur les timbres de Vanuatu</samp>, etc.",
"apihelp-query+random-param-namespace": "Renvoyer seulement des pages de ces espaces de noms.",
"apihelp-query+random-param-limit": "Limite sur le nombre de pages aléatoires renvoyées.",
- "apihelp-query+random-param-redirect": "Charger une redirection aléatoire plutôt qu’une page aléatoire.",
+ "apihelp-query+random-param-redirect": "Utilisez <kbd>$1filterredir=redirects</kbd> au lieu de ce paramètre.",
+ "apihelp-query+random-param-filterredir": "Comment filtrer les redirections.",
"apihelp-query+random-example-simple": "Obtenir deux pages aléatoires de l’espace principal",
"apihelp-query+random-example-generator": "Renvoyer les informations de la page sur deux pages au hasard de l’espace de noms principal",
"apihelp-query+recentchanges-description": "Énumérer les modifications récentes.",
@@ -757,7 +887,21 @@
"apihelp-query+recentchanges-param-user": "Lister uniquement les modifications par cet utilisateur.",
"apihelp-query+recentchanges-param-excludeuser": "Ne pas lister les modifications par cet utilisateur.",
"apihelp-query+recentchanges-param-tag": "Lister uniquement les modifications marquées avec cette balise.",
- "apihelp-query+recentchanges-param-prop": "Inclure des informations supplémentaires :\n;user:Ajoute l’utilisateur responsable de la modification et marque si c’est une adresse IP.\n;userid:Ajoute l’ID de l’utilisateur responsable de la modification.\n;comment:Ajoute le commentaire de la modification.\n;parsedcomment:Ajoute le commentaire analysé pour la modification.\n;flags:Ajoute les balises de la modification.\n;timestamp:Ajoute l’horodatage de la modification.\n;title:Ajoute le titre de la page modifiée.\n;ids:Ajoute l’ID de la page, l’ID des modifications récentes et l’ID de l’ancienne et la nouvelle révisions.\n;sizes:Ajoute l’ancienne et la nouvelle tailles de la page en octets.\n;redirect:Marque la modification si la page est une redirection.\n;patrolled:Marque les modifications patrouillables comme patrouillées ou non.\n;loginfo:Ajoute les informations du journal (Id du journal, type de trace, etc.) aux entrées du journal.\n;tags:Liste les balises de l’entrée.\n;sha1:Ajoute la somme de contrôle du contenu pour les entrées associées à une révision.",
+ "apihelp-query+recentchanges-param-prop": "Inclure des informations supplémentaires :",
+ "apihelp-query+recentchanges-paramvalue-prop-user": "Ajoute l’utilisateur responsable de la modification et marque si c’est une adresse IP.",
+ "apihelp-query+recentchanges-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur responsable de la modification.",
+ "apihelp-query+recentchanges-paramvalue-prop-comment": "Ajoute le commentaire de la modification.",
+ "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé pour la modification.",
+ "apihelp-query+recentchanges-paramvalue-prop-flags": "Ajoute les balises de la modification.",
+ "apihelp-query+recentchanges-paramvalue-prop-timestamp": "Ajoute l’horodatage de la modification.",
+ "apihelp-query+recentchanges-paramvalue-prop-title": "Ajoute le titre de la page modifiée.",
+ "apihelp-query+recentchanges-paramvalue-prop-ids": "Ajoute l’ID de la page, l’ID des modifications récentes et l’ID de l’ancienne et la nouvelle révisions.",
+ "apihelp-query+recentchanges-paramvalue-prop-sizes": "Ajoute l’ancienne et la nouvelle tailles de la page en octets.",
+ "apihelp-query+recentchanges-paramvalue-prop-redirect": "Marque la modification si la page est une redirection.",
+ "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Marque les modifications patrouillables comme patrouillées ou non.",
+ "apihelp-query+recentchanges-paramvalue-prop-loginfo": "Ajoute les informations du journal (Id du journal, type de trace, etc.) aux entrées du journal.",
+ "apihelp-query+recentchanges-paramvalue-prop-tags": "Liste les balises de l’entrée.",
+ "apihelp-query+recentchanges-paramvalue-prop-sha1": "Ajoute la somme de contrôle du contenu pour les entrées associées à une révision.",
"apihelp-query+recentchanges-param-token": "Utiliser plutôt <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
"apihelp-query+recentchanges-param-show": "Afficher uniquement les éléments correspondant à ces critères. Par exemple, pour voir uniquement les modifications mineures par des utilisateurs connectés, mettre $1show=minor|!anon.",
"apihelp-query+recentchanges-param-limit": "Combien de modifications renvoyer au total.",
@@ -766,13 +910,16 @@
"apihelp-query+recentchanges-example-simple": "Lister les modifications récentes",
"apihelp-query+recentchanges-example-generator": "Obtenir l’information de page sur les modifications récentes non patrouillées",
"apihelp-query+redirects-description": "Renvoie toutes les redirections vers les pages données.",
- "apihelp-query+redirects-param-prop": "Quelles propriétés récupérer :\n;pageid:ID de page de chaque redirection.\n;title:Titre de chaque redirection.\n;fragment:Fragment de chaque redirection, s’il y en a un.",
+ "apihelp-query+redirects-param-prop": "Quelles propriétés récupérer :",
+ "apihelp-query+redirects-paramvalue-prop-pageid": "ID de page de chaque redirection.",
+ "apihelp-query+redirects-paramvalue-prop-title": "Titre de chaque redirection.",
+ "apihelp-query+redirects-paramvalue-prop-fragment": "Fragment de chaque redirection, s’il y en a un.",
"apihelp-query+redirects-param-namespace": "Inclure uniquement les pages dans ces espaces de nom.",
"apihelp-query+redirects-param-limit": "Combien de redirections renvoyer.",
"apihelp-query+redirects-param-show": "Afficher uniquement les éléments correspondant à ces critères :\n;fragment:Afficher uniquement les redirections avec un fragment.\n;!fragment:Afficher uniquement les redirections sans fragment.",
"apihelp-query+redirects-example-simple": "Obtenir une liste des redirections vers [[Main Page]]",
"apihelp-query+redirects-example-generator": "Obtenir des informations sur toutes les redirections vers [[Main Page]]",
- "apihelp-query+revisions-description": "Obtenir des informations sur la révision.\n\nPeut être utilisé de différentes manières :\n# Obtenir des données sur un ensemble de pages (dernière révision), en mettant les titres ou les ids de page.\n# Obtenir les révisions d’une page donnée, en utilisant les titres ou les ids de page avec début, fin ou limite.\n# Obtenir des données sur un ensemble de révisions en donnant leurs IDs et leurs ids de révision.",
+ "apihelp-query+revisions-description": "Obtenir des informations sur la révision.\n\nPeut être utilisé de différentes manières :\n# Obtenir des données sur un ensemble de pages (dernière révision), en mettant les titres ou les ids de page.\n# Obtenir les révisions d’une page donnée, en utilisant les titres ou les ids de page avec rvstart, rvend ou rvlimit.\n# Obtenir des données sur un ensemble de révisions en donnant leurs IDs avec revids.",
"apihelp-query+revisions-paraminfo-singlepageonly": "Utilisable uniquement avec une seule page (mode #2).",
"apihelp-query+revisions-param-startid": "À quel ID de révision démarrer l’énumération.",
"apihelp-query+revisions-param-endid": "Arrêter l’énumération des révisions à cet ID.",
@@ -788,29 +935,78 @@
"apihelp-query+revisions-example-first5-after": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> faites après le 01/05/2006.",
"apihelp-query+revisions-example-first5-not-localhost": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> qui n’ont pas été faites par l’utilisateur anonyme <kbd>127.0.0.1</kbd>.",
"apihelp-query+revisions-example-first5-user": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> qui ont été faites par l’utilisateur <kbd>MédiaWiki par défaut</kbd>.",
- "apihelp-query+revisions+base-param-prop": "Quelles propriétés obtenir pour chaque révision :\n;ids:L’ID de la révision.\n;flags:Marques de la révision (mineure).\n;timestamp:L’horodatage de la révision.\n;user:Utilisateur ayant fait la révision.\n;userid:ID de l’utilisateur ayant créé la révision.\n;size:Taille (en octets) de la révision.\n;sha1:SHA-1 (base 16) de la révision.\n;contentmodel:ID du modèle de contenu de la révision.\n;comment:Commentaire par l’utilisateur de la révision.\n;parsedcomment:Commentaire analysé par l’utilisateur de la révision.\n;content:Texte de la révision.\n;tags:Balises de la révision.",
+ "apihelp-query+revisions+base-param-prop": "Quelles propriétés obtenir pour chaque révision :",
+ "apihelp-query+revisions+base-paramvalue-prop-ids": "L’ID de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-flags": "Marques de la révision (mineure).",
+ "apihelp-query+revisions+base-paramvalue-prop-timestamp": "L’horodatage de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-user": "L’utilisateur qui a fait la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-userid": "L’ID de l’utilisateur créateur de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-size": "Longueur (en octets) de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-sha1": "Hachage SHA-1 (base 16) de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "ID du modèle de contenu de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-comment": "Commentaire de l’utilisateur sur la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "Commentaire analysé de l’utilisateur sur la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-content": "Texte de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-tags": "Balises de la révision.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsetree": "L’arbre d’analyse XML du contenu de la révision (nécessite le modèle de contenu <code>$1</code>).",
"apihelp-query+revisions+base-param-limit": "Limiter le nombre de révisions retournées.",
"apihelp-query+revisions+base-param-expandtemplates": "Développer les modèles dans le contenu de la révision (nécessite $1prop=content).",
- "apihelp-query+revisions+base-param-generatexml": "Générer l’arbre d’analyse XML pour le contenu de la révision (nécessite $1prop=content).",
+ "apihelp-query+revisions+base-param-generatexml": "Générer l’arbre d’analyse XML pour le contenu de la révision (nécessite $1prop=content ; remplacé par <kbd>$1prop=parsetree</kbd>).",
"apihelp-query+revisions+base-param-parse": "Analyser le contenu de la révision (nécessite $1prop=content). Pour des raisons de performance, si cette option est utilisée, $1limit est forcé à 1.",
"apihelp-query+revisions+base-param-section": "Récupérer uniquement le contenu de ce numéro de section.",
"apihelp-query+revisions+base-param-diffto": "ID de révision à comparer à chaque révision. Utiliser <kbd>prev</kbd>, <kbd>next</kbd> et <kbd>cur</kbd> pour la version précédente, suivante et actuelle respectivement.",
"apihelp-query+revisions+base-param-difftotext": "Texte auquel comparer chaque révision. Compare uniquement un nombre limité de révisions. Écrase <var>$1diffto</var>. Si <var>$1section</var> est positionné, seule cette section sera comparée avec ce texte",
"apihelp-query+revisions+base-param-contentformat": "Format de sérialisation utilisé pour <var>$1difftotext</var> et attendu pour la sortie du contenu.",
"apihelp-query+search-description": "Effectuer une recherche en texte intégral.",
- "apihelp-query+search-param-search": "Rechercher les titres (ou le contenu) de toutes les pages ayant cette valeur.",
+ "apihelp-query+search-param-search": "Rechercher les titres de page ou le contenu correspondant à cette valeur. Vous pouvez utiliser la chaîne de recherche pour invoquer des fonctionnalités de recherche spéciales, selon ce que le serveur de recherche du wiki implémente.",
"apihelp-query+search-param-namespace": "Rechercher uniquement dans ces espaces de nom.",
"apihelp-query+search-param-what": "Quel type de recherche effectuer.",
"apihelp-query+search-param-info": "Quelles métadonnées renvoyer.",
- "apihelp-query+search-param-prop": "Quelles propriétés renvoyer :\n;size:Ajoute la taille de la page en octets.\n;wordcount:Ajoute le nombre de mots de la page.\n;timestamp:Ajoute l’horodatage de la dernière modification de la page.\n;snippet:Ajoute un extrait analysé de la page.\n;titlesnippet:Ajoute un extrait analysé du titre de la page.\n;redirectsnippet:Ajoute un extrait analysé du titre de la redirection.\n;redirecttitle:Ajoute le titre de la redirection correspondante.\n;sectionsnippet:Ajoute un extrait analysé du titre de la section correspondante.\n;sectiontitle:Ajoute le titre de la section correspondante.\n;score:<span class=\"apihelp-deprecated\">Obsolète et ignoré.</span>\n;hasrelated:<span class=\"apihelp-deprecated\">Obsolète et ignoré.</span>",
+ "apihelp-query+search-param-prop": "Quelles propriétés renvoyer :",
+ "apihelp-query+search-paramvalue-prop-size": "Ajoute la taille de la page en octets.",
+ "apihelp-query+search-paramvalue-prop-wordcount": "Ajoute le nombre de mots de la page.",
+ "apihelp-query+search-paramvalue-prop-timestamp": "Ajoute l’horodatage de la dernière modification de la page.",
+ "apihelp-query+search-paramvalue-prop-snippet": "Ajoute un extrait analysé de la page.",
+ "apihelp-query+search-paramvalue-prop-titlesnippet": "Ajoute un extrait analysé du titre de la page.",
+ "apihelp-query+search-paramvalue-prop-redirectsnippet": "Ajoute un extrait analysé du titre de la redirection.",
+ "apihelp-query+search-paramvalue-prop-redirecttitle": "Ajoute le titre de la redirection correspondante.",
+ "apihelp-query+search-paramvalue-prop-sectionsnippet": "Ajoute un extrait analysé du titre de la section correspondante.",
+ "apihelp-query+search-paramvalue-prop-sectiontitle": "Ajoute le titre de la section correspondante.",
+ "apihelp-query+search-paramvalue-prop-categorysnippet": "Ajoute un extrait analysé de la catégorie correspondante.",
+ "apihelp-query+search-paramvalue-prop-isfilematch": "Ajoute un booléen indiquant si la recherche correspond au contenu du fichier.",
+ "apihelp-query+search-paramvalue-prop-score": "<span class=\"apihelp-deprecated\">Obsolète et ignoré.</span>",
+ "apihelp-query+search-paramvalue-prop-hasrelated": "<span class=\"apihelp-deprecated\">Obsolète et ignoré.</span>",
"apihelp-query+search-param-limit": "Combien de pages renvoyer au total.",
"apihelp-query+search-param-interwiki": "Inclure les résultats interwiki dans la recherche, s’ils sont disponibles.",
"apihelp-query+search-param-backend": "Quel serveur de recherche utiliser, si ce n’est pas celui par défaut.",
+ "apihelp-query+search-param-enablerewrites": "Activer la réécriture interne de la requête. Les serveurs de recherche peuvent changer la requête en une autre dont ils estiment qu'elle donne de meilleurs résultats, par exemple en corrigeant l'orthographe.",
"apihelp-query+search-example-simple": "Rechercher <kbd>signification </kbd>.",
"apihelp-query+search-example-text": "Rechercher des textes pour <kbd>signification</kbd>.",
"apihelp-query+search-example-generator": "Obtenir les informations sur les pages renvoyées par une recherche de <kbd>signification</kbd>.",
"apihelp-query+siteinfo-description": "Renvoyer les informations générales sur le site.",
- "apihelp-query+siteinfo-param-prop": "Quelles informations obtenir :\n;general:Information globale du système.\n;namespaces:Liste des espaces de nom déclarés et leur nom canonique.\n;namespacealiases:Liste des alias des espaces de nom déclarés.\n;specialpagealiases:Liste des alias des pages spéciales.\n;magicwords:Liste des mots magiques et leurs alias.\n;statistics:Renvoie les statistiques du site.\n;interwikimap:Renvoie la correspondance interwiki (éventuellement filtrée, éventuellement localisée en utilisant <var>$1inlanguagecode</var>).\n;dbrepllag:Renvoie le serveur de base de donnée avec la plus grande latence de réplication.\n;usergroups:Renvoie les groupes utilisateur et les droits associés.\n;libraries:Renvoie les bibliothèques installées sur le wiki.\n;extensions:Renvoie les extensions installées sur le wiki.\n;fileextensions:Renvoie la liste des extensions de fichier autorisées au téléchargement.\n;rightsinfo:Renvoie l’information sur les droits du wiki (sa licence), si elle est disponible.\n;restrictions:Renvoie l’information sur les types de restriction disponibles (protection).\n;languages:Renvoie une liste des langues que supporte MédiaWiki (éventuellement localisé en utilisant <var>$1inlanguagecode</var>).\n;skins:Renvoie une liste de tous les habillages activés (éventuellement localisé en utilisant <var>$1inlanguagecode</var>, sinon dans la langue du contenu).\n;extensiontags:Renvoie une liste des balises d’extension de l’analyseur.\n;functionhooks:Renvoie une liste des accroches de fonction de l’analyseur.\n;showhooks:Renvoie une liste de toutes les accroches souscrites (contenu de <var>[[mw:Manual:$wgHooks|$wgHooks]]</var>).\n;variables:Renvoie une liste des IDs de variable.\n;protocols:Renvoie une liste des protocoles qui sont autorisés dans les liens externes.\n;defaultoptions:Renvoie les valeurs par défaut pour les préférences utilisateur.",
+ "apihelp-query+siteinfo-param-prop": "Quelles informations obtenir :",
+ "apihelp-query+siteinfo-paramvalue-prop-general": "Information globale du système.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespaces": "Liste des espaces de nom déclarés et leur nom canonique.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "Liste des alias des espaces de nom déclarés.",
+ "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "Liste des alias des pages spéciales.",
+ "apihelp-query+siteinfo-paramvalue-prop-magicwords": "Liste des mots magiques et leurs alias.",
+ "apihelp-query+siteinfo-paramvalue-prop-statistics": "Renvoie les statistiques du site.",
+ "apihelp-query+siteinfo-paramvalue-prop-interwikimap": "Renvoie la correspondance interwiki (éventuellement filtrée, éventuellement localisée en utilisant <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-dbrepllag": "Renvoie le serveur de base de donnée avec la plus grande latence de réplication.",
+ "apihelp-query+siteinfo-paramvalue-prop-usergroups": "Renvoie les groupes utilisateur et les droits associés.",
+ "apihelp-query+siteinfo-paramvalue-prop-libraries": "Renvoie les bibliothèques installées sur le wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-extensions": "Renvoie les extensions installées sur le wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-fileextensions": "Renvoie la liste des extensions de fichier autorisées au téléchargement.",
+ "apihelp-query+siteinfo-paramvalue-prop-rightsinfo": "Renvoie l’information sur les droits du wiki (sa licence), si elle est disponible.",
+ "apihelp-query+siteinfo-paramvalue-prop-restrictions": "Renvoie l’information sur les types de restriction disponibles (protection).",
+ "apihelp-query+siteinfo-paramvalue-prop-languages": "Renvoie une liste des langues que supporte MédiaWiki (éventuellement localisé en utilisant <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-skins": "Renvoie une liste de tous les habillages activés (éventuellement localisé en utilisant <var>$1inlanguagecode</var>, sinon dans la langue du contenu).",
+ "apihelp-query+siteinfo-paramvalue-prop-extensiontags": "Renvoie une liste des balises d’extension de l’analyseur.",
+ "apihelp-query+siteinfo-paramvalue-prop-functionhooks": "Renvoie une liste des accroches de fonction de l’analyseur.",
+ "apihelp-query+siteinfo-paramvalue-prop-showhooks": "Renvoie une liste de toutes les accroches souscrites (contenu de <var>[[mw:Manual:$wgHooks|$wgHooks]]</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-variables": "Renvoie une liste des IDs de variable.",
+ "apihelp-query+siteinfo-paramvalue-prop-protocols": "Renvoie une liste des protocoles qui sont autorisés dans les liens externes.",
+ "apihelp-query+siteinfo-paramvalue-prop-defaultoptions": "Renvoie les valeurs par défaut pour les préférences utilisateur.",
"apihelp-query+siteinfo-param-filteriw": "Renvoyer uniquement les entrées locales ou uniquement les non locales de la correspondance interwiki.",
"apihelp-query+siteinfo-param-showalldb": "Lister tous les serveurs de base de données, pas seulement celui avec la plus grande latence.",
"apihelp-query+siteinfo-param-numberingroup": "Liste le nombre d’utilisateurs dans les groupes.",
@@ -825,7 +1021,14 @@
"apihelp-query+stashimageinfo-example-params": "Renvoie les vignettes pour deux fichiers mis en réserve",
"apihelp-query+tags-description": "Lister les balises de modification.",
"apihelp-query+tags-param-limit": "Le nombre maximal de balises à lister.",
- "apihelp-query+tags-param-prop": "Quelles propriétés récupérer :\n;name:Ajoute le nom de la balise.\n;displayname:Ajoute le message système pour la balise.\n;description:Ajoute la description de la balise.\n;hitcount:Ajoute le nombre de révisions et d’entrées du journal qui ont cette balise.\n;defined:Indique si la balise est définie.\n;source:Obtient les sources de la balise, ce qui comprend <samp>extension</samp> pour les balises définies par une extension et <samp>manual</samp> pour les balises pouvant être appliquées manuellement par les utilisateurs.\n;active:Si la balise est encore appliquée.",
+ "apihelp-query+tags-param-prop": "Quelles propriétés récupérer :",
+ "apihelp-query+tags-paramvalue-prop-name": "Ajoute le nom de la balise.",
+ "apihelp-query+tags-paramvalue-prop-displayname": "Ajoute le message système pour la balise.",
+ "apihelp-query+tags-paramvalue-prop-description": "Ajoute la description de la balise.",
+ "apihelp-query+tags-paramvalue-prop-hitcount": "Ajoute le nombre de révisions et d’entrées du journal qui ont cette balise.",
+ "apihelp-query+tags-paramvalue-prop-defined": "Indique si la balise est définie.",
+ "apihelp-query+tags-paramvalue-prop-source": "Obtient les sources de la balise, ce qui comprend <samp>extension</samp> pour les balises définies par une extension et <samp>manual</samp> pour les balises pouvant être appliquées manuellement par les utilisateurs.",
+ "apihelp-query+tags-paramvalue-prop-active": "Si la balise est encore appliquée.",
"apihelp-query+tags-example-simple": "Lister les balises disponibles",
"apihelp-query+templates-description": "Renvoie toutes les pages incluses dans les pages fournies.",
"apihelp-query+templates-param-namespace": "Afficher les modèles uniquement dans ces espaces de nom.",
@@ -840,7 +1043,10 @@
"apihelp-query+tokens-example-simple": "Récupérer un jeton csrf (par défaut)",
"apihelp-query+tokens-example-types": "Récupérer un jeton de suivi et un de patrouille",
"apihelp-query+transcludedin-description": "Trouver toutes les pages qui incluent les pages données.",
- "apihelp-query+transcludedin-param-prop": "Quelles propriétés obtenir :\n;pageid:ID de page de chaque page.\n;title:Titre de chaque page.\n;redirect:Marque si cette page est une redirection.",
+ "apihelp-query+transcludedin-param-prop": "Quelles propriétés obtenir :",
+ "apihelp-query+transcludedin-paramvalue-prop-pageid": "ID de page de chaque page.",
+ "apihelp-query+transcludedin-paramvalue-prop-title": "Titre de chaque page.",
+ "apihelp-query+transcludedin-paramvalue-prop-redirect": "Marque si cette page est une redirection.",
"apihelp-query+transcludedin-param-namespace": "Inclure uniquement les pages dans ces espaces de nom.",
"apihelp-query+transcludedin-param-limit": "Combien en renvoyer.",
"apihelp-query+transcludedin-param-show": "Afficher uniquement les éléments qui correspondent à ces critères:\n;redirect:Afficher uniquement les redirections.\n;!redirect:Afficher uniquement les non-redirections.",
@@ -853,18 +1059,51 @@
"apihelp-query+usercontribs-param-user": "Les utilisateurs pour lesquels récupérer les contributions.",
"apihelp-query+usercontribs-param-userprefix": "Récupérer les contributions pour tous les utilisateurs dont les noms commencent par cette valeur. Écrase $1user.",
"apihelp-query+usercontribs-param-namespace": "Lister uniquement les contributions dans ces espaces de nom.",
- "apihelp-query+usercontribs-param-prop": "Inclure des informations supplémentaires:\n;ids:Ajoute l’ID de page et l’ID de révision.\n;title:Ajoute le titre et l’ID d’espace de noms de la page.\n;timestamp:Ajoute l’horodatage de la modification.\n;comment:Ajoute le commentaire de la modification.\n;parsedcomment:Ajoute le commentaire analysé de la modification.\n;size:Ajoute la nouvelle taille de la modification.\n;sizediff:Ajoute le delta de taille de la modification par rapport à son parent.\n;flags:Ajoute les marques de la modification.\n;patrolled:Marque les modifications patrouillées.\n;tags:Liste les balises de la modification.",
+ "apihelp-query+usercontribs-param-prop": "Inclure des informations supplémentaires:",
+ "apihelp-query+usercontribs-paramvalue-prop-ids": "Ajoute l’ID de page et l’ID de révision.",
+ "apihelp-query+usercontribs-paramvalue-prop-title": "Ajoute le titre et l’ID d’espace de noms de la page.",
+ "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Ajoute l’horodatage de la modification.",
+ "apihelp-query+usercontribs-paramvalue-prop-comment": "Ajoute le commentaire de la modification.",
+ "apihelp-query+usercontribs-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé de la modification.",
+ "apihelp-query+usercontribs-paramvalue-prop-size": "Ajoute la nouvelle taille de la modification.",
+ "apihelp-query+usercontribs-paramvalue-prop-sizediff": "Ajoute le delta de taille de la modification par rapport à son parent.",
+ "apihelp-query+usercontribs-paramvalue-prop-flags": "Ajoute les marques de la modification.",
+ "apihelp-query+usercontribs-paramvalue-prop-patrolled": "Marque les modifications patrouillées.",
+ "apihelp-query+usercontribs-paramvalue-prop-tags": "Liste les balises de la modification.",
"apihelp-query+usercontribs-param-show": "Afficher uniquement les éléments correspondant à ces critères, par ex. les modifications non mineures uniquement : <kbd>$2show=!minor</kbd>.\n\nSi <kbd>$2show=patrolled</kbd> ou <kbd>$2show=!patrolled</kbd> est positionné, les révisions plus anciennes que <var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|seconde|secondes}}) ne seront pas affichées.",
"apihelp-query+usercontribs-param-tag": "Lister uniquement les révisions marquées avec cette balise.",
"apihelp-query+usercontribs-param-toponly": "Lister uniquement les modifications qui sont la dernière révision.",
"apihelp-query+usercontribs-example-user": "Afficher les contributions de l'utilisateur <kbd>Exemple</kbd>.",
"apihelp-query+usercontribs-example-ipprefix": "Afficher les contributions de toutes les adresses IP avec le préfixe <kbd>192.0.2.</kbd>.",
"apihelp-query+userinfo-description": "Obtenir de l’information sur l’utilisateur courant.",
- "apihelp-query+userinfo-param-prop": "Quelles informations inclure :\n;blockinfo:Marque si l’utilisateur actuel est bloqué, par qui, et pour quelle raison.\n;hasmsg:Ajoute une balise <samp>message</samp> si l’utilisateur actuel a des messages en cours.\n;groups:Liste tous les groupes auxquels appartient l’utilisateur actuel.\n;implicitgroups:Liste tous les groupes dont l’utilisateur actuel est automatiquement membre.\n;rights:Liste tous les droits qu’a l’utilisateur actuel.\n;changeablegroups:Liste les groupes pour lesquels l’utilisateur actuel peut ajouter ou supprimer.\n;options:Liste toutes les préférences qu’a défini l’utilisateur actuel.\n;preferencestoken:<span class=\"apihelp-deprecated\">Obsolete.</span> Obtient un jeton pour modifier les préférences de l’utilisateur actuel.\n;editcount:Ajoute le compteur de modifications de l’utilisateur actuel.\n;ratelimits:Liste toutes les limites de débit s’appliquant à l’utilisateur actuel.\n;realname:Ajoute le vrai nom de l’utilisateur actuel.\n;email:Ajoute l’adresse de courriel de l’utilisateur et sa date d’authentification.\n;acceptlang:Renvoie en écho l’entête <code>Accept-Language</code> envoyé par le client dans un format structuré.\n;registrationdate:Ajoute la date d’inscription de l’utilisateur.\n;unreadcount:Ajoute le compteur de pages non lues de la liste de suivi de l’utilisateur (au maximum $1 ; renvoie <samp>$2</samp> s’il y en a plus).",
+ "apihelp-query+userinfo-param-prop": "Quelles informations inclure :",
+ "apihelp-query+userinfo-paramvalue-prop-blockinfo": "Marque si l’utilisateur actuel est bloqué, par qui, et pour quelle raison.",
+ "apihelp-query+userinfo-paramvalue-prop-hasmsg": "Ajoute une balise <samp>messages</samp> si l’utilisateur actuel a des messages en cours.",
+ "apihelp-query+userinfo-paramvalue-prop-groups": "Liste tous les groupes auxquels appartient l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-implicitgroups": "Liste tous les groupes dont l’utilisateur actuel est automatiquement membre.",
+ "apihelp-query+userinfo-paramvalue-prop-rights": "Liste tous les droits qu’a l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-changeablegroups": "Liste les groupes pour lesquels l’utilisateur actuel peut ajouter ou supprimer.",
+ "apihelp-query+userinfo-paramvalue-prop-options": "Liste toutes les préférences qu’a défini l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-preferencestoken": "<span class=\"apihelp-deprecated\">Obsolete.</span> Obtenir un jeton pour modifier les préférences de l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-editcount": "Ajoute le compteur de modifications de l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-ratelimits": "Liste toutes les limites de débit s’appliquant à l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-realname": "Ajoute le vrai nom de l’utilisateur actuel.",
+ "apihelp-query+userinfo-paramvalue-prop-email": "Ajoute l’adresse de courriel de l’utilisateur et sa date d’authentification.",
+ "apihelp-query+userinfo-paramvalue-prop-acceptlang": "Renvoie en écho l’entête <code>Accept-Language</code> envoyé par le client dans un format structuré.",
+ "apihelp-query+userinfo-paramvalue-prop-registrationdate": "Ajoute la date d’inscription de l’utilisateur.",
+ "apihelp-query+userinfo-paramvalue-prop-unreadcount": "Ajoute le compteur de pages non lues de la liste de suivi de l’utilisateur (au maximum $1 ; renvoie <samp>$2</samp> s’il y en a plus).",
"apihelp-query+userinfo-example-simple": "Obtenir de l’information sur l’utilisateur actuel",
"apihelp-query+userinfo-example-data": "Obtenir des informations supplémentaires sur l’utilisateur actuel",
"apihelp-query+users-description": "Obtenir des information sur une liste d’utilisateurs",
- "apihelp-query+users-param-prop": "Quelles informations inclure :\n;blockinfo:Marque si l’utilisateur est bloqué, par qui, et pour quelle raison.\n;groups:Liste tous les groupes auquel appartient chaque utilisateur.\n;implicitgroups:Liste tous les groupes dont un utilisateur est automatiquement membre.\n;rights:Liste tous les droits qu’a un utilisateur.\n;editcount:Ajoute le compteur de modifications de l’utilisateur.\n;registration:Ajoute l’horodatage d’inscription de l’utilisateur.\n;emailable:Marque si l’utilisateur peut et veut recevoir des courriels via [[Special:Emailuser]].\n;gender:Marque le sexe de l’utilisateur. Renvoie « male », « female », ou « unknown ».",
+ "apihelp-query+users-param-prop": "Quelles informations inclure :",
+ "apihelp-query+users-paramvalue-prop-blockinfo": "Marque si l’utilisateur est bloqué, par qui, et pour quelle raison.",
+ "apihelp-query+users-paramvalue-prop-groups": "Liste tous les groupes auquel appartient chaque utilisateur.",
+ "apihelp-query+users-paramvalue-prop-implicitgroups": "Liste tous les groupes dont un utilisateur est automatiquement membre.",
+ "apihelp-query+users-paramvalue-prop-rights": "Liste tous les droits qu’a un utilisateur.",
+ "apihelp-query+users-paramvalue-prop-editcount": "Ajoute le compteur de modifications de l’utilisateur.",
+ "apihelp-query+users-paramvalue-prop-registration": "Ajoute l’horodatage d’inscription de l’utilisateur.",
+ "apihelp-query+users-paramvalue-prop-emailable": "Marque si l’utilisateur peut et veut recevoir des courriels via [[Special:Emailuser]].",
+ "apihelp-query+users-paramvalue-prop-gender": "Marque le sexe de l’utilisateur. Renvoie « male », « female », ou « unknown ».",
"apihelp-query+users-param-users": "Une liste des utilisateurs sur lesquels obtenir de l’information.",
"apihelp-query+users-param-token": "Utiliser plutôt <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
"apihelp-query+users-example-simple": "Renvoyer des informations pour l'utilisateur <kbd>Exemple</kbd>.",
@@ -876,9 +1115,21 @@
"apihelp-query+watchlist-param-user": "Lister uniquement les modifications par cet utilisateur.",
"apihelp-query+watchlist-param-excludeuser": "Ne pas lister les modifications faites par cet utilisateur.",
"apihelp-query+watchlist-param-limit": "Combien de résultats au total renvoyer par demande.",
- "apihelp-query+watchlist-param-prop": "Quels éléments supplémentaires obtenir :\n;ids:Ajoute les IDs de révision et de page.\n;title:Ajoute le titre de la page.\n;flags:Ajoute les marques de la modification.\n;user:Ajoute l’utilisateur ayant fait la modification.\n;userid:Ajoute l’ID de l’utilisateur ayant fait la modification.\n;comment:Ajoute le commentaire de la modification.\n;parsedcomment:Ajoute le commentaire analysé de la modification.\n;timestamp:Ajoute l’horodatage de la modification.\n;patrol:Marque les modifications patrouillées.\n;sizes:Ajoute les ancienne et nouvelle tailles de la page.\n;notificationtimestamp:Ajoute l’horodatage de quand l’utilisateur a été notifié de la modification la dernière fois.\n;loginfo:Ajoute l’information du journal quand c’est approprié.",
+ "apihelp-query+watchlist-param-prop": "Quelles propriétés supplémentaires obtenir :",
+ "apihelp-query+watchlist-paramvalue-prop-ids": "Ajoute les IDs de révision et de page",
+ "apihelp-query+watchlist-paramvalue-prop-title": "Ajoute le titre de la page.",
+ "apihelp-query+watchlist-paramvalue-prop-flags": "Ajoute les marqueurs de la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-user": "Ajoute l’utilisateur ayant fait la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur ayant fait la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-comment": "Ajoute le commentaire de la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé de la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-timestamp": "Ajoute l’horodatage de la modification.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Marque les modifications patrouillées.",
+ "apihelp-query+watchlist-paramvalue-prop-sizes": "Ajoute les tailles ancienne et nouvelle de la page.",
+ "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Ajoute l’horodatage de la dernière notification de la modification à l’utilisateur.",
+ "apihelp-query+watchlist-paramvalue-prop-loginfo": "Ajoute l’information de trace le cas échéant.",
"apihelp-query+watchlist-param-show": "Afficher uniquement les éléments qui correspondent à ces critères. Par exemple, pour voir uniquement les modifications mineures faites par des utilisateurs connectés, mettre $1show=minor|!anon.",
- "apihelp-query+watchlist-param-type": "Quels types de modification afficher :\n;edit:Modifications de page normale.\n;external:Modifications externes.\n;new:Créations de page.\n;log:Entrées du journal.",
+ "apihelp-query+watchlist-param-type": "Quels types de modification afficher :\n;edit:Modifications ordinaires de page.\n;external:Modifications externes.\n;new:Créations de page.\n;log:Entrées du journal.",
"apihelp-query+watchlist-param-owner": "Utilisé avec $1token pour accéder à la liste de suivi d’un autre utilisateur.",
"apihelp-query+watchlist-param-token": "Un jeton de sécurité (disponible dans les [[Special:Preferences#mw-prefsection-watchlist|préférences]] de l’utilsiateur) pour autoriser l’accès à la liste de suivi d&un autre utilisateur.",
"apihelp-query+watchlist-example-simple": "Lister la révision de tête des pages récemment modifiées dans la liste de suivi de l’utilisateur actuel",
@@ -890,10 +1141,13 @@
"apihelp-query+watchlistraw-description": "Obtenir toutes les pages de la liste de suivi de l’utilisateur actuel.",
"apihelp-query+watchlistraw-param-namespace": "Lister uniquement les pages dans les espaces de nom fournis.",
"apihelp-query+watchlistraw-param-limit": "Combien de résultats renvoyer au total par requête.",
- "apihelp-query+watchlistraw-param-prop": "Quelles propriétés supplémentaires obtenir :\n;changed:Ajoute l’horodatage de la dernière notification de l’utilisateur à propos de la modification.",
+ "apihelp-query+watchlistraw-param-prop": "Quelles propriétés supplémentaires obtenir :",
+ "apihelp-query+watchlistraw-paramvalue-prop-changed": "Ajoute l’horodatage de la dernière notification de l’utilisateur à propos de la modification.",
"apihelp-query+watchlistraw-param-show": "Lister uniquement les éléments correspondant à ces critères.",
"apihelp-query+watchlistraw-param-owner": "Utilisé avec $1token pour accéder à la liste de suivi d’un autre utilisateur.",
"apihelp-query+watchlistraw-param-token": "Un jeton de sécurité (disponible dans les [[Special:Preferences#mw-prefsection-watchlist|préférences]] de l’utilisateur) pour permettre l’accès à la liste de suivi d’un autre utilisateur.",
+ "apihelp-query+watchlistraw-param-fromtitle": "Démarrer l'énumération avec ce Titre (inclure le préfixe d'espace de noms) :",
+ "apihelp-query+watchlistraw-param-totitle": "Terminer l'énumération avec ce Titre (inclure le préfixe d'espace de noms) :",
"apihelp-query+watchlistraw-example-simple": "Lister les pages dans la liste de suivi de l’utilisateur actuel",
"apihelp-query+watchlistraw-example-generator": "Chercher l’information sur les pages de la liste de suivi de l’utilisateur actuel",
"apihelp-revisiondelete-description": "Supprimer et annuler la suppression des révisions.",
@@ -917,7 +1171,7 @@
"apihelp-rollback-example-summary": "Annuler les dernières modifications de la page <kbd>Main Page</kbd> par l’utilisateur à l’adresse IP <kbd>192.0.2.5</kbd> avec le résumé <kbd>Annulation de vandalisme<kbd>, et marquer ces modifications et l’annulation comme modifications de robots.",
"apihelp-rsd-description": "Exporter un schéma RSD (Découverte Très Simple).",
"apihelp-rsd-example-simple": "Exporter le schéma RSD",
- "apihelp-setnotificationtimestamp-description": "Mettre à jour l’horodatage de notification pour les pages suivies.\n\nCela affecte la mise en évidence des pages modifiées dans la liste de suivi et l’historique, et l’envoi de courriel quand la préférence « M’envoyer un courriel quand une page de ma liste de suivi est modifiée » est activée.",
+ "apihelp-setnotificationtimestamp-description": "Mettre à jour l’horodatage de notification pour les pages suivies.\n\nCela affecte la mise en évidence des pages modifiées dans la liste de suivi et l’historique, et l’envoi de courriel quand la préférence « {{int:tog-enotifwatchlistpages}} » est activée.",
"apihelp-setnotificationtimestamp-param-entirewatchlist": "Travailler sur toutes les pages suivies.",
"apihelp-setnotificationtimestamp-param-timestamp": "Horodatage auquel dater la notification.",
"apihelp-setnotificationtimestamp-param-torevid": "Révision pour laquelle fixer l’horodatage de notification (une page uniquement).",
@@ -926,6 +1180,15 @@
"apihelp-setnotificationtimestamp-example-page": "Réinitialiser l’état de notification pour la <kbd>Page principale<kbd>.",
"apihelp-setnotificationtimestamp-example-pagetimestamp": "Fixer l’horodatage de notification pour <kbd>Page principale</kbd> afin que toutes les modifications depuis le 1 janvier 2012 soient non vues",
"apihelp-setnotificationtimestamp-example-allpages": "Réinitialiser l’état de notification sur les pages dans l’espace de noms <kbd>{{ns:user}}</kbd>.",
+ "apihelp-tag-description": "Ajouter ou enlever des balises de modification aux révisions ou ou aux entrées de journal individuelles.",
+ "apihelp-tag-param-rcid": "Un ou plus IDs de modification récente à partir desquels ajouter ou supprimer la balise.",
+ "apihelp-tag-param-revid": "Un ou plus IDs de révision à partir desquels ajouter ou supprimer la balise.",
+ "apihelp-tag-param-logid": "Un ou plus IDs d’entrée de journal à partir desquels ajouter ou supprimer la balise.",
+ "apihelp-tag-param-add": "Balises à ajouter. Seules les balises définies manuellement peuvent être ajoutées.",
+ "apihelp-tag-param-remove": "Balises à supprimer. Seules les balises qui sont soit définies manuellement soit pas du tout définies peuvent être supprimées.",
+ "apihelp-tag-param-reason": "Motif de la modification.",
+ "apihelp-tag-example-rev": "Ajoute la balise <kbd>vandalism</kbd> à partir de l’ID de révision 123 sans indiquer de motif",
+ "apihelp-tag-example-log": "Supprimer la balise <kbd>spam</kbd> à partir de l’ID d’entrée de journal 123 avec le motif <kbd>Wrongly applied</kbd>",
"apihelp-tokens-description": "Obtenir les jetons pour les actions modifiant les données.\n\nCe module est obsolète, remplacé par [[Special:ApiHelp/query+tokens|action=query&meta=tokens]].",
"apihelp-tokens-param-type": "Types de jeton à demander.",
"apihelp-tokens-example-edit": "Récupérer un jeton de modification (par défaut).",
@@ -944,7 +1207,7 @@
"apihelp-undelete-param-watchlist": "Ajouter ou supprimer la page de la liste de suivi de l’utilisateur actuel sans condition, utiliser les préférences ou ne pas modifier le suivi.",
"apihelp-undelete-example-page": "Annuler la suppression de la page <kbd>Main Page</kbd>.",
"apihelp-undelete-example-revisions": "Annuler la suppression de deux révisions de la page <kbd>Main Page</kbd>.",
- "apihelp-upload-description": "Télécharger un fichier, ou obtenir l’état des téléchargements en cours.\n\nPlusieurs méthodes sont disponibles :\n* Télécharger directement le contenu du fichier, en utilisant le paramètre <var>$1file</var>.\n* Télécharger le fichier par morceaux, en utilsiant les paramètres <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var>.* Pour que le serveur MédiaWiki cherche un fichier depuis une URL, utiliser le paramètre <var>$1url</var>.\n* Terminer un téléchargement précédent qui a échoué à cause d’avertissements, en utilisant le paramètre <var>$1filekey</var>.\nNoter que le POST HTTP doit être fait comme un téléchargement de fichier (par ex. en utilisant <code>multipart/form-data</code>) en envoyant le <code>multipart/form-data</code>.",
+ "apihelp-upload-description": "Téléverser un fichier, ou obtenir l’état des téléversements en cours.\n\nPlusieurs méthodes sont disponibles :\n* Téléverser directement le contenu du fichier, en utilisant le paramètre <var>$1file</var>.\n* Téléverser le fichier par morceaux, en utilisant les paramètres <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var>.\n* Pour que le serveur MédiaWiki cherche un fichier depuis une URL, utilisez le paramètre <var>$1url</var>.\n* Terminer un téléversement précédent qui a échoué à cause d’avertissements, en utilisant le paramètre <var>$1filekey</var>.\nNoter que le POST HTTP doit être fait comme un téléversement de fichier (par ex. en utilisant <code>multipart/form-data</code>) en envoyant le <code>multipart/form-data</code>.",
"apihelp-upload-param-filename": "Nom de fichier cible.",
"apihelp-upload-param-comment": "Télécharger le commentaire. Utilisé aussi comme texte de la page initiale pour les nouveaux fichiers si <var>$1text</var> n’est pas spécifié.",
"apihelp-upload-param-text": "Texte de page initiale pour les nouveaux fichiers.",
@@ -980,31 +1243,31 @@
"apihelp-watch-example-watch": "Suivre la page <kbd>Page principale</kbd>.",
"apihelp-watch-example-unwatch": "Ne plus suivre la page <kbd>Page principale</kbd>.",
"apihelp-watch-example-generator": "Suivre les quelques premières pages de l’espace de nom principal",
- "apihelp-format-example-generic": "Mettre en forme le résultat de la requête dans le format $1",
+ "apihelp-format-example-generic": "Renvoyer le résultat de la requête dans le format $1.",
"apihelp-dbg-description": "Extraire les données au format de <code>var_export()</code> de PHP.",
"apihelp-dbgfm-description": "Extraire les données au format de <code>var_export()</code> de PHP (affiché proprement en HTML).",
- "apihelp-dump-description": "Extraire les données au format de <code>var_dump()</code> de PHP.",
- "apihelp-dumpfm-description": "Extraire les données au format de <code>var_dump()</code> de PHP (affiché proprement en HTML).",
"apihelp-json-description": "Extraire les données au format JSON.",
"apihelp-json-param-callback": "Si spécifié, inclut la sortie dans l’appel d’une fonction fournie. Pour plus de sûreté, toutes les données spécifiques à l’utilisateur seront restreintes.",
- "apihelp-json-param-utf8": "Si spécifié, encode la plupart (mais pas tous) des caractères non ASCII en URF-8 au lieu de les remplacer par leur séquence d’échappement hexadécimale.",
+ "apihelp-json-param-utf8": "Si spécifié, encode la plupart (mais pas tous) des caractères non ASCII en URF-8 au lieu de les remplacer par leur séquence d’échappement hexadécimale. Valeur par défaut quand <var>formatversion</var> ne vaut pas <kbd>1</kbd>.",
+ "apihelp-json-param-ascii": "Si spécifié, encode toutes ses séquences d’échappement non ASCII utilisant l’hexadécimal. Valeur par défaut quand <var>formatversion</var> vaut <kbd>1</kbd>.",
+ "apihelp-json-param-formatversion": "Mise en forme de sortie :\n;1:Format rétro-compatible (booléens de style XML, clés <samp>*</samp> pour les nœuds de contenu, etc.).\n;2:Format moderne expérimental. Des détails peuvent changer !\n;latest:Utilise le dernier format (actuellement <kbd>2</kbd>), peut changer sans avertissement.",
"apihelp-jsonfm-description": "Extraire les données au format JSON (affiché proprement en HTML).",
"apihelp-none-description": "Ne rien extraire.",
"apihelp-php-description": "Extraire les données au format sérialisé de PHP.",
+ "apihelp-php-param-formatversion": "Mise en forme de la sortie :\n;1:Format rétro-compatible (bool&ens de style XML, clés <samp>*</samp> pour les nœuds de contenu, etc.).\n;2:Format moderne expérimental. Des détails peuvent changer !\n;latest:Utilise le dernier format (actuellement <kbd>2</kbd>), peut changer sans avertissement.",
"apihelp-phpfm-description": "Extraire les données au format sérialisé de PHP (affiché proprement en HTML).",
"apihelp-rawfm-description": "Extraire les données avec les éléments de débogage au format JSON (affiché proprement en HTML).",
"apihelp-txt-description": "Extraire les données au format de <code>print_r()</code> de PHP.",
"apihelp-txtfm-description": "Extraire les données au format de <code>print_r()</code> de PHP (affiché proprement en HTML).",
- "apihelp-wddx-description": "Extraire les données au format WDDX.",
- "apihelp-wddxfm-description": "Extraire les données au format WDDX (affiché proprement en HTML).",
"apihelp-xml-description": "Extraire les données au format XML.",
"apihelp-xml-param-xslt": "Si spécifié, ajoute la page nommée comme une feuille de style XSL. La valeur doit être un titre dans l’espace de noms {{ns:mediawiki}} se terminant par <code>.xsl</code>.",
"apihelp-xml-param-includexmlnamespace": "Si spécifié, ajoute un espace de noms XML.",
"apihelp-xmlfm-description": "Extraire les données au format XML (affiché proprement en HTML).",
"apihelp-yaml-description": "Extraire les données au format YAML.",
"apihelp-yamlfm-description": "Extraire les données YAML (affiché proprement en HTML).",
- "api-format-title": "Résultat de l’API de MédiaWiki",
+ "api-format-title": "Résultat de l’API de MediaWiki",
"api-format-prettyprint-header": "Voici la représentation HTML du format $1. HTML est utile pour le débogage, mais inapproprié pour être utilisé dans une application.\n\nSpécifiez le paramètre <var>format</var> pour modifier le format de sortie. Pour voir la représentation non HTML du format $1, mettez <kbd>format=$2</kbd>.\n\nVoyez la [[mw:API|documentation complète]], ou l’[[Special:ApiHelp/main|aide de l’API]] pour plus d’information.",
+ "api-format-prettyprint-header-only-html": "Ceci est une représentation HTML à des fins de déboguage, et n’est pas approprié à une utilisation applicative.\n\nVoir la [[mw:API|documentation complète]], ou l’[[Special:ApiHelp/main|aide de l’API]] pour plus d’information.",
"api-orm-param-props": "Champs à rechercher.",
"api-orm-param-limit": "Nombre maximal de lignes à renvoyer.",
"api-pageset-param-titles": "Une liste des titres sur lesquels travailler.",
@@ -1015,7 +1278,7 @@
"api-pageset-param-redirects-nogenerator": "Résoudre automatiquement les redirections dans <var>$1titles</var>, <var>$1pageids</var> et <var>$1revids</var>.",
"api-pageset-param-converttitles": "Convertir les titres dans d’autres variantes si nécessaire. Fonctionne uniquement si la langue de contenu du wiki supporte la conversion en variantes. Les langues qui supportent la conversion en variante incluent $1.",
"api-help-title": "Aide de l’API de MediaWiki",
- "api-help-lead": "Ceci est une page d’aide de l’API de MédiaWiki générée automatiquement.\n\nDocumentation et exemples : https://www.mediawiki.org/wiki/API",
+ "api-help-lead": "Ceci est une page d’aide de l’API de MediaWiki générée automatiquement.\n\nDocumentation et exemples : https://www.mediawiki.org/wiki/API",
"api-help-main-header": "Module principal",
"api-help-flag-deprecated": "Ce module est obsolète.",
"api-help-flag-internal": "<strong>Ce module est interne ou instable.</strong> Son fonctionnement peut être modifié sans préavis.",
@@ -1023,10 +1286,22 @@
"api-help-flag-writerights": "Ce module nécessite des droits d’écriture.",
"api-help-flag-mustbeposted": "Ce module n’accepte que les requêtes POST.",
"api-help-flag-generator": "Ce module peut être utilisé comme générateur.",
+ "api-help-source": "Source : $1",
+ "api-help-source-unknown": "Source : <span class=\"apihelp-unknown\">inconnue</span>",
+ "api-help-license": "Licence : [[$1|$2]]",
+ "api-help-license-noname": "Licence : [[$1|Voir le lien]]",
+ "api-help-license-unknown": "Licence : <span class=\"apihelp-unknown\">inconnue</span>",
"api-help-parameters": "{{PLURAL:$1|Paramètre|Paramètres}} :",
"api-help-param-deprecated": "Obsolète.",
"api-help-param-required": "Ce paramètre est obligatoire.",
- "api-help-param-list": "{{PLURAL:$1|1=Une valeur|2=Valeurs (séparées par <kbd>{{!}}</kbd>)}} : $2",
+ "api-help-datatypes-header": "Type de données",
+ "api-help-datatypes": "Certains types de paramètre dans les requêtes de l’API nécessitent plus d’explication :\n;boolean\n:Les paramètres booléens fonctionnent comme des cases à cocher HTML : si le paramètre est spécifié, quelle que soit sa valeur, il est considéré comme vrai. Pour une valeur fausse, enlever complètement le paramètre.\n;timestamp\n:Les horodatages peuvent être spécifiés sous différentes formes. Date et heure ISO 8601 est recommandé. Toutes les heures sont en UTC, tout fuseau horaire inclus est ignoré.\n:* Date et heure ISO 8601, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (la ponctuation et <kbd>Z</kbd> sont facultatifs)\n:* Date et heure ISO 8601 avec fractions de seconde (ignorées), <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (tirets, deux-points et <kbd>Z</kbd> sont facultatifs)\n:* Format MédiaWiki, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Format numérique générique, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (fuseau horaire facultatif en <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, ou <kbd>-<var>##</var></kbd> sont ignorés)\n:* Format EXIF, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:*Format RFC 2822 (le fuseau horaire est facultatif), <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Format RFC 850 (le fuseau horaire est facultatif), <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Format ctime C, <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* Secondes depuis 1970-01-01T00:00:00Z sous forme d’entier de 1 à 13 chiffres (sans <kbd>0</kbd>)\n:* La chaîne <kbd>now</kbd>",
+ "api-help-param-type-limit": "Type : entier ou <kbd>max</kbd>",
+ "api-help-param-type-integer": "Type : {{PLURAL:$1|1=entier|2=liste d’entiers}}",
+ "api-help-param-type-boolean": "Type : booléen ([[Special:ApiHelp/main#main/datatypes|détails]])",
+ "api-help-param-type-timestamp": "Type : {{PLURAL:$1|1=horodatage|2=liste d’horodatages}} ([[Special:ApiHelp/main#main/datatypes|formats autorisés]])",
+ "api-help-param-type-user": "Type : {{PLURAL:$1|1=nom d’utilisateur|2=liste de noms d’utilisateur}}",
+ "api-help-param-list": "{{PLURAL:$1|1=Une des valeurs suivantes|2=Valeurs (séparées par <kbd>{{!}}</kbd>)}} : $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Doit être vide|Peut être vide, ou $2}}",
"api-help-param-limit": "Pas plus de $1 autorisé.",
"api-help-param-limit2": "Pas plus de $1 autorisé ($2 pour les robots).",
diff --git a/includes/api/i18n/gl.json b/includes/api/i18n/gl.json
index 065ced32..6b6345d0 100644
--- a/includes/api/i18n/gl.json
+++ b/includes/api/i18n/gl.json
@@ -6,15 +6,18 @@
"Chairego apc",
"VaiPolaSombra",
"Banjo",
- "Fisterraeomar"
+ "Fisterraeomar",
+ "Toliño",
+ "Umherirrender",
+ "Amire80"
]
},
"apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentación]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitudes]\n</div>\n<strong>Estado:</strong> Tódalas funcionalidades mostradas nesta páxina deberían estar funcionanado, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\n<strong>Solicitudes incorrectas:</strong> Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte [[mw:API:Errors_and_warnings|API: Erros e avisos]].",
"apihelp-main-param-action": "Que acción se realizará.",
"apihelp-main-param-format": "O formato de saída.",
"apihelp-main-param-maxlag": "O retardo máximo pode usarse cando MediaWiki está instalada nun cluster de base de datos replicadas. Para gardar accións que causen calquera retardo máis de replicación do sitio, este parámetro pode facer que o cliente espere ata que o retardo de replicación sexa menor que o valor especificado. No caso de retardo excesivo, é devolto o código de erro <samp>maxlag</samp> cunha mensaxe como <samp>esperando por $host: $lag segundos de retardo</samp>.<br />Para máis información, ver [[mw:Manual:Maxlag_parameter|Manual: Maxlag parameter]].",
- "apihelp-main-param-smaxage": "Fixar a cabeceira <code>s-maxage</code> a esos segundos. Os erros nunca se gardan na caché.",
- "apihelp-main-param-maxage": "Fixar a cabeceira <code>max-age</code> a esos segundos. Os erros nunca se gardan na caché.",
+ "apihelp-main-param-smaxage": "Fixar a cabeceira HTTP de control de caché <code>s-maxage</code> a esos segundos. Os erros nunca se gardan na caché.",
+ "apihelp-main-param-maxage": "Fixar a cabeceira HTTP de control de caché <code>max-age</code> a esos segundos. Os erros nunca se gardan na caché.",
"apihelp-main-param-assert": "Verificar se o usuario está conectado como <kbd>usuario</kbd> ou ten a marca de <kbd>bot</kbd>.",
"apihelp-main-param-requestid": "Calquera valor dado aquí será incluído na resposta. Pode usarse para distingir peticións.",
"apihelp-main-param-servedby": "Inclúa o nome do servidor que servía a solicitude nos resultados.",
@@ -80,6 +83,7 @@
"apihelp-edit-param-sectiontitle": "Título para unha nova sección.",
"apihelp-edit-param-text": "Contido da páxina.",
"apihelp-edit-param-summary": "Resumo de edición. Tamén título de sección cando $1section=new e $1sectiontitle non está definido.",
+ "apihelp-edit-param-tags": "Cambio de etiquetas a aplicar á revisión.",
"apihelp-edit-param-minor": "Edición pequena.",
"apihelp-edit-param-notminor": "Edición non pequena.",
"apihelp-edit-param-bot": "Marcar esta edición como de bot.",
@@ -113,7 +117,16 @@
"apihelp-expandtemplates-param-title": "Título da páxina.",
"apihelp-expandtemplates-param-text": "Sintaxis wiki a converter.",
"apihelp-expandtemplates-param-revid": "ID de revisión, para <nowiki>{{REVISIONID}}</nowiki> e variables similares.",
- "apihelp-expandtemplates-param-prop": "Pezas de información a retornar:\n;wikitext:O texto wiki expandido.\n;categories:Calquer categoría presente na entrada que non estea representada na saída do texto wiki\n;properties:Propiedades da páxina definidas por palabras máxicas expandidas no texto wiki\n;volatile:Definir se a saída é volátil e se non debe usarse noutra parte da páxina.\n;ttl:Tempo máximo a partir do cal os cachés do resultado deben invalidarse.\n;parsetree:O análise sintáctico en árbore do XML de entrada.\nTeña en conta que se non se selecciona ningún valor o resultado conterá o texto wiki, pero a saída estará nun formato desprezado.",
+ "apihelp-expandtemplates-param-prop": "Pezas de información a retornar.\n\nTeña en conta que se non se selecciona ningún valor o resultado conterá o texto wiki, pero a saída estará nun formato obsoleto.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "O wikitexto expandido.",
+ "apihelp-expandtemplates-paramvalue-prop-categories": "Calquera categoría presente na entrada que non estea representada na saída do texto wiki.",
+ "apihelp-expandtemplates-paramvalue-prop-properties": "Propiedades da páxina definidas por palabras máxicas expandidas no texto wiki.",
+ "apihelp-expandtemplates-paramvalue-prop-volatile": "Definir se a saída é volátil e se non debe usarse noutra parte da páxina.",
+ "apihelp-expandtemplates-paramvalue-prop-ttl": "Tempo máximo a partir do cal os cachés do resultado deben invalidarse.",
+ "apihelp-expandtemplates-paramvalue-prop-modules": "Calquera módulo ResourceLoader que as funcións de análise teñan solicitado engadir á saída. <kbd>jsconfigvars</kbd> ou <kbd>encodedjsconfigvars</kbd> deben ser solicitadas xunto con <kbd>modules</kbd>.",
+ "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Devolve as variables específicas de configuración JavaScript da páxina.",
+ "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Devolve as variables específicas de configuración JavaScript da páxina como unha cadea de texto JSON.",
+ "apihelp-expandtemplates-paramvalue-prop-parsetree": "A árbore de análise XML da entrada.",
"apihelp-expandtemplates-param-includecomments": "Cando queria incluír comentarios HTML na saída.",
"apihelp-expandtemplates-param-generatexml": "Xenerar árbore de análise XML (reemprazado por $1prop=parsetree).",
"apihelp-expandtemplates-example-simple": "Expandir o wikitexto <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
@@ -174,16 +187,16 @@
"apihelp-imagerotate-param-rotation": "Graos a rotar a imaxe no sentido do reloxio.",
"apihelp-imagerotate-example-simple": "Rotar <kbd>File:Example.png</kbd> <kbd>90</kbd> graos.",
"apihelp-imagerotate-example-generator": "Rotar tódalas imaxes en <kbd>Category:Flip</kbd> <kbd>180</kbd> graos",
- "apihelp-import-description": "Importar unha páxina doutra wiki, ou nun ficheiro XML.\n\nDecátese de que o POST HTTP debe facerse como unha carga de ficheiro (p. ex. usando multipart/form-data) cando se envíe un ficheiro para o parámetro <var>xml</var>.",
+ "apihelp-import-description": "Importar unha páxina doutra wiki, ou dun ficheiro XML.\n\nDecátese de que o POST HTTP debe facerse como unha carga de ficheiro (p. ex. usando multipart/form-data) cando se envíe un ficheiro para o parámetro <var>xml</var>.",
"apihelp-import-param-summary": "Resume de importación.",
"apihelp-import-param-xml": "Subido ficheiro XML.",
"apihelp-import-param-interwikisource": "Para importacións interwiki: wiki da que importar.",
"apihelp-import-param-interwikipage": "Para importacións interwiki: páxina a importar.",
"apihelp-import-param-fullhistory": "Para importacións interwiki: importar o historial completo, non só a versión actual.",
"apihelp-import-param-templates": "Para importacións interwiki: importar tódolos modelos incluídos.",
- "apihelp-import-param-namespace": "Para importacións interwiki: importar a este espazo de nomes.",
- "apihelp-import-param-rootpage": "Importar como subpáxina desta páxina.",
- "apihelp-import-example-import": "Importar [[meta:Help:Parserfunctions]] ó espazo de nomes 100 con todo o historial.",
+ "apihelp-import-param-namespace": "Importar a este espazo de nomes. Non se pode usar de forma conxunta con <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "Importar como subpáxina desta páxina. Non se pode usar de forma conxunta con <var>$1namespace</var>.",
+ "apihelp-import-example-import": "Importar [[meta:Help:ParserFunctions]] ó espazo de nomes 100 con todo o historial.",
"apihelp-login-description": "No caso dunha conexión correcta, as cookies necesarias incluiranse nas cabeceiras HTTP de resposta. No caso dunha conexión fallida, os intentos posteriores poden ser reducidos para limitar ataques automaticos de roubo de contrasinais.",
"apihelp-login-param-name": "Nome de usuario.",
"apihelp-login-param-password": "Contrasinal",
@@ -222,14 +235,15 @@
"apihelp-opensearch-param-suggest": "Non facer nada se <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> é falso.",
"apihelp-opensearch-param-redirects": "Como xestionar as redireccións:\n;return:Devolve a mesma redirección.\n;resolve:Devolve a páxina á que apunta. Pode devolver menos de $1limit resultados.\nPor razóns históricas, o valor por defecto para $1format=json é \"return\" e \"resolve\" para outros formatos.",
"apihelp-opensearch-param-format": "O formato de saída.",
+ "apihelp-opensearch-param-warningsaserror": "Se os avisos son recibidos con <kbd>format=json</kbd>, devolver un erro de API no canto de ignoralos.",
"apihelp-opensearch-example-te": "Atopar páxinas que comezan por <kbd>Te</kbd>.",
- "apihelp-options-description": "Cambiar as preferencias do usuario actual.\n\nSó se poden cambiar opcións que estean rexistradas no núcleo ou nunha das extensións instaladas, ou opcións con claves prefixadas con \"userjs-\" (previstas para ser usadas por scripts de usuario).",
- "apihelp-options-param-reset": "Reiniciar preferencias ás iniciais do sitio.",
+ "apihelp-options-description": "Cambiar as preferencias do usuario actual.\n\nSó se poden cambiar opcións que estean rexistradas no núcleo ou nunha das extensións instaladas, ou aquelas opcións con claves prefixadas con <code>userjs-</code> (previstas para ser usadas por escrituras de usuario).",
+ "apihelp-options-param-reset": "Reinicia as preferencias ás iniciais do sitio.",
"apihelp-options-param-resetkinds": "Lista de tipos de opcións a reinicializar cando a opción <var>$1reset</var> está definida.",
"apihelp-options-param-change": "Lista de cambios, con formato nome=valor (p. ex. skin=vector). O valor non pode ter caracteres de barra vertical. Se non se indica un valor (sen u signo igual), p. ex. nomeopcion|outraopcion|..., a opción será gardada co seu valor por defecto.",
- "apihelp-options-param-optionname": "Nome dunha opción que debe ser fixado ó valor dado por <var>$1optionvalue</var>.",
- "apihelp-options-param-optionvalue": "Valor da opción especificada por <var>$1optionname</var>, pode conter o caracter da barra vertical.",
- "apihelp-options-example-reset": "Restablecer tódaalas preferencias",
+ "apihelp-options-param-optionname": "O nome da opción que debe fixarse no valor dado por <var>$1optionvalue</var>.",
+ "apihelp-options-param-optionvalue": "O valor para a opción especificada por <var>$1optionname</var>. Pode conter barras verticais.",
+ "apihelp-options-example-reset": "Restablecer todas as preferencias.",
"apihelp-options-example-change": "Cambiar as preferencias <kbd>skin</kbd> and <kbd>hideminor</kbd>.",
"apihelp-options-example-complex": "Restaurar todas as preferencias, logo fixar <kbd>skin</kbd> e <kbd>nickname</kbd>.",
"apihelp-paraminfo-description": "Obter información sobre módulos API.",
@@ -240,6 +254,7 @@
"apihelp-paraminfo-param-pagesetmodule": "Obter información sobre o módulo pageset (proporcionando títulos= e amigos).",
"apihelp-paraminfo-param-formatmodules": "Lista dos nomes de módulo de formato (valores do parámetro <var>formato</var>). No canto use <var>$1modules</var>.",
"apihelp-paraminfo-example-1": "Amosar información para <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>, e <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>.",
+ "apihelp-parse-description": "Analiza o contido e devolve o resultado do analizador.\n\nVexa varios módulos propostos de <kbd>[[Special:ApiHelp/query|action=query]]</kbd> para obter información sobre a versión actual dunha páxina.\n\nHai varias formas de especificar o texto a analizar:\n# Especificar unha páxina ou revisión, usando <var>$1page</var>, <var>$1pageid</var>, ou <var>$1oldid</var>.\n# Especificando contido explícitamente, usando <var>$1text</var>, <var>$1title</var>, and <var>$1contentmodel</var>.\n# Especificando só un resumo a analizar. <var>$1prop</var> debe ter un valor baleiro.",
"apihelp-parse-param-title": "Título da páxina á que pertence o texto. Se non se indica, debe especificarse <var>$1contentmodel</var>, e [[API]] usarase como o título.",
"apihelp-parse-param-text": "Texto a analizar. Use <var>$1title</var> ou <var>$1contentmodel</var> para controlar o modelo de contido.",
"apihelp-parse-param-summary": "Resumo a analizar.",
@@ -247,17 +262,43 @@
"apihelp-parse-param-pageid": "Analizar o contido desta páxina. Ignora <var>$1page</var>.",
"apihelp-parse-param-redirects": "Se <var>$1page</var> ou <var>$1pageid</var> apuntar a unha redirección, resólvea.",
"apihelp-parse-param-oldid": "Analizar o contido desta revisión. Ignora <var>$1page</var> e <var>$1pageid</var>.",
+ "apihelp-parse-param-prop": "Que información obter:",
+ "apihelp-parse-paramvalue-prop-text": "Devolve o texto analizado do texto wiki.",
+ "apihelp-parse-paramvalue-prop-langlinks": "Devolve as interwikis do texto analizado.",
+ "apihelp-parse-paramvalue-prop-categories": "Devolve as categoría do texto analizado.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "Devolve a versión HTML das categorías.",
+ "apihelp-parse-paramvalue-prop-links": "Devolve as ligazóns internas do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-templates": "Devolve os modelos do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-images": "Devolve as imaxes do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-externallinks": "Devolve as ligazóns externas no texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-sections": "Devolve as seccións do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-revid": "Engade o identificador de edición do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "Engade o título do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-headitems": "Devolve os elementos a poñer na <code>&lt;cabeceira&gt;</code> da páxina.",
+ "apihelp-parse-paramvalue-prop-headhtml": "Devolve <code>&lt;cabeceira&gt;</code> analizada da páxina.",
+ "apihelp-parse-paramvalue-prop-modules": "Devolve os módulos ResourceLoader usados na páxina. <kbd>jsconfigvars</kbd> ou <kbd>encodedjsconfigvars</kbd> deben ser solicitados xunto con <kbd>modules</kbd>.",
+ "apihelp-parse-paramvalue-prop-jsconfigvars": "Devolve as variables específicas de configuración JavaScript da páxina.",
+ "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "Devolve as variables específicas de configuración JavaScript da páxina como unha cadea de texto JSON.",
+ "apihelp-parse-paramvalue-prop-indicators": "Devolve o HTML dos indicadores de estado de páxina usados na páxina.",
+ "apihelp-parse-paramvalue-prop-iwlinks": "Devolve as ligazóns interwiki do texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-wikitext": "Devolve o texto wiki orixinal que foi analizado.",
+ "apihelp-parse-paramvalue-prop-properties": "Obter varias propiedades definidas no texto wiki analizado.",
+ "apihelp-parse-paramvalue-prop-limitreportdata": "Devolve o informe de límite de forma estruturada. Non devolve datos cando <var>$1disablelimitreport</var> está fixado.",
+ "apihelp-parse-paramvalue-prop-limitreporthtml": "Devolve a versión HTML do informe de límite. Non devolve datos cando <var>$1disablelimitreport</var> está fixado.",
+ "apihelp-parse-paramvalue-prop-parsetree": "Árbores de análise XML do contido da revisión (precisa o modelo de contido <code>$1</code>)",
"apihelp-parse-param-pst": "Fai unha transformación antes de gardar a entrada antes de analizala. Válida unicamente para usar con texto.",
"apihelp-parse-param-onlypst": "Facer unha transformación antes de gardar (PST) a entrada, pero sen analizala. Devolve o mesmo wikitexto, despois de que a PST foi aplicada. Só válida cando se usa con <var>$1text</var>.",
"apihelp-parse-param-effectivelanglinks": "Inclúe ligazóns de idioma proporcionadas polas extensións (para usar con <kbd>$1prop=langlinks</kbd>).",
"apihelp-parse-param-section": "Recuperar unicamente o contido deste número de sección ou cando <kbd>new</kbd> xera unha nova sección.\n\nA sección <kbd>new</kbd> só é atendida cando se especifica <var>text</var>.",
"apihelp-parse-param-sectiontitle": "Novo título de sección cando <var>section</var> é <kbd>new</kbd>.\n\nA diferenza da edición de páxinas, non se oculta no <var>summary</var> cando se omite ou está baleiro.",
- "apihelp-parse-param-disablepp": "Desactivar o informe PP da saída do analizador.",
- "apihelp-parse-param-disableeditsection": "Desactivar as ligazóns de edición de sección da saída do analizador.",
- "apihelp-parse-param-generatexml": "Xenerar unha árbore de análise XML (necesita o modelo de contido <code>$1</code>).",
+ "apihelp-parse-param-disablelimitreport": "Omitir o informe de límite (\"Informe de límite NewPP\") da saída do analizador.",
+ "apihelp-parse-param-disablepp": "Use <var>$1disablelimitreport</var> no seu lugar.",
+ "apihelp-parse-param-disableeditsection": "Omitir as ligazóns de edición de sección da saída do analizador.",
+ "apihelp-parse-param-disabletidy": "Non executar limpeza de HTML no retorno da análise.",
+ "apihelp-parse-param-generatexml": "Xenerar unha árbore de análise XML (necesita o modelo de contido <code>$1</code>; substituído por <kbd>$2prop=parsetree</kbd>).",
"apihelp-parse-param-preview": "Analizar en modo vista previa.",
"apihelp-parse-param-sectionpreview": "Analizar en modo vista previa de sección (activa tamén o modo de vista previa).",
- "apihelp-parse-param-disabletoc": "Desactiva o índice na saída.",
+ "apihelp-parse-param-disabletoc": "Omitir o índice na saída.",
"apihelp-parse-param-contentformat": "Formato de serialización do contido usado para o texto de entrada. Só válido cando se usa con $1text.",
"apihelp-parse-param-contentmodel": "Modelo de contido do texto de entrada. Se se omite, debe especificarse $1title, e o valor por defecto será o modelo do título especificado. Só válido cando se usa con $1text.",
"apihelp-parse-example-page": "Analizar unha páxina.",
@@ -275,7 +316,7 @@
"apihelp-protect-param-protections": "Lista dos niveis de protección, con formato <kbd>action=level</kbd> (p.ex. <kbd>edit=sysop</kbd>).\n\n<strong>Nota:</strong> Todas as accións que non estean listadas terán restriccións para ser eliminadas.",
"apihelp-protect-param-expiry": "Selos de tempo de caducidade. Se só se indica un selo de tempo, usarase para todas as proteccións. Use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd>, ou <kbd>never</kbd>, para unha protección sen caducidade.",
"apihelp-protect-param-reason": "Razón para (des)protexer.",
- "apihelp-protect-param-cascade": "Activar protección en cascada (p. ex. protexer páxinas incluídas nesta páxina). Ignorado se todos os niveis de protección proporcionados non permiten o uso en cascada.",
+ "apihelp-protect-param-cascade": "Activar a protección en cascada (por exemplo, protexer os modelos transcluídos e as imaxes usadas nesta páxina). Ignórase se ningún dos niveis de protección soporta a protección en cascada.",
"apihelp-protect-param-watch": "Se se define este parámetro, engadir a páxina que se (des)protexe á lista de vixilancia do usuario actual.",
"apihelp-protect-param-watchlist": "Engadir ou eliminar sen condicións a páxina da lista de vixiancia do usuario actual, use as preferencias ou non cambie a vixiancia.",
"apihelp-protect-example-protect": "Protexer unha páxina",
@@ -294,8 +335,7 @@
"apihelp-query-param-export": "Exportar as revisións actuais de todas as páxinas dadas ou xeneradas.",
"apihelp-query-param-exportnowrap": "Devolver o XML exportado sen incluílo nun resultado XML (mesmo formato que [[Special:Export]]). Só pode usarse con $1export.",
"apihelp-query-param-iwurl": "Se fai falta obter a URL completa se o título é unha ligazón interwiki.",
- "apihelp-query-param-continue": "Cando está presente, formatea query-continue como pares clave-valor que simplemente serán mesturados na consulta orixinal. Este parámetro debe fixarse a unha cadea baleira na consulta inicial.\n\nEste parámetro está recomendado para todos os novos desenvolvementos, e será o usado por defecto na seguinte versión da API.",
- "apihelp-query-param-rawcontinue": "Actualmente ignorado. No futuro, <var>$1continue</var> virá por defecto e será necesario para recibir os datos en bruto de <samp>query-continue</samp>.",
+ "apihelp-query-param-rawcontinue": "Devolver os datos en bruto de <samp>query-continue</samp> para continuar.",
"apihelp-query-example-revisions": "Consultar [[Special:ApiHelp/query+siteinfo|información do sitio]] e [[Special:ApiHelp/query+revisions|as revisións]] da <kbd>Páxina Principal</kbd>.",
"apihelp-query-example-allpages": "Buscar revisións de páxinas que comecen por <kbd>API/</kbd>.",
"apihelp-query+allcategories-description": "Numerar tódalas categorías",
@@ -306,7 +346,9 @@
"apihelp-query+allcategories-param-min": "Devolver só categorías con polo menos este número de membros.",
"apihelp-query+allcategories-param-max": "Devolver só categorías con como moito este número de membros.",
"apihelp-query+allcategories-param-limit": "Cantas categorías devolver.",
- "apihelp-query+allcategories-param-prop": "Que propiedades recuperar:\n;size: Engade o número de páxinas na categoría.\n;hidden: Marca as categorías que están ocultas con _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+allcategories-param-prop": "Que propiedades recuperar:",
+ "apihelp-query+allcategories-paramvalue-prop-size": "Engade o número de páxinas na categoría.",
+ "apihelp-query+allcategories-paramvalue-prop-hidden": "Marca as categorías que están ocultas con <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+allcategories-example-size": "Listar categorías con información do número de páxinas en cada unha.",
"apihelp-query+allcategories-example-generator": "Obter información sobre a páxina de categoría para categorías que comezan por <kbd>List</kbd>.",
"apihelp-query+alldeletedrevisions-description": "Listar todas as revisións borradas por un usuario ou nun espazo de nomes.",
@@ -330,7 +372,9 @@
"apihelp-query+allfileusages-param-to": "Título do ficheiro no que rematar de enumerar.",
"apihelp-query+allfileusages-param-prefix": "Buscar tódolos títulos de ficheiro que comezan con este valor.",
"apihelp-query+allfileusages-param-unique": "Mostrar só nomes de ficheiro distintos. Non pode usarse con $1prop=ids.\nCando se usa como xenerador, produce páxinas obxectivo no canto de páxinas fonte.",
- "apihelp-query+allfileusages-param-prop": "Que partes de información incluír:\n;ids:Engade o ID de páxina usada (non pode usarse con $1unique).\n;title:Engade o nome do ficheiro.",
+ "apihelp-query+allfileusages-param-prop": "Que partes de información incluír:",
+ "apihelp-query+allfileusages-paramvalue-prop-ids": "Engade os IDs das páxinas usadas (non pode usarse con $1unique).",
+ "apihelp-query+allfileusages-paramvalue-prop-title": "Engade o nome do ficheiro.",
"apihelp-query+allfileusages-param-limit": "Número total de obxectos a devolver.",
"apihelp-query+allfileusages-param-dir": "Dirección na cal listar.",
"apihelp-query+allfileusages-example-B": "Lista títulos de ficheiro, incluíndo os eliminados, cos IDs de páxina dos que proveñen, comezando en <kbd>B</kbd>.",
@@ -362,7 +406,9 @@
"apihelp-query+alllinks-param-to": "Título da ligazón na que rematar de enumerar.",
"apihelp-query+alllinks-param-prefix": "Buscar tódolos títulos ligados que comezan con este valor.",
"apihelp-query+alllinks-param-unique": "Mostrar só títulos ligados distintos. Non pode usarse con <kbd>$1prop=ids</kbd>.\nCando se usa como xenerador, produce páxinas obxectivo no canto de páxinas fonte.",
- "apihelp-query+alllinks-param-prop": "Que partes de información incluír:\n;ids: Engade o ID da páxina da ligazón (non pode usarse con <var>$1unique</var>).\n;título: Engade o título da ligazón.",
+ "apihelp-query+alllinks-param-prop": "Que partes de información incluír:",
+ "apihelp-query+alllinks-paramvalue-prop-ids": "Engade o ID da páxina da ligazón (non pode usarse con <var>$1unique</var>).",
+ "apihelp-query+alllinks-paramvalue-prop-title": "Engade o título da ligazón.",
"apihelp-query+alllinks-param-namespace": "Espazo de nomes a enumerar.",
"apihelp-query+alllinks-param-limit": "Número total de obxectos a devolver.",
"apihelp-query+alllinks-param-dir": "Dirección na cal listar.",
@@ -409,7 +455,11 @@
"apihelp-query+allredirects-param-to": "Título da redirección na que rematar de enumerar.",
"apihelp-query+allredirects-param-prefix": "Buscar todas as páxinas que comecen con este valor.",
"apihelp-query+allredirects-param-unique": "Só mostrar páxinas obxectivo distintas. Non pode usarse con $1prop=ids|fragment|interwiki.\nCando se usa como xenerador, produce páxinas obxectivo no canto de páxinas fonte.",
- "apihelp-query+allredirects-param-prop": "Que información incluír:\n;ids:Engade o ID da páxina da redirección (non pode usarse con <var>$1unique</var>).\n;title:Engade o título da redirección.\n;fragment:Engade o fragmento da redirección, se o hai (non pode usarse con <var>$1unique</var>).\n;interwiki:Engade o prefixo interwiki da redirección, se o hai (non pode usarse con <var>$1unique</var>).",
+ "apihelp-query+allredirects-param-prop": "Que información incluír:",
+ "apihelp-query+allredirects-paramvalue-prop-ids": "Engade o ID da páxina da redirección (non pode usarse con <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-title": "Engade o título da redirección.",
+ "apihelp-query+allredirects-paramvalue-prop-fragment": "Engade o fragmento da redirección, se o hai (non pode usarse con <var>$1unique</var>).",
+ "apihelp-query+allredirects-paramvalue-prop-interwiki": "Engade o prefixo interwiki da redirección, se o hai (non pode usarse con <var>$1unique</var>).",
"apihelp-query+allredirects-param-namespace": "Espazo de nomes a enumerar.",
"apihelp-query+allredirects-param-limit": "Número total de obxectos a devolver.",
"apihelp-query+allredirects-param-dir": "Dirección na cal listar.",
@@ -422,7 +472,9 @@
"apihelp-query+alltransclusions-param-to": "Título da transclusión na que rematar de enumerar.",
"apihelp-query+alltransclusions-param-prefix": "Buscar todos os títulos transcluídos que comezan con este valor.",
"apihelp-query+alltransclusions-param-unique": "Mostrar só títulos transcluídos distintos. Non pode usarse con <kbd>$1prop=ids</kbd>.\nCando se usa como xenerador, produce páxinas obxectivo no canto de páxinas fonte.",
- "apihelp-query+alltransclusions-param-prop": "Que partes de información incluír:\n;ids: Engade o ID da páxina da páxina transcluída (non pode usarse con $1unique).\n;title: Engade o título da transclusión.",
+ "apihelp-query+alltransclusions-param-prop": "Que partes de información incluír:",
+ "apihelp-query+alltransclusions-paramvalue-prop-ids": "Engade o ID da páxina da páxina transcluída (non pode usarse con $1unique).",
+ "apihelp-query+alltransclusions-paramvalue-prop-title": "Engade o título da transclusión.",
"apihelp-query+alltransclusions-param-namespace": "Nome de espazos a numerar.",
"apihelp-query+alltransclusions-param-limit": "Número total de obxectos a devolver.",
"apihelp-query+alltransclusions-param-dir": "Dirección na cal listar.",
@@ -438,7 +490,13 @@
"apihelp-query+allusers-param-group": "Só incluír os usuarios nos grupos dados.",
"apihelp-query+allusers-param-excludegroup": "Excluír usuarios nos grupos dados.",
"apihelp-query+allusers-param-rights": "Incluír só ós usuarios cos dereitos dados. Non se inclúen grupo implícitos nin autopromocionados como *, usuario ou autoconfirmado.",
- "apihelp-query+allusers-param-prop": "Que información incluír:\n;blockinfo:Engade información sobre o bloque actual do usuario.\n;groups:Lista de grupos nos que está o usuario. Isto usa máis recursos no servidor e pode devolver menos resultados que o límite.\n;implicitgroups:Lista todos os grupos ós que usuario pertence de forma automática.\n;rights:Lista os dereitos que ten o usuario.\n;editcount:Engade o número de edicións do usuario.\n;registration:Engade o selo de tempo do momento no que se rexistrou o usuario, se está dispoñible (pode ser branco).",
+ "apihelp-query+allusers-param-prop": "Que información incluír:",
+ "apihelp-query+allusers-paramvalue-prop-blockinfo": "Engade información sobre o bloque actual do usuario.",
+ "apihelp-query+allusers-paramvalue-prop-groups": "Lista de grupos nos que está o usuario. Isto usa máis recursos no servidor e pode devolver menos resultados que o límite.",
+ "apihelp-query+allusers-paramvalue-prop-implicitgroups": "Lista todos os grupos ós que usuario pertence de forma automática.",
+ "apihelp-query+allusers-paramvalue-prop-rights": "Lista os dereitos que ten o usuario.",
+ "apihelp-query+allusers-paramvalue-prop-editcount": "Engade o número de edicións do usuario.",
+ "apihelp-query+allusers-paramvalue-prop-registration": "Engade o selo de tempo do momento no que se rexistrou o usuario, se está dispoñible (pode ser branco).",
"apihelp-query+allusers-param-limit": "Número total de nomes de usuario a devolver.",
"apihelp-query+allusers-param-witheditsonly": "Só listar usuarios que teñan feito edicións.",
"apihelp-query+allusers-param-activeusers": "Só listar usuarios activos {{PLURAL:$1|no último día|nos $1 últimos días}}.",
@@ -460,11 +518,25 @@
"apihelp-query+blocks-param-users": "Lista de usuarios a buscar (opcional).",
"apihelp-query+blocks-param-ip": "Obter todos os bloques aplicables a esta IPs ou a este rango CIDR, incluíndo bloques de rangos.\nNon pode usarse xunto con <var>$3users</var>. Os rangos CIDR maiores que IPv4/$1 ou IPv6/$2 non se aceptan.",
"apihelp-query+blocks-param-limit": "Número máximo de bloques a listar.",
+ "apihelp-query+blocks-param-prop": "Que propiedades obter:",
+ "apihelp-query+blocks-paramvalue-prop-id": "Engade o identificador do bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-user": "Engade o nome de usario do usuario bloqueado.",
+ "apihelp-query+blocks-paramvalue-prop-userid": "Engade o identificador de usuario do usuario bloqueado.",
+ "apihelp-query+blocks-paramvalue-prop-by": "Engade o nome de usuario do usuario que fixo o bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-byid": "Engade o identificador do usuario que fixo o bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-timestamp": "Engade o selo de tempo de cando se realizou o bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-expiry": "Engade o selo de tempo de cando remata o bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-reason": "Engade a razón dada para o bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-range": "Engade o rango de direccións IP afectadas polo bloqueo.",
+ "apihelp-query+blocks-paramvalue-prop-flags": "Etiqueta o bloqueo con (autoblock, anononly, etc.).",
"apihelp-query+blocks-param-show": "Só mostrar elementos correspondentes a eses criterios.\nPor exemplo, para ver só bloques indefinidos en direccións IP, ponga <kbd>$1show=ip|!temp</kbd>.",
"apihelp-query+blocks-example-simple": "Listar bloques.",
"apihelp-query+blocks-example-users": "Lista de bloques de usuarios <kbd>Alice</kbd> e <kbd>Bob</kbd>.",
"apihelp-query+categories-description": "Listar todas as categorías ás que pertencen as páxinas.",
- "apihelp-query+categories-param-prop": "Que propiedades adicionais obter para cada categoría:\n;sortkey:Engade a clave de ordenación (cadea hexadecimal) e o prefixo da clave de ordenación (parte lexible) da categoría.\n;timestamp:Engade o selo de tempo de cando se engadíu a categoría.\n;hidden:Pon unha marca nas categorías que están ocultas con _&#95;HIDDENCAT_&#95;.",
+ "apihelp-query+categories-param-prop": "Que propiedades adicionais obter para cada categoría:",
+ "apihelp-query+categories-paramvalue-prop-sortkey": "Engade a clave de ordenación (cadea hexadecimal) e o prefixo da clave de ordenación (parte lexible) da categoría.",
+ "apihelp-query+categories-paramvalue-prop-timestamp": "Engade o selo de tempo de cando se engadíu a categoría.",
+ "apihelp-query+categories-paramvalue-prop-hidden": "Pon unha marca nas categorías que están ocultas con <code>_&#95;HIDDENCAT_&#95;</code>.",
"apihelp-query+categories-param-show": "Tipo de categorías a amosar.",
"apihelp-query+categories-param-limit": "Cantas categorías devolver.",
"apihelp-query+categories-param-categories": "Listar só esas categorías. Útil para verificar se unha páxina concreta está nunha categoría determinada.",
@@ -476,7 +548,13 @@
"apihelp-query+categorymembers-description": "Listar tódalas páxinas nunha categoría determinada.",
"apihelp-query+categorymembers-param-title": "Que categoría enumerar (obrigatorio). Debe incluír o prefixo <kbd>{{ns:category}}:</kbd>. Non pode usarse xunto con <var>$1pageid</var>.",
"apihelp-query+categorymembers-param-pageid": "ID de páxina da categoría a enumerar. Non se pode usar xunto con <var>$1title</var>.",
- "apihelp-query+categorymembers-param-prop": "Que información incluír:\n;ids:Engade o ID da páxina.\n;title:Engade o título e o ID do espazo de nomes da páxina.\n;sortkey:Engade a clave de ordenación usada para ordenala na categoría (cadea hexadecimal).\n;sortkeyprefix:Engade o prefixo da clave de ordenación usado para ordenala na categoría (parte lexible da clave de ordenación).\n;type:Engade o tipo no que foi categorizado a páxina (páxina, subcategoría ou ficheiro)\n;timestamp:Engade o selo de tempo no que foi incluída a páxina.",
+ "apihelp-query+categorymembers-param-prop": "Que información incluír:",
+ "apihelp-query+categorymembers-paramvalue-prop-ids": "Engade o ID da páxina.",
+ "apihelp-query+categorymembers-paramvalue-prop-title": "Engade o título e o ID do espazo de nomes da páxina.",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkey": "Engade a clave de ordenación usada para ordenala na categoría (cadea hexadecimal).",
+ "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix": "Engade o prefixo da clave de ordenación usado para ordenala na categoría (parte lexible da clave de ordenación).",
+ "apihelp-query+categorymembers-paramvalue-prop-type": "Engade o tipo no que foi categorizado a páxina (páxina, subcategoría ou ficheiro)",
+ "apihelp-query+categorymembers-paramvalue-prop-timestamp": "Engade o selo de tempo no que foi incluída a páxina.",
"apihelp-query+categorymembers-param-namespace": "Só incluír páxinas nestes espazos de nomes. Decátese de que poden usarse <kbd>$1type=subcat</kbd> ou <kbd>$1type=file</kbd> no canto de <kbd>$1namespace=14</kbd> ou <kbd>6</kbd>.",
"apihelp-query+categorymembers-param-type": "Que tipo de membros da categoría incluír. Ignorado cando está activo <kbd>$1sort=timestamp</kbd>.",
"apihelp-query+categorymembers-param-limit": "Máximo número de páxinas a retornar.",
@@ -484,12 +562,12 @@
"apihelp-query+categorymembers-param-dir": "En que dirección ordenar.",
"apihelp-query+categorymembers-param-start": "Selo de tempo para comezar o listado. Só pode usarse con <kbd>$1sort=timestamp</kbd>.",
"apihelp-query+categorymembers-param-end": "Selo de tempo co que rematar o listado. Só pode usarse con <kbd>$1sort=timestamp</kbd>.",
- "apihelp-query+categorymembers-param-starthexsortkey": "Chave de ordenación coa que comezar o listado, como se indique en <kbd>$1prop=sortkey</kbd>. Pode usarse só con <kbd>$1sort=sortkey</kbd>.",
- "apihelp-query+categorymembers-param-endhexsortkey": "Chave de ordenación coa que rematar o listado, como se indique en <kbd>$1prop=sortkey</kbd>. Pode usarse só con <kbd>$1sort=sortkey</kbd>.",
- "apihelp-query+categorymembers-param-startsortkeyprefix": "Prefixo da chave de ordenación coa que comezar o listado. Pode usarse só con <kbd>$1sort=sortkey</kbd>. Ignórase <var>$1starthexsortkey</var>.",
- "apihelp-query+categorymembers-param-endsortkeyprefix": "Prefixo da chave de ordenación ANTES de rematar o listado (e non a, se existe este valor entón non será incluído!). Pode usarse só con <kbd>$1sort=sortkey</kbd>. Ignórase $1endhexsortkey.",
- "apihelp-query+categorymembers-param-startsortkey": "Usar $1starthexsortkey no canto.",
- "apihelp-query+categorymembers-param-endsortkey": "Usar $1endhexsortkey no canto.",
+ "apihelp-query+categorymembers-param-starthexsortkey": "Clave de ordenación coa que comezar a lista, como se indique en <kbd>$1prop=sortkey</kbd>. Pode usarse só con <kbd>$1sort=sortkey</kbd>.",
+ "apihelp-query+categorymembers-param-endhexsortkey": "Clave de ordenación na que rematar a lista, como se indique en <kbd>$1prop=sortkey</kbd>. Pode usarse só con <kbd>$1sort=sortkey</kbd>.",
+ "apihelp-query+categorymembers-param-startsortkeyprefix": "Prefixo da clave de ordenación co que comezar a lista. Pode usarse só con <kbd>$1sort=sortkey</kbd>. Sobrescríbese <var>$1starthexsortkey</var>.",
+ "apihelp-query+categorymembers-param-endsortkeyprefix": "Prefixo da clave de ordenación no que rematar a lista <strong>antes</strong> (e non <strong>en</strong>; se existe este valor entón non será incluído!). Pode usarse só con $1sort=sortkey. Sobrescríbese $1endhexsortkey.",
+ "apihelp-query+categorymembers-param-startsortkey": "Usar $1starthexsortkey no seu lugar.",
+ "apihelp-query+categorymembers-param-endsortkey": "Usar $1endhexsortkey no seu lugar.",
"apihelp-query+categorymembers-example-simple": "Obter as dez primeiras páxinas de <kbd>Category:Physics</kbd>.",
"apihelp-query+categorymembers-example-generator": "Obter a información das primeiras dez páxinas de <kbd>Category:Physics</kbd>.",
"apihelp-query+contributors-description": "Obter a lista de contribuidores conectados e o número de contribuidores anónimos dunha páxina.",
@@ -505,8 +583,6 @@
"apihelp-query+deletedrevisions-param-tag": "Só listar revisións marcadas con esta etiqueta.",
"apihelp-query+deletedrevisions-param-user": "Só listar revisións deste usuario.",
"apihelp-query+deletedrevisions-param-excludeuser": "Non listar revisións deste usuario.",
- "apihelp-query+deletedrevisions-param-limit": "Máximo número de revisións a listar.",
- "apihelp-query+deletedrevisions-param-prop": "Que propiedades obter:\n;revid:Engade o ID da modificación borrada.\n;parentid:Engade o ID da modificación da modificación anterior da páxina.\n;user:Engade o usuario que fixo a modificación.\n;userid:Engade o ID do usuario que fixo a modificación.\n;comment:Engade o comentario da modificación.\n;parsedcomment:Engade o comentario analizado da modificación.\n;minor:Engade unha marca se a modificación é menor.\n;len:Engade a lonxitude (bytes) da modificación.\n;sha1:Engade a función SHA-1 (base 16) da modificación.\n;content:Engade o contido da modificación.\n;tags:Marcas da modificación.",
"apihelp-query+deletedrevisions-example-titles": "Listar as revisións borradas das páxinas <kbd>Main Page</kbd> e <kbd>Talk:Main Page</kbd>, con contido.",
"apihelp-query+deletedrevisions-example-revids": "Listar a información para a revisión borrada <kbd>123456</kbd>.",
"apihelp-query+deletedrevs-description": "Lista as modificación borradas.\n\nOpera según tres modos:\n#Lista as modificacións borradas dos títulos indicados, ordenados por selo de tempo.\n#Lista as contribucións borradas do usuario indicado, ordenadas por selo de tempo (sen indicar títulos).\n#Lista todas as modificacións borradas no espazo de nomes indicado, ordenadas por título e selo de tempo (sen indicar títulos, sen fixar $1user).\n\nCertos parámetros só se aplican a algúns modos e son ignorados noutros.",
@@ -522,6 +598,7 @@
"apihelp-query+deletedrevs-param-excludeuser": "Non listar revisións deste usuario.",
"apihelp-query+deletedrevs-param-namespace": "Só listar páxinas neste espazo de nomes.",
"apihelp-query+deletedrevs-param-limit": "Máximo número de revisións a listar.",
+ "apihelp-query+deletedrevs-param-prop": "Que propiedades devolver:\n;revid:Engade o identificador de modificación da modificación borrada.\n;parentid:Engade o identificador de modificación da versión anterior da páxina.\n;user:Engade o usuario que fixo esa modificación.\n;userid:Engade o identificador de usuario que fixo esa modificación.\n;comment:Engade o comentario da modificación.\n;parsedcomment:Engade o comentario analizado da modificación.\n;minor:Indica se a modificación é menor.\n;len:Engade a lonxitude (bytes) da modificación.\n;sha1:Engade o SHA-1 (base 16) da modificación.\n;content:Engade o contido da modificación.\n;token:<span class=\"apihelp-deprecated\">Obsoleto.</span> Devolve o identificador da modificación.\n;tags:Etiquetas da modificación.",
"apihelp-query+deletedrevs-example-mode1": "Listar as últimas revisións borradas das páxinas <kbd>Main Page</kbd> e <kbd>Talk:Main Page</kbd>, con contido (modo 1).",
"apihelp-query+deletedrevs-example-mode2": "Listar as últimas 50 contribucións borradas de <kbd>Bob</kbd> (modo 2).",
"apihelp-query+deletedrevs-example-mode3-main": "Listar as primeiras 50 revisións borradas no espazo de nomes principal (modo 3)",
@@ -549,7 +626,10 @@
"apihelp-query+extlinks-param-expandurl": "Expandir as URLs relativas a un protocolo co protocolo canónico.",
"apihelp-query+extlinks-example-simple": "Obter unha de ligazóns externas á <kbd>Páxina Principal<kbd>.",
"apihelp-query+exturlusage-description": "Enumerar páxinas que conteñen unha dirección URL dada.",
- "apihelp-query+exturlusage-param-prop": "Que información incluír:\n;ids:Engade o ID da páxina.\n;title:Engade o título e o ID do espazo de nomes da páxina.\n;url:Engade a URL usada na páxina.",
+ "apihelp-query+exturlusage-param-prop": "Que información incluír:",
+ "apihelp-query+exturlusage-paramvalue-prop-ids": "Engade o ID da páxina.",
+ "apihelp-query+exturlusage-paramvalue-prop-title": "Engade o título e o ID do espazo de nomes da páxina.",
+ "apihelp-query+exturlusage-paramvalue-prop-url": "Engade a URL usada na páxina.",
"apihelp-query+exturlusage-param-protocol": "Protocolo da URL. Se está baleiro e está activo <var>$1query</var>, o protocolo é <kbd>http</kbd>. Deixar esa variable e a <var>$1query</var> baleiras para listar todas as ligazóns externas.",
"apihelp-query+exturlusage-param-query": "Buscar unha cadea sen protocolo. Ver [[Special:LinkSearch]]. Deixar baleira para listar todas as ligazóns externas.",
"apihelp-query+exturlusage-param-namespace": "Espazo de nomes a enumerar.",
@@ -564,12 +644,28 @@
"apihelp-query+filearchive-param-dir": "Dirección na cal listar.",
"apihelp-query+filearchive-param-sha1": "Función hash SHA1 da imaxe. Invalida $1sha1base36.",
"apihelp-query+filearchive-param-sha1base36": "Función hash SHA1 da imaxe en base 36 (usado en MediaWiki).",
+ "apihelp-query+filearchive-param-prop": "Que información de imaxe devolver:",
+ "apihelp-query+filearchive-paramvalue-prop-sha1": "Engade a función hash SHA-1 da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-timestamp": "Engade o selo de tempo da versión subida.",
+ "apihelp-query+filearchive-paramvalue-prop-user": "Engade o usuario que subiu a versión da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-size": "Engade o tamaño da imaxe en bytes e a altura, anchura e contador de páxina (se é aplicable).",
+ "apihelp-query+filearchive-paramvalue-prop-dimensions": "Alias para o tamaño.",
+ "apihelp-query+filearchive-paramvalue-prop-description": "Engade a descrición da versión da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-parseddescription": "Analiza a descrición na versión.",
+ "apihelp-query+filearchive-paramvalue-prop-mime": "Engade o tipo MIME da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-mediatype": "Engade o tipo multimedia da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-metadata": "Lista os metadatos Exif da versión da imaxe.",
+ "apihelp-query+filearchive-paramvalue-prop-bitdepth": "Engade a profundidade de bit da versión.",
+ "apihelp-query+filearchive-paramvalue-prop-archivename": "Engade o nome do ficheiro da versión do ficheiro para as versións que non son a última.",
"apihelp-query+filearchive-example-simple": "Mostrar unha lista de tódolos fichieiros eliminados.",
"apihelp-query+filerepoinfo-description": "Devolver a meta información sobre os repositorios de imaxes configurados na wiki.",
"apihelp-query+filerepoinfo-param-prop": "Que propiedades do repositorio mostrar (pode haber máis dispoñible nalgunhas wikis):\n;apiurl:URL ó API do repositorio - útil para obter información das imaxes no host.\n;name:A clave do repositorio - usada p. ex. nas variables de retorno de <var>[[mw:Manual:$wgForeignFileRepos|$wgForeignFileRepos]]</var> e [[Special:ApiHelp/query+imageinfo|imageinfo]]\n;displayname:O nome lexible do wiki repositorio.\n;rooturl:URL raíz dos camiños de imaxe.\n;local:Se o repositorio é o repositorio local ou non.",
"apihelp-query+filerepoinfo-example-simple": "Obter infomación sobre os repositorios de ficheiros",
"apihelp-query+fileusage-description": "Atopar tódalas páxinas que usan os ficheiros dados.",
- "apihelp-query+fileusage-param-prop": "Que propiedades obter:\n;pageid:ID de cada páxina.\n;título:Título de cada páxina.\n;redirect:Marca de se a páxina é unha redirección.",
+ "apihelp-query+fileusage-param-prop": "Que propiedades obter:",
+ "apihelp-query+fileusage-paramvalue-prop-pageid": "ID de cada páxina.",
+ "apihelp-query+fileusage-paramvalue-prop-title": "Título de cada páxina.",
+ "apihelp-query+fileusage-paramvalue-prop-redirect": "Marca de se a páxina é unha redirección.",
"apihelp-query+fileusage-param-namespace": "Só incluír páxinas nestes espazos de nomes.",
"apihelp-query+fileusage-param-limit": "Cantos mostrar.",
"apihelp-query+fileusage-param-show": "Mostrar só elementos que cumpren estes criterios:\n;redirect:Só mostra redireccións.\n;!redirect:Só mostra as que non son redireccións.",
@@ -605,6 +701,7 @@
"apihelp-query+imageinfo-param-extmetadatalanguage": "Que lingua buscar en extmetadata. Isto afecta tanto á tradución a buscar, se hai varias dispoñibles, como a como se formatean cousas como os números e outros valores.",
"apihelp-query+imageinfo-param-extmetadatamultilang": "Se as traducións para a propiedade extmetadata están dispoñibles, búscaas todas.",
"apihelp-query+imageinfo-param-extmetadatafilter": "Se está especificado e non baleiro, só se devolverán esas claves para $1prop=extmetadata.",
+ "apihelp-query+imageinfo-param-urlparam": "Unha cadea de parámetro específico no analizador. Por exemplo, os PDFs poden usar <kbd>page15-100px</kbd>. Debe usarse <var>$1urlwidth</var> que debe ser coherente con <var>$1urlparam</var>.",
"apihelp-query+imageinfo-param-localonly": "Só buscar ficheiros no repositorio local.",
"apihelp-query+imageinfo-example-simple": "Busca a información sobre a versión actual de [[:File:Albert Einstein Head.jpg]].",
"apihelp-query+imageinfo-example-dated": "Busca información sobre as versións de [[:File:Test.jpg]] posteriores a 2008.",
@@ -644,13 +741,16 @@
"apihelp-query+iwbacklinks-param-prefix": "Prefixo para a interwiki.",
"apihelp-query+iwbacklinks-param-title": "Ligazón interwiki a buscar. Debe usarse con <var>$1blprefix</var>.",
"apihelp-query+iwbacklinks-param-limit": "Número total de páxinas a devolver.",
- "apihelp-query+iwbacklinks-param-prop": "Que propiedades obter:\n;iwprefix:Engade o prefixo da interwiki.\n;iwtitle:Engade o título da interwiki.",
+ "apihelp-query+iwbacklinks-param-prop": "Que propiedades obter:",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwprefix": "Engade o prefixo da interwiki.",
+ "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle": "Engade o título da interwiki.",
"apihelp-query+iwbacklinks-param-dir": "Dirección na cal listar.",
"apihelp-query+iwbacklinks-example-simple": "Obter as páxinas ligadas a [[wikibooks:Test]]",
"apihelp-query+iwbacklinks-example-generator": "Obter información sobre as páxinas que ligan a [[wikibooks:Test]].",
"apihelp-query+iwlinks-description": "Devolve todas as ligazóns interwiki ás páxinas indicadas.",
"apihelp-query+iwlinks-param-url": "Se obter a URL completa (non pode usarse con $1prop).",
- "apihelp-query+iwlinks-param-prop": "Que propiedades adicionais obter para cada ligazón interwiki:\n;url:Engade a URL completa.",
+ "apihelp-query+iwlinks-param-prop": "Que propiedades adicionais obter para cada ligazón interwiki:",
+ "apihelp-query+iwlinks-paramvalue-prop-url": "Engade a URL completa.",
"apihelp-query+iwlinks-param-limit": "Cantas ligazóns interwiki devolver.",
"apihelp-query+iwlinks-param-prefix": "Só devolver ligazóns interwiki con este prefixo.",
"apihelp-query+iwlinks-param-title": "Ligazón interwiki a buscar. Debe usarse con <var>$1prefix</var>.",
@@ -660,14 +760,19 @@
"apihelp-query+langbacklinks-param-lang": "Lingua para a ligazón de lingua.",
"apihelp-query+langbacklinks-param-title": "Ligazón de lingua a buscar. Debe usarse con $1lang.",
"apihelp-query+langbacklinks-param-limit": "Número total de páxinas a devolver.",
- "apihelp-query+langbacklinks-param-prop": "Que propiedades obter:\n;lllang:Engade o código de lingua á ligazón de páxina.\n;lltitle:Engade o título da ligazón de lingua.",
+ "apihelp-query+langbacklinks-param-prop": "Que propiedades obter:",
+ "apihelp-query+langbacklinks-paramvalue-prop-lllang": "Engade o código de lingua á ligazón de páxina.",
+ "apihelp-query+langbacklinks-paramvalue-prop-lltitle": "Engade o título da ligazón de lingua.",
"apihelp-query+langbacklinks-param-dir": "Dirección na cal listar.",
"apihelp-query+langbacklinks-example-simple": "Obter as páxinas ligadas a [[:fr:Test]].",
"apihelp-query+langbacklinks-example-generator": "Obter información sobre as páxinas que ligan a [[:fr:Test]].",
"apihelp-query+langlinks-description": "Devolve todas as ligazóns interwiki ás páxinas indicadas.",
"apihelp-query+langlinks-param-limit": "Cantas ligazóns de lingua devolver.",
"apihelp-query+langlinks-param-url": "Se obter a URL completa (non pode usarse con <var>$1prop</var>).",
- "apihelp-query+langlinks-param-prop": "Que propiedades adicionais obter para cada ligazón interlingüística:\n;url:Engade a URL completa.\n;langname:Engade o nome localizado da lingua (o mellor intento). Use <var>$1inlanguagecode</var> para controlar a lingua.\n;autonym:Engade o nome nativo da lingua.",
+ "apihelp-query+langlinks-param-prop": "Que propiedades adicionais obter para cada ligazón interlingüística:",
+ "apihelp-query+langlinks-paramvalue-prop-url": "Engade a URL completa.",
+ "apihelp-query+langlinks-paramvalue-prop-langname": "Engade o nome localizado da lingua (o mellor intento). Use <var>$1inlanguagecode</var> para controlar a lingua.",
+ "apihelp-query+langlinks-paramvalue-prop-autonym": "Engade o nome nativo da lingua.",
"apihelp-query+langlinks-param-lang": "Devolver só ligazóns de lingua con este código de lingua.",
"apihelp-query+langlinks-param-title": "Ligazón a buscar. Debe usarse con <var>$1lang</var>.",
"apihelp-query+langlinks-param-dir": "Dirección na cal listar.",
@@ -682,15 +787,29 @@
"apihelp-query+links-example-generator": "Obter información sobre as ligazóns de páxina da <kbd>Main Page</kbd>.",
"apihelp-query+links-example-namespaces": "Obter as ligazóns á páxina <kbd>Main Page</kbd> nos espazos de nome {{ns:user}} e {{ns:template}}.",
"apihelp-query+linkshere-description": "Atopar todas as páxinas que ligan coas páxinas dadas.",
- "apihelp-query+linkshere-param-prop": "Que propiedades obter:\n;pageid:ID de cada páxina.\n;título:Título de cada páxina.\n;redirect:Marca de se a páxina é unha redirección.",
+ "apihelp-query+linkshere-param-prop": "Que propiedades obter:",
+ "apihelp-query+linkshere-paramvalue-prop-pageid": "ID de cada páxina.",
+ "apihelp-query+linkshere-paramvalue-prop-title": "Título de cada páxina.",
+ "apihelp-query+linkshere-paramvalue-prop-redirect": "Marca de se a páxina é unha redirección.",
"apihelp-query+linkshere-param-namespace": "Só incluír páxinas nestes espazos de nomes.",
"apihelp-query+linkshere-param-limit": "Cantos mostrar.",
"apihelp-query+linkshere-param-show": "Mostrar só elementos que cumpren estes criterios:\n;redirect:Só mostra redireccións.\n;!redirect:Só mostra as que non son redireccións.",
"apihelp-query+linkshere-example-simple": "Obter unha lista que ligan á [[Main Page]]",
"apihelp-query+linkshere-example-generator": "Obter a información das páxinas que ligan á [[Main Page]].",
"apihelp-query+logevents-description": "Obter os eventos dos rexistros.",
+ "apihelp-query+logevents-param-prop": "Que propiedades obter:",
+ "apihelp-query+logevents-paramvalue-prop-ids": "Engade o identificador do evento.",
+ "apihelp-query+logevents-paramvalue-prop-title": "Engade o título da páxina para o evento.",
+ "apihelp-query+logevents-paramvalue-prop-type": "Engade o tipo de evento.",
+ "apihelp-query+logevents-paramvalue-prop-user": "Engade o usuario responsable do evento.",
+ "apihelp-query+logevents-paramvalue-prop-userid": "Engade o identificador do usuario responsable do evento.",
+ "apihelp-query+logevents-paramvalue-prop-timestamp": "Engade o selo de tempo do evento.",
+ "apihelp-query+logevents-paramvalue-prop-comment": "Engade o comentario do evento.",
+ "apihelp-query+logevents-paramvalue-prop-parsedcomment": "Engade o comentario analizado do evento.",
+ "apihelp-query+logevents-paramvalue-prop-details": "Lista detalles adicionais do evento.",
+ "apihelp-query+logevents-paramvalue-prop-tags": "Lista as etiquetas do evento.",
"apihelp-query+logevents-param-type": "Filtrar as entradas do rexistro para mostrar só as deste tipo.",
- "apihelp-query+logevents-param-action": "Filtrar accións no rexistro para mostrar só esta acción. Ignora <var>$1type</var>. Accións comodín como <kbd>action/*</kbd> permiten especificar calquera cadea para o asterisco.",
+ "apihelp-query+logevents-param-action": "Filtrar accións no rexistro para mostrar só esta acción. Ignora <var>$1type</var>. Na lista de posibles valores, valores coa máscara asterisco como <kbd>action/*</kbd> poden ter diferentes cadeas despois da barra (/).",
"apihelp-query+logevents-param-start": "Selo de tempo no que comezar a enumeración.",
"apihelp-query+logevents-param-end": "Selo de tempo para rematar a enumeración.",
"apihelp-query+logevents-param-user": "Filtrar entradas ás feitas polo usuario indicado.",
@@ -705,14 +824,17 @@
"apihelp-query+pagepropnames-example-simple": "Obter os dez primeiros nomes de propiedade.",
"apihelp-query+pageprops-description": "Obter varias propiedades definidas no contido da páxina.",
"apihelp-query+pageprops-param-prop": "Listar só esas propiedades. Útil para verificar se unha páxina concreta usa unha propiedade de páxina determinada.",
- "apihelp-query+pageprops-example-simple": "Obter as propiedades para <kbd>Category:Foo</kbd>.",
+ "apihelp-query+pageprops-example-simple": "Obter as propiedades para as páxinas <kbd>Main Page</kbd> e <kbd>MediaWiki</kbd>",
"apihelp-query+pageswithprop-description": "Mostrar a lista de páxinas que empregan unha propiedade determinada.",
"apihelp-query+pageswithprop-param-propname": "Propiedade de páxina pola que enumerar as páxinas.",
- "apihelp-query+pageswithprop-param-prop": "Que información incluír:\n;ids:Engade o ID da páxina.\n;title:Engade o título e o ID do espazo de nomes da páxina.\n;value:Engade o valor da propiedade da páxina.",
+ "apihelp-query+pageswithprop-param-prop": "Que información incluír:",
+ "apihelp-query+pageswithprop-paramvalue-prop-ids": "Engade o ID da páxina.",
+ "apihelp-query+pageswithprop-paramvalue-prop-title": "Engade o título e o ID do espazo de nomes da páxina.",
+ "apihelp-query+pageswithprop-paramvalue-prop-value": "Engade o valor da propiedade da páxina.",
"apihelp-query+pageswithprop-param-limit": "Máximo número de páxinas a retornar.",
"apihelp-query+pageswithprop-param-dir": "En que dirección ordenar.",
"apihelp-query+pageswithprop-example-simple": "Lista as dez primeiras páxinas que usan <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
- "apihelp-query+pageswithprop-example-generator": "Obter a infomación de páxina das dez primeiras páxinas que usan <code>_&#95;NOTOC_&#95;</code>.",
+ "apihelp-query+pageswithprop-example-generator": "Obter información adicional das dez primeiras páxinas que usan <code>_&#95;NOTOC_&#95;</code>.",
"apihelp-query+prefixsearch-description": "Facer unha busca de prefixo nos títulos das páxinas.",
"apihelp-query+prefixsearch-param-search": "Buscar texto.",
"apihelp-query+prefixsearch-param-namespace": "Espazo de nomes no que buscar.",
@@ -725,16 +847,25 @@
"apihelp-query+protectedtitles-param-limit": "Número total de páxinas a devolver.",
"apihelp-query+protectedtitles-param-start": "Comezar a listar neste selo de tempo de protección.",
"apihelp-query+protectedtitles-param-end": "Rematar de listar neste selo de tempo de protección.",
- "apihelp-query+protectedtitles-param-prop": "Que propiedades obter:\n;timestamp:Engade o selo de tempo de cando se fixo a protección.\n;user:Engade o usuario que fixo a protección.\n;userid:Engade o ID do usuario que fixo a protección.\n;comment:Engade o comentario da protección.\n;parsedcomment:Engade o comentario analizado da protección.\n;expiry:Engade o selo de tempo no que rematará a protección\n;level:Engade o nivel de protección.",
+ "apihelp-query+protectedtitles-param-prop": "Que propiedades obter:",
+ "apihelp-query+protectedtitles-paramvalue-prop-timestamp": "Engade o selo de tempo de cando se fixo a protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-user": "Engade o usuario que fixo a protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-userid": "Engade o ID do usuario que fixo a protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-comment": "Engade o comentario da protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment": "Engade o comentario analizado da protección.",
+ "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Engade o selo de tempo no que rematará a protección",
+ "apihelp-query+protectedtitles-paramvalue-prop-level": "Engade o nivel de protección.",
"apihelp-query+protectedtitles-example-simple": "Listar títulos protexidos",
"apihelp-query+protectedtitles-example-generator": "Atopar ligazóns ós títulos protexidos no espazo de nomes principal",
"apihelp-query+querypage-description": "Obtén unha lista proporcionada por unha páxina especial basada en QueryPage.",
"apihelp-query+querypage-param-page": "Nome da páxina especial. Teña en conta que diferencia entre maiúsculas e minúsculas.",
"apihelp-query+querypage-param-limit": "Número de resultados a visualizar.",
"apihelp-query+querypage-example-ancientpages": "Resultados devoltos de [[Special:Ancientpages]].",
+ "apihelp-query+random-description": "Obter un conxunto de páxinas aleatorias.\n\nAs páxinas están listadas nunha secuencia fixa, só o punto de comezo é aleatorio. Isto significa que se, por exemplo, a <samp>Main Page</samp> é a primeira páxina aleatoria da lista, a <samp>Lista de monos ficticios</samp> será <em>sempre</em> a segunda, <samp>Lista de xente en selos de Vanuatu</samp> será a terceira, etc.",
"apihelp-query+random-param-namespace": "Devolver páxinas só neste espazo de nomes.",
"apihelp-query+random-param-limit": "Limitar cantas páxinas aleatorias se van devolver.",
- "apihelp-query+random-param-redirect": "Cargar unha redirección aleatoria no canto dunha páxina aleatoria.",
+ "apihelp-query+random-param-redirect": "No canto use <kbd>$1filterredir=redirects</kbd>.",
+ "apihelp-query+random-param-filterredir": "Como filtrar para redireccións.",
"apihelp-query+random-example-simple": "Obter dúas páxinas aleatorias do espazo de nomes principal.",
"apihelp-query+random-example-generator": "Obter a información da páxina de dúas páxinas aleatorias do espazo de nomes principal.",
"apihelp-query+recentchanges-description": "Enumerar cambios recentes.",
@@ -744,6 +875,21 @@
"apihelp-query+recentchanges-param-user": "Só listar cambios deste usuario.",
"apihelp-query+recentchanges-param-excludeuser": "Non listar cambios deste usuario.",
"apihelp-query+recentchanges-param-tag": "Só listar cambios marcados con esta etiqueta.",
+ "apihelp-query+recentchanges-param-prop": "Inclúe información adicional:",
+ "apihelp-query+recentchanges-paramvalue-prop-user": "Engade o usuario responsable da modificación e marca se é unha dirección IP.",
+ "apihelp-query+recentchanges-paramvalue-prop-userid": "Engade o identificador do usuario responsable da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-comment": "Engade o comentario da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Engade o comentario analizado da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-flags": "Engade os indicadores da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-timestamp": "Engade o selo de tempo da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-title": "Engade o título da páxina da edición.",
+ "apihelp-query+recentchanges-paramvalue-prop-ids": "Engade o identificador da páxina, o identificador dos cambios recentes e o identificador da versión nova e da vella.",
+ "apihelp-query+recentchanges-paramvalue-prop-sizes": "Engade a lonxitude nova e vella da páxina en bytes.",
+ "apihelp-query+recentchanges-paramvalue-prop-redirect": "Pon unha marca se a páxina é unha redirección.",
+ "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Marca as edicións vixiables como vixiadas ou non vixiadas.",
+ "apihelp-query+recentchanges-paramvalue-prop-loginfo": "Engade información do rexistro (identificador de rexistro, tipo de rexistro, etc) nas entradas do rexistro.",
+ "apihelp-query+recentchanges-paramvalue-prop-tags": "Lista as etiquetas da entrada.",
+ "apihelp-query+recentchanges-paramvalue-prop-sha1": "Engade o control de contido para as entradas asociadas a unha revisión.",
"apihelp-query+recentchanges-param-token": "Usar <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> no canto diso.",
"apihelp-query+recentchanges-param-show": "Só mostrar elementos que cumpran esos criterios. Por exemplo, para ver só edicións menores feitas por usuarios conectados, activar $1show=minor|!anon.",
"apihelp-query+recentchanges-param-limit": "Número total de páxinas a devolver.",
@@ -752,7 +898,10 @@
"apihelp-query+recentchanges-example-simple": "Listar cambios recentes.",
"apihelp-query+recentchanges-example-generator": "Obter a información de páxina sobre cambios recentes sen vixiancia.",
"apihelp-query+redirects-description": "Devolve todas as redireccións das páxinas indicadas.",
- "apihelp-query+redirects-param-prop": "Que propiedades recuperar:\n;pageid:ID de páxina de cada redirección.\n;title:Título de cada redirección.\n;fragment:Fragmento de cada redirección, se hai algún.",
+ "apihelp-query+redirects-param-prop": "Que propiedades recuperar:",
+ "apihelp-query+redirects-paramvalue-prop-pageid": "ID de páxina de cada redirección.",
+ "apihelp-query+redirects-paramvalue-prop-title": "Título de cada redirección.",
+ "apihelp-query+redirects-paramvalue-prop-fragment": "Fragmento de cada redirección, se hai algún.",
"apihelp-query+redirects-param-namespace": "Só incluir páxinas nestes espacios de nomes.",
"apihelp-query+redirects-param-limit": "Cantos redireccións devolver.",
"apihelp-query+redirects-param-show": "Só mostrar elementos que cumpran estos criterios:\n;fragment:Só mostrar redireccións que teñan un fragmento.\n;!fragment:Só mostrar redireccións que non teñan un fragmento.",
@@ -774,19 +923,47 @@
"apihelp-query+revisions-example-first5-after": "Mostrar as cinco primeiras revisións da <kbd>Páxina Principal</kbd> feitas despois de 2006-05-01.",
"apihelp-query+revisions-example-first5-not-localhost": "Mostrar as cinco primeiras revisións da <kbd>Páxina Principal</kbd> que non foron feitas polo usuario anónimo <kbd>127.0.0.1</kbd>.",
"apihelp-query+revisions-example-first5-user": "Mostrar as cinco primeiras revisión da <kbd>Páxina Principal</kbd> feitas polo usuario <kbd>MediaWiki default</kbd>.",
+ "apihelp-query+revisions+base-param-prop": "Que propiedades mostrar para cada modificación:",
+ "apihelp-query+revisions+base-paramvalue-prop-ids": "O identificador da modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-flags": "Marcas de modificación (menor).",
+ "apihelp-query+revisions+base-paramvalue-prop-timestamp": "O selo de tempo da modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-user": "Usuario que fixo a revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-userid": "Identificador de usuario do creador da modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-size": "Lonxitude (en bytes) da revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-sha1": "SHA-1 (base 16) da modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "Identificador do modelo de contido da modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-comment": "Comentario do usuario para a modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "Comentario analizado do usuario para a modificación.",
+ "apihelp-query+revisions+base-paramvalue-prop-content": "Texto da revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-tags": "Etiquetas para a revisión.",
+ "apihelp-query+revisions+base-paramvalue-prop-parsetree": "Árbore de análise XML do contido da modificación (precisa o modelo de contido <code>$1</code>).",
"apihelp-query+revisions+base-param-limit": "Limitar cantas revisións se van devolver.",
"apihelp-query+revisions+base-param-expandtemplates": "Expandir os modelos no contido da revisión (require $1prop=content).",
- "apihelp-query+revisions+base-param-generatexml": "Xenerar a árbore de análise XML para o contido da revisión (require $1prop=content).",
+ "apihelp-query+revisions+base-param-generatexml": "Xenerar a árbore de análise XML para o contido da revisión (require $1prop=content; substituído por <kbd>$1prop=parsetree</kbd>).",
"apihelp-query+revisions+base-param-parse": "Analizar o contido da revisión (require $1prop=content). Por razóns de rendemento, se se usa esta opción, $1limit cámbiase a 1.",
"apihelp-query+revisions+base-param-section": "Recuperar unicamente o contido deste número de sección.",
"apihelp-query+revisions+base-param-diffto": "ID de revisión a comparar con cada revisión. Use <kbd>prev</kbd>, <kbd>next</kbd> e <kbd>cur</kbd> para a versión precedente, seguinte e actual respectivamente.",
"apihelp-query+revisions+base-param-difftotext": "Texto co que comparar cada revisión. Só compara un número limitado de revisións. Ignora <var>$1diffto</var>. Se <var>$1section</var> ten valor, só se comparará co texto esa sección.",
"apihelp-query+revisions+base-param-contentformat": "Formato de serialización usado por <var>$1difftotext</var> e esperado para a saída do contido.",
"apihelp-query+search-description": "Facer unha busca por texto completo.",
- "apihelp-query+search-param-search": "Buscar tódolos títulos de páxina (ou contido) que teñan este valor.",
+ "apihelp-query+search-param-search": "Buscar os títulos de páxina ou contido que coincidan con este valor. Pode usar a cadea de busca para invocar funcións especiais de busca, dependendo do motor de busca que teña a wiki.",
"apihelp-query+search-param-namespace": "Buscar só nestes espazos de nomes.",
"apihelp-query+search-param-what": "Que tipo de busca lanzar.",
"apihelp-query+search-param-info": "Que metadatos devolver.",
+ "apihelp-query+search-param-prop": "Que propiedades devolver:",
+ "apihelp-query+search-paramvalue-prop-size": "Engade o tamaño da páxina en bytes.",
+ "apihelp-query+search-paramvalue-prop-wordcount": "Engade o número de palabras da páxina.",
+ "apihelp-query+search-paramvalue-prop-timestamp": "Engade o selo de tempo da última vez que foi editada a páxina.",
+ "apihelp-query+search-paramvalue-prop-snippet": "Engade o fragmento analizado da páxina.",
+ "apihelp-query+search-paramvalue-prop-titlesnippet": "Engade un fragmento analizado do título da páxina.",
+ "apihelp-query+search-paramvalue-prop-redirectsnippet": "Engade un fragmento analizado do título da redirección.",
+ "apihelp-query+search-paramvalue-prop-redirecttitle": "Engade o título da redirección asociada.",
+ "apihelp-query+search-paramvalue-prop-sectionsnippet": "Engade un fragmento analizado do título de sección asociado.",
+ "apihelp-query+search-paramvalue-prop-sectiontitle": "Engade o título da sección asociada.",
+ "apihelp-query+search-paramvalue-prop-categorysnippet": "Engade un fragmento analizado da categoría asociada.",
+ "apihelp-query+search-paramvalue-prop-isfilematch": "Engade unha marca indicando se o resultado da busca é un ficheiro.",
+ "apihelp-query+search-paramvalue-prop-score": "<span class=\"apihelp-deprecated\">Obsoleto e ignorado.</span>",
+ "apihelp-query+search-paramvalue-prop-hasrelated": "<span class=\"apihelp-deprecated\">Obsoleto e ignorado.</span>",
"apihelp-query+search-param-limit": "Número total de páxinas a devolver.",
"apihelp-query+search-param-interwiki": "Incluir na busca resultados de interwikis, se é posible.",
"apihelp-query+search-param-backend": "Que servidor de busca usar, se non se indica usa o que hai por defecto.",
@@ -794,6 +971,29 @@
"apihelp-query+search-example-text": "Buscar texto por <kbd>significado</kbd>.",
"apihelp-query+search-example-generator": "Obter información da páxina sobre as páxinas devoltas por unha busca por <kbd>significado</kbd>.",
"apihelp-query+siteinfo-description": "Devolver información xeral sobre o sitio.",
+ "apihelp-query+siteinfo-param-prop": "Que información obter:",
+ "apihelp-query+siteinfo-paramvalue-prop-general": "Información xeral do sistema.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespaces": "Lista dos espazos de nomes rexistrados e os seus nomes canónicos.",
+ "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "Lista de alias de espazos de nomes rexistrados .",
+ "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "Lista de alias de páxinas especiais.",
+ "apihelp-query+siteinfo-paramvalue-prop-magicwords": "Lista de palabras máxicas e os seus alias.",
+ "apihelp-query+siteinfo-paramvalue-prop-statistics": "Devolve as estatísticas do sitio.",
+ "apihelp-query+siteinfo-paramvalue-prop-interwikimap": "Devolve o mapa interwiki (opcionalmente filtrado, opcionalmente localizado usando <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-dbrepllag": "Devolve o servidor de base de datos con maior retardo de replicación.",
+ "apihelp-query+siteinfo-paramvalue-prop-usergroups": "Devolve os grupos de usuarios e os permisos que teñen asociados.",
+ "apihelp-query+siteinfo-paramvalue-prop-libraries": "Devolve as bibliotecas de funcións software instaladas na wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-extensions": "Devolve as extensións instaladas na wiki.",
+ "apihelp-query+siteinfo-paramvalue-prop-fileextensions": "Devolve a lista de extenxións de ficheiro permitidas para subir ficheiros.",
+ "apihelp-query+siteinfo-paramvalue-prop-rightsinfo": "Devolve a información dos dereitos (licenza) da wiki se está dispoñible.",
+ "apihelp-query+siteinfo-paramvalue-prop-restrictions": "Devolve información dos tipos de restricións (protección) dispoñibles.",
+ "apihelp-query+siteinfo-paramvalue-prop-languages": "Devolve unha lista dos idiomas que soporta Mediawiki (opcionalmente pode localizarse usando <var>$1inlanguagecode</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-skins": "Devolve unha lista de todas as aparencias dispoñibles (opcionalmente pode localizarse usando <var>$1inlanguagecode</var>, noutro caso no idioma do contido).",
+ "apihelp-query+siteinfo-paramvalue-prop-extensiontags": "Devolve unha lista de etiquetas de extensión de analizador.",
+ "apihelp-query+siteinfo-paramvalue-prop-functionhooks": "Devolve unha lista de ganchos de función de analizador.",
+ "apihelp-query+siteinfo-paramvalue-prop-showhooks": "Devolve unha lista de todos os ganchos subscritos (contido de <var>[[mw:Manual:$wgHooks|$wgHooks]]</var>).",
+ "apihelp-query+siteinfo-paramvalue-prop-variables": "Devolve unha lista de identificadores de variable.",
+ "apihelp-query+siteinfo-paramvalue-prop-protocols": "Devolve unha lista de protocolos que están permitidos nas ligazóns externas.",
+ "apihelp-query+siteinfo-paramvalue-prop-defaultoptions": "Devolve os valores por defecto das preferencias de usuario.",
"apihelp-query+siteinfo-param-filteriw": "Só devolver entradas locais ou só non locais da correspondencia interwiki.",
"apihelp-query+siteinfo-param-showalldb": "Listar todos os servidores de base de datos, non só o que teña máis retardo.",
"apihelp-query+siteinfo-param-numberingroup": "Listar o número de usuarios nos grupos de usuarios.",
@@ -808,6 +1008,14 @@
"apihelp-query+stashimageinfo-example-params": "Devolve as miniaturas de dous ficheiros almacenados.",
"apihelp-query+tags-description": "Lista de marcas de cambios.",
"apihelp-query+tags-param-limit": "Máximo número de etiquetas a listar.",
+ "apihelp-query+tags-param-prop": "Que propiedades recuperar:",
+ "apihelp-query+tags-paramvalue-prop-name": "Engade o nome da etiqueta.",
+ "apihelp-query+tags-paramvalue-prop-displayname": "Engade a mensaxe do sistema para a etiqueta.",
+ "apihelp-query+tags-paramvalue-prop-description": "Engade a descrición da etiqueta.",
+ "apihelp-query+tags-paramvalue-prop-hitcount": "Engade o número de modificacións e de entradas do rexistro que teñen esta etiqueta.",
+ "apihelp-query+tags-paramvalue-prop-defined": "Indica se a etiqueta está definida.",
+ "apihelp-query+tags-paramvalue-prop-source": "Obtén as fontes da etiqueta, que poden incluír <samp>extension</samp> para etiquetas definidas en extensión e <samp>manual</samp> para etiquetas que poden ser aplicadas manualmente polos usuarios.",
+ "apihelp-query+tags-paramvalue-prop-active": "Se a etiqueta aínda está a ser usada.",
"apihelp-query+tags-example-simple": "Listar as marcas dispoñibles",
"apihelp-query+templates-description": "Devolve todas as páxinas incluídas na páxina indicada.",
"apihelp-query+templates-param-namespace": "Mostrar modelos só neste espazo de nomes.",
@@ -822,7 +1030,10 @@
"apihelp-query+tokens-example-simple": "Recuperar un identificador csrf (por defecto).",
"apihelp-query+tokens-example-types": "Recuperar un identificador vixiancia e un de patrulla.",
"apihelp-query+transcludedin-description": "Atopar todas as páxinas que inclúen ás páxinas indicadas.",
- "apihelp-query+transcludedin-param-prop": "Que propiedades obter:\n;pageid:ID de páxina de cada páxina.\n;title:Título de cada páxina.\n;redirect:Marca si a páxina é unha redirección.",
+ "apihelp-query+transcludedin-param-prop": "Que propiedades obter:",
+ "apihelp-query+transcludedin-paramvalue-prop-pageid": "ID de páxina de cada páxina.",
+ "apihelp-query+transcludedin-paramvalue-prop-title": "Título de cada páxina.",
+ "apihelp-query+transcludedin-paramvalue-prop-redirect": "Marca si a páxina é unha redirección.",
"apihelp-query+transcludedin-param-namespace": "Só incluir páxinas nestes espacios de nomes.",
"apihelp-query+transcludedin-param-limit": "Cantos mostrar.",
"apihelp-query+transcludedin-param-show": "Mostrar só elementos que cumpren estes criterios:\n;redirect:Só mostra redireccións.\n;!redirect:Só mostra as que non son redireccións.",
@@ -835,16 +1046,51 @@
"apihelp-query+usercontribs-param-user": "Usuarios para os que recuperar as contribucións.",
"apihelp-query+usercontribs-param-userprefix": "Recuperar as contribucións de todos os usuarios cuxo nome comece por este valor. Ignora $1user.",
"apihelp-query+usercontribs-param-namespace": "Só listar contribucións nestes espazos de nomes.",
+ "apihelp-query+usercontribs-param-prop": "Engade información adicional:",
+ "apihelp-query+usercontribs-paramvalue-prop-ids": "Engade os identificadores de páxina e modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-title": "Engade o título e o identificador do espazo de nomes da páxina.",
+ "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Engade o selo de tempo da modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-comment": "Engade o comentario da modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-parsedcomment": "Engade o comentario analizado da modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-size": "Engade o novo tamaño da modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-sizediff": "Engade o delta do tamaño da modificación comparada coa anterior.",
+ "apihelp-query+usercontribs-paramvalue-prop-flags": "Engade os indicadores da modificación.",
+ "apihelp-query+usercontribs-paramvalue-prop-patrolled": "Marca as modificacións vixiadas.",
+ "apihelp-query+usercontribs-paramvalue-prop-tags": "Lista as etiquetas da modificación.",
"apihelp-query+usercontribs-param-show": "Só mostrar elementos que cumpran estos criterios, p.ex. só edicións menores: <kbd>$2show=!minor</kbd>.\n\nSe está fixado <kbd>$2show=patrolled</kbd> ou <kbd>$2show=!patrolled</kbd>, as modificacións máis antigas que <var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|segundo|segundos}}) non se mostrarán.",
"apihelp-query+usercontribs-param-tag": "Só listar revisións marcadas con esta etiqueta.",
"apihelp-query+usercontribs-param-toponly": "Listar só cambios que son a última revisión.",
"apihelp-query+usercontribs-example-user": "Mostrar as contribucións do usuario <kbd>Exemplo</kbd>.",
"apihelp-query+usercontribs-example-ipprefix": "Mostrar contribucións de tódalas direccións IP que comezan por <kbd>192.0.2.</kbd>.",
"apihelp-query+userinfo-description": "Obter información sobre o usuario actual.",
+ "apihelp-query+userinfo-param-prop": "Que pezas de información incluír:",
+ "apihelp-query+userinfo-paramvalue-prop-blockinfo": "Marca se o usuario actual está bloqueado, por que, e por que razón.",
+ "apihelp-query+userinfo-paramvalue-prop-hasmsg": "Engade unha etiqueta <samp>messages</samp> (mensaxe) se o usuario actual ten mensaxes pendentes.",
+ "apihelp-query+userinfo-paramvalue-prop-groups": "Lista todos os grupos ós que pertence o usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-implicitgroups": "Lista todos so grupos dos que o usuario actual é membro automaticamente.",
+ "apihelp-query+userinfo-paramvalue-prop-rights": "Lista todos os dereitos que ten o usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-changeablegroups": "Lista os grupos ós que o usuario pode engadir ou eliminar a outros usuarios.",
+ "apihelp-query+userinfo-paramvalue-prop-options": "Lista todas as preferencias que ten seleccionadas o usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-preferencestoken": "<span class=\"apihelp-deprecated\">Obsoleto.</span>Obtén o identificador para cambiar as preferencias do usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-editcount": "Engade o contador de edicións do usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-ratelimits": "Lista todos o límites de rango aplicados ó usuario actual.",
+ "apihelp-query+userinfo-paramvalue-prop-realname": "Engade o nome real do usuario.",
+ "apihelp-query+userinfo-paramvalue-prop-email": "Engade a dirección de correo electrónico do usuario e a data de autenticación desa dirección.",
+ "apihelp-query+userinfo-paramvalue-prop-acceptlang": "Reenvía a cabeceira <code>Accept-Language</code> enviada polo cliente nun formato estruturado.",
+ "apihelp-query+userinfo-paramvalue-prop-registrationdate": "Engade a data de rexistro do usuario.",
+ "apihelp-query+userinfo-paramvalue-prop-unreadcount": "Engade o número de páxinas sen ler da lista de vixiancia do usuario (máximo $1; devolve <samp>$2</samp> se son máis).",
"apihelp-query+userinfo-example-simple": "Obter información sobre o usuario actual.",
"apihelp-query+userinfo-example-data": "Obter información adicional sobre o usuario actual.",
"apihelp-query+users-description": "Obter información sobre unha lista de usuarios.",
- "apihelp-query+users-param-prop": "Que información incluír:\n;blockinfo:Etiquetas se o usuario está bloqueado, por quen, e por que razón.\n;groups:Lista todos os grupos ós que pertence cada usuario.\n;implicitgroups:Lista os grupos dos que un usuario é membro de forma automatica.\n;rights:Lista todos os dereitos que ten cada usuario.\n;editcount:Engade o contador de edicións do usuario.\n;registration:Engade o selo de tempo do rexistro do usuario.\n;emailable:Marca se o usuario pode e quere recibir correos usando [[Special:Emailuser]].\n;gender:Marca o xénero do usuario. Devolve \"home\", \"muller\" ou \"descoñecido\".",
+ "apihelp-query+users-param-prop": "Que información incluír:",
+ "apihelp-query+users-paramvalue-prop-blockinfo": "Etiquetas se o usuario está bloqueado, por quen, e por que razón.",
+ "apihelp-query+users-paramvalue-prop-groups": "Lista todos os grupos ós que pertence cada usuario.",
+ "apihelp-query+users-paramvalue-prop-implicitgroups": "Lista os grupos dos que un usuario é membro de forma automatica.",
+ "apihelp-query+users-paramvalue-prop-rights": "Lista todos os dereitos que ten cada usuario.",
+ "apihelp-query+users-paramvalue-prop-editcount": "Engade o contador de edicións do usuario.",
+ "apihelp-query+users-paramvalue-prop-registration": "Engade o selo de tempo do rexistro do usuario.",
+ "apihelp-query+users-paramvalue-prop-emailable": "Marca se o usuario pode e quere recibir correos usando [[Special:Emailuser]].",
+ "apihelp-query+users-paramvalue-prop-gender": "Marca o xénero do usuario. Devolve \"home\", \"muller\" ou \"descoñecido\".",
"apihelp-query+users-param-users": "Lista de usuarios para os que obter información.",
"apihelp-query+users-param-token": "Usar <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> no canto diso.",
"apihelp-query+users-example-simple": "Mostar información para o usuario <kbd>Exemplo</kbd>.",
@@ -856,6 +1102,19 @@
"apihelp-query+watchlist-param-user": "Só listar cambios deste usuario.",
"apihelp-query+watchlist-param-excludeuser": "Non listar cambios deste usuario.",
"apihelp-query+watchlist-param-limit": "Cantos resultados totais mostrar por petición.",
+ "apihelp-query+watchlist-param-prop": "Que propiedades adicionais obter:",
+ "apihelp-query+watchlist-paramvalue-prop-ids": "Engade os identificadores das revisións e os identificadores das páxinas.",
+ "apihelp-query+watchlist-paramvalue-prop-title": "Engade o título da páxina.",
+ "apihelp-query+watchlist-paramvalue-prop-flags": "Engade etiquetas para a edición.",
+ "apihelp-query+watchlist-paramvalue-prop-user": "Engade o usuario que fixo a edición.",
+ "apihelp-query+watchlist-paramvalue-prop-userid": "Engade o identificador do usuario que fixo a edición.",
+ "apihelp-query+watchlist-paramvalue-prop-comment": "Engade o comentario da edición.",
+ "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "Engade o comentario analizado da edición.",
+ "apihelp-query+watchlist-paramvalue-prop-timestamp": "Engade o selo de tempo da edición.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Marca edicións que están vixiadas.",
+ "apihelp-query+watchlist-paramvalue-prop-sizes": "Engade o tamaño antigo e novo da páxina.",
+ "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Engade o selo de tempo da última vez en que o usuario foi avisado da modificación.",
+ "apihelp-query+watchlist-paramvalue-prop-loginfo": "Engade información do rexistro cando sexa axeitado.",
"apihelp-query+watchlist-param-show": "Só mostrar elementos que cumpran esos criterios. Por exemplo, para ver só edicións menores feitas por usuarios conectados, activar $1show=minor|!anon.",
"apihelp-query+watchlist-param-type": "Que tipos de cambios mostrar:\n;edit:Modificacións normais de páxina.\n;external:Modificacións externas.\n;new:Creación de páxinas.\n;log:Entradas no rexistro.",
"apihelp-query+watchlist-param-owner": "Usado con $1token para acceder á lista de páxinas de vixiancia doutro usuario.",
@@ -869,10 +1128,13 @@
"apihelp-query+watchlistraw-description": "Obter todas as páxinas da lista de vixiancia do usuario actual.",
"apihelp-query+watchlistraw-param-namespace": "Só listar páxinas nestes espazos de nomes.",
"apihelp-query+watchlistraw-param-limit": "Cantos resultados totais mostrar por petición.",
- "apihelp-query+watchlistraw-param-prop": "Que propiedades adicionais obter:\n;changed:Engade o selo de tempo da última notificación ó usuario dunha modificación.",
+ "apihelp-query+watchlistraw-param-prop": "Que propiedades adicionais obter:",
+ "apihelp-query+watchlistraw-paramvalue-prop-changed": "Engade o selo de tempo da última notificación ó usuario dunha modificación.",
"apihelp-query+watchlistraw-param-show": "Só listar os elementos que cumplen estos criterios.",
"apihelp-query+watchlistraw-param-owner": "Usado con $1token para acceder á lista de páxinas de vixiancia doutro usuario.",
"apihelp-query+watchlistraw-param-token": "Identificador de seguridade (dispoñible nas [[Special:Preferences#mw-prefsection-watchlist|preferencias]] de usuario) para permitir o acceso a outros á súa páxina de vixiancia.",
+ "apihelp-query+watchlistraw-param-fromtitle": "Título (co prefixo de espazo de nomes) dende o que comezar a enumerar.",
+ "apihelp-query+watchlistraw-param-totitle": "Título (co prefixo de espazo de nomes) no que rematar de enumerar.",
"apihelp-query+watchlistraw-example-simple": "Listar páxinas na lista de vixiancia do usuario actual.",
"apihelp-query+watchlistraw-example-generator": "Buscar a información de páxina das páxinas da lista de vixiancia do usuario actual.",
"apihelp-revisiondelete-description": "Borrar e restaurar revisións.",
@@ -896,7 +1158,7 @@
"apihelp-rollback-example-summary": "Desfacer as últimas edicións á páxina <kbd>Main Page</kbd> polo usuario da dirección IP <kbd>192.0.2.5</kbd> co resumo de edición <kbd>Revertindo vandalismo</kbd>, marcar esas edicións e a reversión como edicións de bot.",
"apihelp-rsd-description": "Exportar un esquema RSD (Really Simple Discovery, Descubrimento Moi Simple).",
"apihelp-rsd-example-simple": "Exportar o esquema RSD.",
- "apihelp-setnotificationtimestamp-description": "Actualiza o selo de tempo de notificación das páxinas vixiadas.\n\nIsto afecta ó resalte das páxinas modificadas na lista de vixiancia e historial, e o envío de correo cando a preferencia \"Mandarme un correo cando cambie unha páxina da miña lista de vixiancia\" está activa.",
+ "apihelp-setnotificationtimestamp-description": "Actualizar a data e hora da notificación das páxinas vixiadas.\n\nIsto afecta ao realce das páxinas modificadas na lista de vixiancia e no historial, e ao envío de correos cando a preferencia \"{{int:tog-enotifwatchlistpages}}\" está activada.",
"apihelp-setnotificationtimestamp-param-entirewatchlist": "Traballar en tódalas páxinas vixiadas.",
"apihelp-setnotificationtimestamp-param-timestamp": "Selo de tempo ó que fixar a notificación.",
"apihelp-setnotificationtimestamp-param-torevid": "Modificación á que fixar o selo de tempo de modificación (só unha páxina).",
@@ -905,6 +1167,15 @@
"apihelp-setnotificationtimestamp-example-page": "Restaurar o estado de notificación para a <kbd>Páxina Principal</kbd>.",
"apihelp-setnotificationtimestamp-example-pagetimestamp": "Fixar o selo de tempo de notificación para a <kbd>Main page</kbd> de forma que todas as edicións dende o 1 se xaneiro de 2012 queden sen revisar.",
"apihelp-setnotificationtimestamp-example-allpages": "Restaurar o estado de notificación para as páxinas no espazo de nomes de <kbd>{{ns:user}}</kbd>.",
+ "apihelp-tag-description": "Engadir ou eliminar etiquetas de cambio de revisións individuais ou entradas de rexistro.",
+ "apihelp-tag-param-rcid": "Identificadores de un ou máis cambios recentes nos que engadir ou eliminar a etiqueta.",
+ "apihelp-tag-param-revid": "Identificadores de unha ou máis revisións nas que engadir ou eliminar a etiqueta.",
+ "apihelp-tag-param-logid": "Identificadores de unha ou máis entradas do rexistro nas que engadir ou eliminar a etiqueta.",
+ "apihelp-tag-param-add": "Etiquetas a engadir. Só poden engadirse etiquetas definidas manualmente.",
+ "apihelp-tag-param-remove": "Etiquetas a eliminar. Só se poden eliminar as etiquetas definidas manualmente ou que non teñen ningunha definición.",
+ "apihelp-tag-param-reason": "Razón para o cambio.",
+ "apihelp-tag-example-rev": "Engadir a etiqueta <kbd>vandalismo</kbd> á revisión con identificador 123 sen indicar un motivo",
+ "apihelp-tag-example-log": "Eliminar a etiqueta <kbd>publicidade</kbd> da entrada do rexistro con identificador 123 co motivo <kbd>aplicada incorrectamente</kbd>",
"apihelp-tokens-description": "Obter os identificadores para accións de modificación de datos.\n\nEste módulo está obsoleto e foi reemprazado por [[Special:ApiHelp/query+tokens|action=query&meta=tokens]].",
"apihelp-tokens-param-type": "Tipos de identificadores a consultar.",
"apihelp-tokens-example-edit": "Recuperar un identificador de modificación (por defecto).",
@@ -923,6 +1194,7 @@
"apihelp-undelete-param-watchlist": "Engadir ou eliminar a páxina da lista de vixiancia do usuario actual sen condicións, use as preferencias ou non cambie a vixiancia.",
"apihelp-undelete-example-page": "Restaurar a <kbd>Páxina Principal</kbd>.",
"apihelp-undelete-example-revisions": "Restaurar dúas revisións de <kbd>[[Main Page]]</kbd>.",
+ "apihelp-upload-description": "Subir un ficheiro, ou obter o estado de subas pedentes.\n\nHai varios métodos dispoñibles:\n*Subir o contido do ficheiro directamente, usando o parámetro <var>$1file</var>.\n*Subir o ficheiro por partes, usando os parámetros <var>$1filesize</var>, <var>$1chunk</var>, e <var>$1offset</var>.\n*Mandar ó servidor MediaWiki que colla un ficheiro dunha URL, usando o parámetro <var>$1url</var>.\n*Completar unha suba anterior que fallou a causa dos avisos, usando o parámetro <var>$1filekey</var>. \nTeña en conta que o HTTP POST debe facerse como suba de ficheiro (p.ex. usando <code>multipart/form-data</code>)cando se envie o <var>$1file</var>.",
"apihelp-upload-param-filename": "Nome de ficheiro obxectivo.",
"apihelp-upload-param-comment": "Subir comentario. Tamén usado como texto da páxina inicial para ficheiros novos se non se especifica <var>$1text</var>.",
"apihelp-upload-param-text": "Texto da páxina inicial para novos ficheiros.",
@@ -958,23 +1230,22 @@
"apihelp-watch-example-watch": "Vixiar a páxina <kbd>Páxina Principal</kbd>.",
"apihelp-watch-example-unwatch": "Deixar de vixiar a páxina <kbd>Páxina Principal</kbd>.",
"apihelp-watch-example-generator": "Vixiar as primeiras páxinas no espazo de nomes principal",
- "apihelp-format-example-generic": "Formatar o resultado da consulta no formato $1.",
+ "apihelp-format-example-generic": "Devolver o resultado da consulta no formato $1.",
"apihelp-dbg-description": "Datos de saída en formato <code>var_export()</code> de PHP.",
"apihelp-dbgfm-description": "Datos de saída en formato <code>var_export()</code> de PHP(impresión en HTML).",
- "apihelp-dump-description": "Datos de saída en formato PHP <code>var_dump()</code>.",
- "apihelp-dumpfm-description": "Datos de saída en formato <code>var_dump()</code> de PHP(impresión en HTML).",
"apihelp-json-description": "Datos de saída en formato JSON.",
"apihelp-json-param-callback": "Se está especificado, inclúe a saída na chamada da función indicada. Para maior seguridade, todos os datos específicos do usuario serán restrinxidos.",
- "apihelp-json-param-utf8": "Se está especificado, codifica a maioría (pero non todos) dos caracteres ASCII como UTF-8 no canto de reemprazalos con secuencias de escape hexadecimais.",
+ "apihelp-json-param-utf8": "Se está especificado, codifica a maioría (pero non todos) dos caracteres ASCII como UTF-8 no canto de reemprazalos con secuencias de escape hexadecimais. Por defecto cando <var>formatversion</var> non é <kbd>1</kbd>.",
+ "apihelp-json-param-ascii": "Se está indicado, codifica todos os caracteres que non sexan ASCII usando secuencias de escape hexadecimais. Por defecto cando <var>formatversion</var> é <kbd>1</kbd>.",
+ "apihelp-json-param-formatversion": "Formato de saída:\n;1:Formato compatible con versións anteriores(booleanos estilo XML,claves <samp>*</samp> para nodos, etc.).\n;2:Formato moderno experimental. Os detalles poden cambiar!\n;latest:Usa o último formato (actualmente kbd>2</kbd>), pode cambiar sen aviso previo.",
"apihelp-jsonfm-description": "Datos de saída en formato JSON(impresión en HTML).",
"apihelp-none-description": "Ningunha saída.",
"apihelp-php-description": "Datos de saída en formato serializado de PHP.",
+ "apihelp-php-param-formatversion": "Formato de saída:\n;1:Formato compatible con versións anteriores(booleanos estilo XML,claves <samp>*</samp> para nodos, etc.).\n;2:Formato moderno experimental. Os detalles poden cambiar!\n;latest:Usa o último formato (actualmente kbd>2</kbd>), pode cambiar sen aviso previo.",
"apihelp-phpfm-description": "Datos de saída en formato serializado de PHP(impresión en HTML).",
"apihelp-rawfm-description": "Datos de saída cos elementos de depuración en formato JSON(impresión en HTML).",
"apihelp-txt-description": "Datos de saída en formato PHP <code>print_r()</code>.",
"apihelp-txtfm-description": "Datos de saída en formato <code>print_r()</code> de PHP(impresión en HTML).",
- "apihelp-wddx-description": "Datos de saída en formato WDDX.",
- "apihelp-wddxfm-description": "Datos de saída en formato WDDX(impresión en HTML).",
"apihelp-xml-description": "Datos de saída en formato XML.",
"apihelp-xml-param-xslt": "Se está indicado, engade o nome da páxina como unha folla de estilo XSL. O valor debe ser un título no espazo de nomes {{ns:mediawiki}} rematando con <code>.xsl</code>.",
"apihelp-xml-param-includexmlnamespace": "Se está indicado, engade un espazo de nomes XML.",
@@ -982,6 +1253,8 @@
"apihelp-yaml-description": "Datos de saída en formato YAML.",
"apihelp-yamlfm-description": "Datos de saída en formato YAML(impresión en HTML).",
"api-format-title": "Resultado de API de MediaWiki",
+ "api-format-prettyprint-header": "Esta é a representación HTML do formato $1. HTML é bó para depurar, pero non é axeitado para usar nunha aplicación.\n\nEspecifique o parámetro <var>format</var> para cambiar o formato de saída. Para ver a representación non-HTML do formato $1, fixe <kbd>format=$2</kbd>.\n\n\nRevise a [[mw:API|documentación completa]], ou a [[Special:ApiHelp/main|axuda da API]] para obter máis información.",
+ "api-format-prettyprint-header-only-html": "Esta é unha representación HTML empregada para a depuración de erros, e non é axeitada para o uso de aplicacións.\n\nVexa a [[mw:API|documentación completa]], ou a [[Special:ApiHelp/main|axuda da API]] para máis información.",
"api-orm-param-props": "Campos a consultar.",
"api-orm-param-limit": "Número máximo de filas a mostrar.",
"api-pageset-param-titles": "Lista de títulos nos que traballar.",
@@ -1000,10 +1273,22 @@
"api-help-flag-writerights": "Este módulo precisa permisos de escritura.",
"api-help-flag-mustbeposted": "Este módulo só acepta peticións POST.",
"api-help-flag-generator": "Este módulo pode usarse como xenerador.",
+ "api-help-source": "Fonte: $1",
+ "api-help-source-unknown": "Fonte: <span class=\"apihelp-unknown\">descoñecida</span>",
+ "api-help-license": "Licenza: [[$1|$2]]",
+ "api-help-license-noname": "Licenza: [[$1|Ver ligazón]]",
+ "api-help-license-unknown": "Licenza: <span class=\"apihelp-unknown\">descoñecida</span>",
"api-help-parameters": "{{PLURAL:$1|Parámetro|Parámetros}}:",
"api-help-param-deprecated": "Obsoleto.",
"api-help-param-required": "Este parámetro é obrigatorio.",
- "api-help-param-list": "{{PLURAL:$1|1=Un valor|2=Valores (separados con <kbd>{{!}}</kbd>)}}: $2",
+ "api-help-datatypes-header": "Tipos de datos",
+ "api-help-datatypes": "Algúns tipos de parámetros nas solicitudes de API necesitan máis explicación:\n;boolean\n:Os parámetros booleanos traballan como caixas de verificación HTML: se o parámetro se especifica, independentemente do seu valor, considérase verdadeiro. Para un valor falso, omíta o parámetro completo.\n;timestamp\n:Os selos de tempo poden especificarse en varios formatos. Recoméndase o ISO 8601 coa data e a hora. Todas as horas están en UTC, a inclusión da zona horaria é ignorada.\n:* ISO 8601 con data e hora, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (signos de puntuación e <kbd>Z</kbd> son opcionais)\n:* ISO 8601 data e hora (omítense) fraccións de segundo, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (guións, dous puntos e, <kbd>Z</kbd> son opcionais)\n:* Formato MediaWiki, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Formato numérico xenérico, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (opcional na zona horaria <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, o <kbd>-<var>##</var></kbd> omítese)\n:* Formato EXIF, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:*Formato RFC 2822 (a zona horaria pódese omitir), <kbd><var>Mon</var>, <var>15</var> <var>Xan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formato RFC 850 (a zona horaria pódese omitir), <kbd><var>luns</var>, <var>15</var>-<var>xaneiro</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Formato C ctime, <kbd><var>luns</var> <var>xaneiro</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>de 2001</var></kbd>\n:* Segundos desde 1970-01-01T00:00:00Z como de 1 a 13, díxitos enteiros (excluíndo o <kbd>0</kbd>)\n:* O texto <kbd>now</kbd> (agora)",
+ "api-help-param-type-limit": "Tipo: enteiro ou <kbd>max</kbd>",
+ "api-help-param-type-integer": "Tipo: {{PLURAL:$1|1=enteiro|2=lista de enteiros}}",
+ "api-help-param-type-boolean": "Tipo: booleano ([[Special:ApiHelp/main#main/datatypes|detalles]])",
+ "api-help-param-type-timestamp": "Tipo: {{PLURAL:$1|1=selo de tempo|2=lista de selos de tempo}} ([[Special:ApiHelp/main#main/datatypes|formatos permitidos]])",
+ "api-help-param-type-user": "Tipo: {{PLURAL:$1|1=nome de usuario|2=lista de nomes de usuarios}}",
+ "api-help-param-list": "{{PLURAL:$1|1=Un valor dos seguintes valores|2=Valores (separados con <kbd>{{!}}</kbd>)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Debe ser baleiro|Pode ser baleiro, ou $2}}",
"api-help-param-limit": "Non se permiten máis de $1.",
"api-help-param-limit2": "Non se permiten máis de $1 ($2 para bots).",
@@ -1026,5 +1311,6 @@
"api-help-permissions": "{{PLURAL:$1|Permiso|Permisos}}:",
"api-help-permissions-granted-to": "{{PLURAL:$1|Concedida a|Concedidas a}}: $2",
"api-help-right-apihighlimits": "Usar os valores superiores das consultas da API (consultas lentas: $1; consultas rápidas: $2). Os límites para as consultas lentas tamén se aplican ós parámetros multivaluados.",
- "api-credits-header": "Créditos"
+ "api-credits-header": "Créditos",
+ "api-credits": "Desenvolvedores da API:\n* Roan Kattouw (desenvolvedor principal, set. 2007-2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creador e desenvolvedor principal, set. 2006-sep. 2007)\n* Brad Jorsch (desenvolvedor principal, 2013-actualidade)\n\nEnvía comentarios, suxerencias e preguntas a mediawiki-api@lists.wikimedia.org\nou informa dun erro en https://phabricator.wikimedia.org/."
}
diff --git a/includes/api/i18n/he.json b/includes/api/i18n/he.json
index fcc7f7bd..5cd1d944 100644
--- a/includes/api/i18n/he.json
+++ b/includes/api/i18n/he.json
@@ -6,15 +6,46 @@
"Inkbug",
"Danny-w",
"YaronSh",
- "ערן"
+ "ערן",
+ "LaG roiL",
+ "Elyashiv",
+ "Umherirrender"
]
},
+ "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|תיעוד]]\n* [[mw:API:FAQ|שו\"ת]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api רשימת דיוור]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce הודעות על API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R באגים ובקשות]\n</div>\n<strong>מצב:</strong> כל האפשרויות שמוצגות בדף הזה אמורות לעבוד, אבל ה־API עדיין בפיתוח פעיל, ויכול להשתנות בכל זמן. עשו מינוי ל [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ רשימת הדיוור mediawiki-api-announce] להודעות על עדכונים.\n\n<strong>בקשות שגויות:</strong> כשבקשות שגויות נשלחות ל־API, תישלח כותרת HTTP עם המפתח \"MediaWiki-API-Error\" ואז גם הערך של הכותרת וגם קוד השגיאה יוגדרו לאותו ערך. למידע נוסף ר' [[mw:API:Errors_and_warnings|API: שגיאות ואזהרות]].",
"apihelp-main-param-action": "איזו פעולה לבצע.",
- "apihelp-main-param-format": "התבנית של הפלט.",
- "apihelp-main-param-curtimestamp": "הכללת חותמת הזמן הנוכחית בתוצאה.",
+ "apihelp-main-param-format": "תסדיר הפלט.",
+ "apihelp-main-param-maxlag": "שיהוי מרבי יכול לשמש כשמדיה־ויקי מותקנת בצביר עם מסד נתונים משוכפל. כדי לחסוך בפעולות שגורמות יותר שיהוי בשכפול אתר, הפרמטר הזה יכול לגרום ללקוח להמתין עד ששיהוי השכפול יורד מתחת לערך שצוין. במקרה של שיהוי מוגזם, קוד השגיאה <samp>maxlag</samp> מוחזר עם הודעה כמו <samp>Waiting for $host: $lag seconds lagged</samp>.<br />ר' [[mw:Manual:Maxlag_parameter|מדריך למשתמש: פרמטר maxlag]] למידע נוסף.",
+ "apihelp-main-param-smaxage": "הגדרת כותרת בקרת מטמון HTTP‏ <code>s-maxage</code> למספר כזה של שניות.",
+ "apihelp-main-param-maxage": "הגדרת כותרת בקרת מטמון HTTP‏ <code>max-age</code> למספר כזה של שניות.",
+ "apihelp-main-param-assert": "לוודא שהמשתמש נכנס אם זה מוגדר ל־<kbd>user</kbd>, או שיש לו הרשאת בוט אם זה <kbd>bot</kbd>.",
+ "apihelp-main-param-requestid": "כל ערך שיינתן כאן ייכלל בתשובה. אפשר להשתמש בזה כדי להבדיל בין בקשות.",
+ "apihelp-main-param-servedby": "לכלול את שם המארח ששירת את הבקשה בתוצאות.",
+ "apihelp-main-param-curtimestamp": "הכללת חותם־הזמן הנוכחי בתוצאה.",
+ "apihelp-main-param-origin": "בעת גישה ל־API עם בקשת AJAX חוצה מתחמים (CORS), יש להציב כאן את המתחם שהבקשה יוצאת ממנו. זה היה להיות כלול בכל בקשה מקדימה, ולכן הוא חייב להיות חלק מה־URI של הבקשה (לא גוף ה־POST). זה חייב להיות תואם במדויק לאחד המקורות בכותרת <code>Origin</code>, כך שזה צריך להיות מוגדר למשהו כמו <kbd>https://en.wikipedia.org</kbd> או <kbd>https://meta.wikimedia.org</kbd>. אם הפרמטר הזה אינו תואם לכותרת <code>Origin</code>, תוחזר תשובת 403. אם הפרמטר הזה תורם לכותרת <code>Origin</code> והמקור נמצא ברשימה הלבנה, תוגדר כותרת <code>Access-Control-Allow-Origin</code>.",
+ "apihelp-main-param-uselang": "באיזו שפה להשתמש לתרגומי הודעות. אפשר לקבל רשימת קודים מ־<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> עם <kbd>siprop=languages</kbd> או לציין <kbd>user</kbd> כדי להשתמש בהעדפת השפה של המשתמש הנוכחי, או להגדיר את <kbd>content</kbd> להשתמש בקוד השפה של הוויקי הזה.",
"apihelp-block-description": "חסימת משתמש.",
"apihelp-block-param-user": "שם משתמש, כתובת IP, או טווח IP שהנך רוצה לחסום.",
+ "apihelp-block-param-expiry": "זמן תפוגה. יכול להיות יחסי (למשל <kbd>5 months</kbd> או <kbd>2 weeks</kbd>) או מוחלט (למשל <kbd>2014-09-18T12:34:56Z</kbd>). אם זה מוגדר ל־<kbd>infinite</kbd>‏, <kbd>indefinite</kbd>, או <kbd>never</kbd>, החסימה לא תפוג לעולם.",
"apihelp-block-param-reason": "סיבה לחסימה.",
+ "apihelp-block-param-anononly": "לחסום משתמשים אלמוניים בלבד (דהיינו, השבתת עריכות אלמוניות מכתובת ה־IP הזאת)",
+ "apihelp-block-param-nocreate": "מניעת יצירת חשבונות",
+ "apihelp-block-param-autoblock": "חסימה אוטומטית גם של כתובת ה־IP האחרונה שהשתמש בה ושל כל כתובת IP שינסה להשתמש בה בעתיד.",
+ "apihelp-block-param-noemail": "למנוע ממשתמש לשלוח דואר אלקטרוני דרך הוויקי. (דורש את ההרשאה <code>blockemail</code>).",
+ "apihelp-block-param-hidename": "הסרת השם מיומן החסימות. (דורש את ההרשאה <code>hideuser</code>.)",
+ "apihelp-block-param-allowusertalk": "לאפשר למשתמש לערוך את דף השיחה שלו או שלה (תלוי ב־<var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
+ "apihelp-block-param-reblock": "אם המשתמש כבר חסום, לדרוס את החסימה הנוכחית.",
+ "apihelp-block-param-watchuser": "לעקוב אחרי דף המשתמש ודף השיחה של המשתמש או של כתובת ה־IP.",
+ "apihelp-block-example-ip-simple": "חסימת כתובת ה־IP‏ <kbd>192.0.2.5</kbd> לשלושה ימים עם הסיבה <kbd>First strike</kbd>.",
+ "apihelp-block-example-user-complex": "חסימת המשתמש <kbd>Vandal</kbd> ללא הגבלת זמן עם הסיבה <kbd>Vandalism</kbd>, ומניעת יצירת חשבובות חדשים ושליחת דוא\"ל.",
+ "apihelp-checktoken-description": "בדיקת התקינות של האסימון מ־<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
+ "apihelp-checktoken-param-type": "סוג האסימון שבבדיקה.",
+ "apihelp-checktoken-param-token": "איזה אסימון לבדוק.",
+ "apihelp-checktoken-param-maxtokenage": "הגיל המרבי המותר של האסימון, בשניות.",
+ "apihelp-checktoken-example-simple": "בדיקת התקינות של אסימון <kbd>csrf</kbd>.",
+ "apihelp-clearhasmsg-description": "מנקה את דגל <code>hasmsg</code> עבור המשתמש הנוכחי.",
+ "apihelp-clearhasmsg-example-1": "לנקות את דגל <code>hasmsg</code> עבור המשתמש הנוכחי.",
+ "apihelp-compare-description": "קבלת ההבדל בין 2 דפים.\n\nיש להעביר מספר גרסה, כותרת דף או מזהה דף גם ל־\"from\" וגם ל־\"to\".",
"apihelp-compare-param-fromtitle": "כותרת ראשונה להשוואה.",
"apihelp-compare-param-fromid": "מס׳ זיהוי של העמוד הראשון להשוואה.",
"apihelp-compare-param-fromrev": "גרסה ראשונה להשוואה.",
@@ -39,19 +70,86 @@
"apihelp-delete-param-pageid": "מס׳ הזיהוי של העמוד למחיקה. לא ניתן להשתמש בשילוב עם <var>$1title</var>.",
"apihelp-delete-param-reason": "סיבת המחיקה. אם לא הוגדרה, תתווסף סיבה שנוצרה אוטומטית.",
"apihelp-delete-param-watch": "הוספת העמוד לרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-delete-param-watchlist": "הוספה או הסרה של הדף ללא תנאי מרשימת המעקב של המשתמש הנוכחי, להשתמש בהעדפות או לא לשנות את המעקב.",
"apihelp-delete-param-unwatch": "הסרת הדף מרשימת המעקב של של המשתמש הנוכחי.",
- "apihelp-delete-example-simple": "מחיקת הדף הראשי",
+ "apihelp-delete-param-oldimage": "שם התמונה הישנה למחיקה כפי שסופק ל־[[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]].",
+ "apihelp-delete-example-simple": "מחיקת <kbd>Main Page</kbd>.",
+ "apihelp-delete-example-reason": "מחיקת <kbd>Main Page</kbd>. סיבה: <kbd>Preparing for move</kbd>.",
+ "apihelp-disabled-description": "היחידה הזאת כובתה.",
+ "apihelp-edit-description": "יצירה ועריכה של דפים.",
+ "apihelp-edit-param-title": "שם הדף לעריכה. לא לשימוש עם <var>$1pageid</var>.",
+ "apihelp-edit-param-pageid": "מזהה הדף לעריכה. לא לשימוש עם <var>$1title</var>.",
+ "apihelp-edit-param-section": "מספר הפסקה <kbd>0</kbd> לפסקה העליונה, <kbd>new</kbd> לפסקה חדשה.",
+ "apihelp-edit-param-sectiontitle": "הכותרת לפסקה החדשה.",
"apihelp-edit-param-text": "תוכן הדף.",
+ "apihelp-edit-param-summary": "תקציר עריכה. גם גותרת פסקה כש־$1section=new ו־$1sectiontitle אינו מוגדר.",
+ "apihelp-edit-param-tags": "אילו תגי שינוי להחיל על הגרסה.",
"apihelp-edit-param-minor": "עריכה משנית.",
+ "apihelp-edit-param-notminor": "שינוי לא משני.",
+ "apihelp-edit-param-bot": "סימון עריכה זו כבוט.",
+ "apihelp-edit-param-basetimestamp": "חותם־זמן של גרסת הבסיס, משמש לזיהוי התנגשויות עריכה. אפשר לקבל אותו באמצעות [[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]].",
+ "apihelp-edit-param-starttimestamp": "חותם־הזמן של תחילת תהליך העריכה, משמש לזיהוי התנגשויות. אפשר לקבל ערך מתאים באמצעות <var>[[Special:ApiHelp/main|curtimestamp]]</var> בעת תחילת תהליך העריכה (למשל בזמן טעינת תוכן הדף לעריכה).",
+ "apihelp-edit-param-recreate": "לעקוב את כל הטעויות על כך שהדף נמחק בינתיים.",
+ "apihelp-edit-param-createonly": "לא לערוך את הדף אם הוא כבר קיים.",
+ "apihelp-edit-param-nocreate": "לזרוק שגיאה אם הדף אינו קיים.",
+ "apihelp-edit-param-watch": "הוספת העמוד לרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-edit-param-unwatch": "הסרת הדף מרשימת המעקב של של המשתמש הנוכחי.",
+ "apihelp-edit-param-watchlist": "להוסיף את הדף לרשימת המעקב של המשתמש הנוכחי או להסיר אותו משם, להשתמש בהעדפות, או לא לשנות את מצב המעקב.",
+ "apihelp-edit-param-md5": "גיבוב MD5 של הפרמטר $1text או צירוף של הפטמטרים $1prependtext ו־$1appendtext. אם זה מוגדר, העריכה לא תיעשה אלא אם כן הגיבוב נכון.",
+ "apihelp-edit-param-prependtext": "הוספת הטקסט הזה לתחילת הדף. דורס את $1text.",
+ "apihelp-edit-param-appendtext": "הוספת הטקסט הזה לסוף הדף. דורס את $1text.\n\nיש להשתמש ב־$1section=new כדי להוסיף פסקה חדשה, ולא בפרמטר הזה.",
+ "apihelp-edit-param-undo": "לבטל את הגרסה הזאת. דורס את $1text‏, $1prependtext ו־$1appendtext.",
+ "apihelp-edit-param-undoafter": "ביטול כל הגרסאות מ־$1undo עד כאן. אם זה לא מוגדר, לבטל רק גרסה אחת.",
+ "apihelp-edit-param-redirect": "לפתור הפניות אוטומטית.",
+ "apihelp-edit-param-contentformat": "תסדיר להסדרת תוכן שמשמש את טקסט הקלט.",
+ "apihelp-edit-param-contentmodel": "מודל התוכן של התוכן החדש.",
+ "apihelp-edit-param-token": "האסימון תמיד צריך להישלח בתור הפרמטר האחרון, או לפחות אחרי הפרמטר $1text parameter.",
"apihelp-edit-example-edit": "עריכת דף",
+ "apihelp-edit-example-prepend": "הוספת <kbd>_&#95;NOTOC_&#95;</kbd> לתחילת העמוד.",
+ "apihelp-edit-example-undo": "ביטול גרסאות מ־13579 עד 13585 עם תקציר אוטומטי.",
"apihelp-emailuser-description": "שליחת דוא\"ל למשתמש.",
+ "apihelp-emailuser-param-target": "לאיזה משתמש לשלוח דוא\"ל.",
+ "apihelp-emailuser-param-subject": "כותרת נושא.",
+ "apihelp-emailuser-param-text": "גוף הדואר.",
+ "apihelp-emailuser-param-ccme": "שליחת עותק של הדואר הזה אליי.",
+ "apihelp-emailuser-example-email": "שליחת דוא\"ל למשתמש <kbd>WikiSysop</kbd> עם הטקסט <kbd>Content</kbd>.",
+ "apihelp-expandtemplates-description": "הרחבת כל התבניות בקוד הוויקי.",
"apihelp-expandtemplates-param-title": "כותרת הדף.",
+ "apihelp-expandtemplates-param-text": "איזה קוד ויקי להמיר.",
+ "apihelp-expandtemplates-param-revid": "מזהה גרסה, עבור <nowiki>{{REVISIONID}}</nowiki> ומשתנים דומים.",
+ "apihelp-expandtemplates-param-prop": "אילו חלקי מידע לקבל.\n\nיש לשים לכך שאם לא נבחרו ערכים, התוצאה תכיל את קוד הוויקי, אבל הפלט יהיה בתסדיר מיושן.",
+ "apihelp-expandtemplates-paramvalue-prop-wikitext": "קוד הוויקי המורחב.",
+ "apihelp-expandtemplates-paramvalue-prop-categories": "קטגוריות כלשהן שקיימות בקלט ואינן מיוצגות בפלט הוויקיטקסט.",
+ "apihelp-expandtemplates-paramvalue-prop-properties": "מאפייני דף המוגדרים במילות קסם מורחבות בקוד ויקי.",
+ "apihelp-expandtemplates-paramvalue-prop-volatile": "האם הפלט הוא נדיף ואין להשתמש בו במקום אחר בעמוד.",
+ "apihelp-expandtemplates-paramvalue-prop-ttl": "הזמן המרבי שאחריו המטמונים של התוצאה צריכים לפוג.",
+ "apihelp-expandtemplates-paramvalue-prop-modules": "כל יחידות ה־ResourceLoader שפונקציות מפענח ביקשו לוסיף לפלט. יש לבקש את <kbd>jsconfigvars</kbd> או את <kbd>encodedjsconfigvars</kbd> יחד עם <kbd>modules</kbd>.",
+ "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "נותן משתני הגדרות של JavaScript שייחודיים לדף הזה.",
+ "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "נותן משתני הגדרות של JavaScript שייחודיים לדף הזה בתור מחרוזת JSON.",
+ "apihelp-expandtemplates-paramvalue-prop-parsetree": "עץ פענוח XML של הקלט.",
+ "apihelp-expandtemplates-param-includecomments": "האם לכלול הערות HTML בפלט.",
+ "apihelp-expandtemplates-param-generatexml": "יצירת עץ פענוח XML (מוחלף ב־$1prop=parsetree).",
+ "apihelp-expandtemplates-example-simple": "להרחיב את קוד הוויקי <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
+ "apihelp-feedcontributions-description": "החזרת הזנת תרומות משתמש.",
+ "apihelp-feedcontributions-param-feedformat": "תסדיר ההזנה.",
+ "apihelp-feedcontributions-param-user": "לקבל תרומות של אילו משמשים.",
+ "apihelp-feedcontributions-param-namespace": "לפי איזה מרחב שם לסנן את התרומות.",
"apihelp-feedcontributions-param-year": "החל משנה (ולפני כן).",
"apihelp-feedcontributions-param-month": "החל מחודש (ולפני כן).",
"apihelp-feedcontributions-param-tagfilter": "סינון תרומות בעלות התגיות הבאות.",
"apihelp-feedcontributions-param-deletedonly": "הצגת תרומות שנמחקו בלבד.",
"apihelp-feedcontributions-param-toponly": "הצגת עריכות שהן הגרסה העדכנית ביותר בלבד.",
+ "apihelp-feedcontributions-param-newonly": "להציג רק עריכות שהן יצירות דפים.",
+ "apihelp-feedcontributions-param-showsizediff": "להציג את ההבדל בגודל בין גרסאות.",
"apihelp-feedcontributions-example-simple": "החזרת תרומות עבור המשתמש <kbd>Example</kbd>.",
+ "apihelp-feedrecentchanges-description": "להחזיר הזנת שינויים אחרונים.",
+ "apihelp-feedrecentchanges-param-feedformat": "תסדיר ההזנה.",
+ "apihelp-feedrecentchanges-param-namespace": "לאיזה מרחב שם להגביל את התוצאות.",
+ "apihelp-feedrecentchanges-param-invert": "כל מרחבי השם למעט זה שנבחר.",
+ "apihelp-feedrecentchanges-param-associated": "לכלול מרחב שם משויך (שיחה או ראשי).",
+ "apihelp-feedrecentchanges-param-days": "לכמה ימים להגביל את התוצאות.",
+ "apihelp-feedrecentchanges-param-limit": "המספר המרבי של התוצאות להחזיר.",
+ "apihelp-feedrecentchanges-param-from": "להציג תוצאות מאז.",
"apihelp-feedrecentchanges-param-hideminor": "הסתרת שינוים משניים.",
"apihelp-feedrecentchanges-param-hidebots": "הסתרת שינויים שנעשו על ידי בוטים.",
"apihelp-feedrecentchanges-param-hideanons": "הסתרת שינויים שנעשו על ידי אנונימים.",
@@ -60,12 +158,46 @@
"apihelp-feedrecentchanges-param-hidemyself": "הסתרת שינוים שנעשו על ידי המשתמש הנוכחי.",
"apihelp-feedrecentchanges-param-tagfilter": "סינון לפי תגית.",
"apihelp-feedrecentchanges-param-target": "הצגת שינויים שנעשו בדפים המקושרים לדף זה בלבד.",
+ "apihelp-feedrecentchanges-param-showlinkedto": "להציג את השינויים בדפים שמקושרים לדף שנבחר במקום זה.",
"apihelp-feedrecentchanges-example-simple": "הצגת שינויים אחרונים.",
"apihelp-feedrecentchanges-example-30days": "הצגת שינויים אחרונים עבור 30 ימים.",
+ "apihelp-feedwatchlist-description": "החזרת הזנת רשימת מעקב.",
+ "apihelp-feedwatchlist-param-feedformat": "תסדיר ההזנה.",
+ "apihelp-feedwatchlist-param-hours": "רשימת דפים ששונו בתוך מספר כזה של שעות מעכשיו.",
+ "apihelp-feedwatchlist-param-linktosections": "לקשר ישר לפסקאות ששונו אם אפשר.",
+ "apihelp-feedwatchlist-example-default": "הצגת הזנת רשימת מעקב.",
+ "apihelp-feedwatchlist-example-all6hrs": "להציג את כל השינויים בדפים שבמעקב ב־6 השעות האחרונות.",
+ "apihelp-filerevert-description": "לשחזר את הקובץ לגרסה ישנה יותר.",
+ "apihelp-filerevert-param-filename": "שם קובץ היעד, ללא התחילית File:.",
+ "apihelp-filerevert-param-comment": "הערת העלאה.",
+ "apihelp-filerevert-param-archivename": "שם הארכיון של הגרסה שאליה ישוחזר הקובץ.",
+ "apihelp-filerevert-example-revert": "לשחזר את <kbd>Wiki.png</kbd> לגרסה מ־<kbd>2011-03-05T15:27:40Z</kbd>.",
"apihelp-help-description": "הצגת עזרה עבור היחידות שצוינו.",
+ "apihelp-help-param-modules": "עזרה של אילו יחידות להציג (ערכים של הפרמטרים <var>action</var> ו־<var>format</var>, או <kbd>main</kbd>). אפשר להגדיר תת־יחידות עם <kbd>+</kbd>.",
+ "apihelp-help-param-submodules": "לכלול עזרה לתת־יחידות ליחידה שצוינה.",
+ "apihelp-help-param-recursivesubmodules": "לכלול עזרה לתת־יחידות באופן רקורסיבי.",
"apihelp-help-param-helpformat": "תסדיר פלט העזרה.",
+ "apihelp-help-param-wrap": "לעטוף את הפלט במבנה תשובת API תקני.",
"apihelp-help-param-toc": "לכלול תוכן עניינים בפלט HTML.",
+ "apihelp-help-example-main": "עזרה ליחידה הראשית.",
+ "apihelp-help-example-recursive": "כל העזרה בדף אחד.",
+ "apihelp-help-example-help": "עזרה ליחידת העזרה עצמה.",
+ "apihelp-help-example-query": "עזרה לשתי תת־יחידות של שאילתה.",
+ "apihelp-imagerotate-description": "סיבוב של תמונה אחת או יותר.",
+ "apihelp-imagerotate-param-rotation": "בכמה מעלות לסובב בכיוון השעון.",
+ "apihelp-imagerotate-example-simple": "לסובב את <kbd>File:Example.png</kbd> ב־<kbd>90</kbd> מעלות.",
+ "apihelp-imagerotate-example-generator": "לסובב את כל התמונות ב־<kbd>Category:Flip</kbd> ב־<kbd>180</kbd> מעלות.",
+ "apihelp-import-description": "לייבא דף מוויקי אחר או מקובץ XML.\n\nיש לשים לב לכך שפעולת HTTP POST צריכה להיעשות בתור העלאת קובץ (כלומר, עם multipart/form-data) בזמן שליחת קובץ לפרמטר <var>xml</var>.",
+ "apihelp-import-param-summary": "תקציר יבוא.",
"apihelp-import-param-xml": "קובץ XML שהועלה.",
+ "apihelp-import-param-interwikisource": "ליבוא בין אתרי ויקי: מאיזה ויקי לייבא.",
+ "apihelp-import-param-interwikipage": "ליבוא בין אתרי ויקי: איזה דף לייבא.",
+ "apihelp-import-param-fullhistory": "ליבוא בין אתרי ויקי: לייבר את ההיסטוריה המלאה, לא רק את הגרסה הנוכחית.",
+ "apihelp-import-param-templates": "ליבוא בין אתרי ויקי: לייבא גם את כל התבניות המוכללות.",
+ "apihelp-import-param-namespace": "לייבא למרחב השם הזה. לא ניתן להשתמש בזה יחד עם <var>$1rootpage</var>.",
+ "apihelp-import-param-rootpage": "לייבא בתור תת־משנה של הדף הזה. לא ניתן להשתמש בזה יחד עם <var>$1namespace</var>.",
+ "apihelp-import-example-import": "לייבא את [[meta:Help:ParserFunctions]] למרחב השם 100 עם היסטוריה מלאה.",
+ "apihelp-login-description": "להיכנס ולקבל עוגיות אימות.\n\nבמקרה של כניסה מוצלחת, העוגיות הדרושות תיכללנה בכותרות תשובות של HTTP. במקרה של כניסה לא מוצלחת, הניסיונות הבאים עשויים להיות חנוקים כדי להגביל תקיפות ניחוש ססמה אוטומטי.",
"apihelp-login-param-name": "שם משתמש.",
"apihelp-login-param-password": "ססמה.",
"apihelp-login-param-domain": "שם מתחם (רשות).",
@@ -75,84 +207,1089 @@
"apihelp-logout-description": "יציאה וניקוי של נתוני הפעילות.",
"apihelp-logout-example-logout": "הוצאת המשתמש הנוכחי.",
"apihelp-managetags-description": "ביצוע פעולות ניהוליות הקשורות בשינוי תגיות.",
+ "apihelp-managetags-param-operation": "איזו פעולה לבצע:\n;create:יצירת תג שינוי חדש לשימוש ידני.\n;delete:הסרת תג שינוי ממסד הנתונים, כולל הסרת התג מכל הגרסאות, עיולי שינויים אחרונים ועיולי יומן שהוא משמש בהן.\n;activate:הפעלת תג שינוי, ואפשור למשתמש להחיל אותו ידנית.\n;deactivate:כיבוי תג שינוי, ומניעה ממשתמשים להחיל אותו ידנית.",
+ "apihelp-managetags-param-tag": "תג ליצירה, מחיקה, הפעלה או כיבוי. ליצירת תג, התג לא צריך להיות קיים. למחיקת תג, התג צריך להיות קיים. להפעלת תג, התג צריך להתקיים ולא להיות בשימוש של הרחבה. לכיבוי תג, התג צריך להיות קיים ומוגדר ידנית.",
+ "apihelp-managetags-param-reason": "סיבה אופציונלית ליצירה, מחיקה, הפעלה או כיבוי של תג.",
+ "apihelp-managetags-param-ignorewarnings": "האם להתעלם מכל האזהרות שמופיעות תוך כדי הפעולה.",
+ "apihelp-managetags-example-create": "יצירת תג בשם <kbd>spam</kbd> עם הסיבה <kbd>For use in edit patrolling</kbd>",
+ "apihelp-managetags-example-delete": "מחיקת התג <kbd>vandlaism</kbd> עם הסיבה <kbd>Misspelt</kbd>",
+ "apihelp-managetags-example-activate": "הפעלת התג <kbd>spam</kbd> עם הסיבה <kbd>For use in edit patrolling</kbd>",
+ "apihelp-managetags-example-deactivate": "כיבוי התג <kbd>spam</kbd> עם הסיבה <kbd>No longer required</kbd>",
"apihelp-move-description": "העברת עמוד.",
+ "apihelp-move-param-from": "שם הדף ששמו ישונה. לא יכול לשמש יחד עם <var>$1fromid</var>.",
+ "apihelp-move-param-fromid": "מזהה הדף של הדף שצריך לשנות את שמו. לא יכול לשמש עם <var>$1from</var>.",
+ "apihelp-move-param-to": "לאיזו כותרת לשנות את שם הדף.",
+ "apihelp-move-param-reason": "הסיבה לשינוי השם.",
+ "apihelp-move-param-movetalk": "שינוי שם דף השיחה, אם הוא קיים.",
+ "apihelp-move-param-movesubpages": "שינוי השמות של דפי־המשנה, אם זה שייך.",
+ "apihelp-move-param-noredirect": "לא ליצור הפניה.",
+ "apihelp-move-param-watch": "הוספת הדף וההפניה לרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-move-param-unwatch": "הסרת הדף וההפניה מרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-move-param-watchlist": "הוספה או הסרה של הדף ללא תנאי מרשימת המעקב של המשתמש הנוכחי, להשתמש בהעדפות או לא לשנות את המעקב.",
+ "apihelp-move-param-ignorewarnings": "להתעלם מכל האזהרות.",
+ "apihelp-move-example-move": "העברת <kbd>Badtitle</kbd> ל־<kbd>Goodtitle</kbd> בלי להשאיר הפניה.",
+ "apihelp-opensearch-description": "חיפוש בוויקי בפרוטוקול OpenSearch.",
"apihelp-opensearch-param-search": "מחרוזת לחיפוש.",
+ "apihelp-opensearch-param-limit": "המספר המרבי של התוצאות שתוחזרנה.",
"apihelp-opensearch-param-namespace": "שמות מתחם לחיפוש.",
+ "apihelp-opensearch-param-suggest": "לא לעשות דבר אם <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> הוא false.",
+ "apihelp-opensearch-param-redirects": "איך לטפל בהפניות:\n;return:להחזיר את ההפניה עצמה.\n;resolve:להחזיר את דף היעד. יכול להחזיר פחות מ־$1limit תוצאות.\nמסיבות היסטוריות, בררת המחדל היא \"return\" עבור $1format=json ו־\"resolve\" עבור תסדירים אחרים.",
"apihelp-opensearch-param-format": "תסדיר הפלט.",
+ "apihelp-opensearch-param-warningsaserror": "אם אזהרות מוּעלות עם <kbd>format=json</kbd>, להחזיר שגיאת API במקום להתעלם מהן.",
+ "apihelp-opensearch-example-te": "חיפוש דפים שמתחילים ב־<kbd>Te</kbd>.",
+ "apihelp-options-description": "שינוי העדפות של המשתמש הנוכחי.\n\nרק אפשרויות שמוגדרות בליבה או באחת מההרחבות המותקנות, או אפשרויות עם מפתחות עם התחילית \"<code dir=\"ltr\">userjs-</code>\" (שמיועדות לשימוש תסריטי משתמשים) יכולות להיות מוגדרות.",
+ "apihelp-options-param-reset": "אתחול ההעדפות לבררות המחדל של האתר.",
+ "apihelp-options-param-resetkinds": "רשימת סוגי אפשרויות לאתחל כאשר מוגדרת האפשרות <var>$1reset</var>.",
+ "apihelp-options-param-change": "רשימת שינויים, בתסדיר name=value (למשל skin=vector). הערך אינו יכול להכיל תווי מקל (|). אם לא ניתן ערך, אפילו לא סימן שווה, למשל optionname|otheroption|...‎, האפשרות תאופס לערך בררת המחדל שלה.",
+ "apihelp-options-param-optionname": "שם האפשרות שצריך להגדיר לערך שניתן ב־<var>$1optionvalue</var>.",
+ "apihelp-options-param-optionvalue": "ערך האפשרות שצוין ב־<var>$1optionname</var>, יכול להכיל תווי מקל.",
+ "apihelp-options-example-reset": "אתחול כל ההעדפות.",
+ "apihelp-options-example-change": "לשנות את ההעדפות <kbd>skin</kbd> ו־<kbd>hideminor</kbd>.",
+ "apihelp-options-example-complex": "לאתחל את כל ההעדפות ואז להגדיר את <kbd>skin</kbd> ואת <kbd>nickname</kbd>.",
+ "apihelp-paraminfo-description": "קבלת מידע על יחידות של API.",
+ "apihelp-paraminfo-param-modules": "רשימה של שמות יחידות (ערכים של הפרמטרים <var>action</var> ו־<var>format</var>, או <kbd>main</kbd>). אפשר להגדיר תת־יחידות עם <kbd>+</kbd>.",
+ "apihelp-paraminfo-param-helpformat": "תסדיר מחרוזות העזרה.",
+ "apihelp-paraminfo-param-querymodules": "רשימת שמות יחידות query (ערך של הפרמטר <var>prop</var>‏, <var>meta</var> או <var>list</var>). יש להשתמש ב־<kbd>$1modules=query+foo</kbd> במקום <kbd>$1querymodules=foo</kbd>.",
+ "apihelp-paraminfo-param-mainmodule": "קבלת מידע עם היחידה הראשית (העליונה). יש להשתמש ב־<kbd>$1modules=main</kbd> במקום זה.",
+ "apihelp-paraminfo-param-pagesetmodule": "קבלת מידע גם על יחידת pageset (שמספק את titles=‎ וידידיו).",
+ "apihelp-paraminfo-param-formatmodules": "רשימת שמות תסדירים (ערכים של הפרמטר <var>format</var>). יש להשתמש ב־<var>$1modules</var> במקום זה.",
+ "apihelp-paraminfo-example-1": "הצגת מידע עבור <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>‏, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>‏, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>‏, ו־<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>.",
+ "apihelp-parse-description": "מפענח את התוכן ומחזיר פלט מפענח.\n\nר' את יחידת ה־prop השיונות של <kbd>[[Special:ApiHelp/query|action=query]]</kbd> כדי לקבל מידע על הגרסה הנוכחית של הדף.\n\nיש מספר דרכים לציין טקסט לפענוח:\n# ציון דף או גרסה באמצעות <var>$1page</var>‏, <var>$1pageid</var>, או <var>$1oldid</var>.\n# ציון התוכן במפורש, באמצעות <var>$1text</var>‏, <var>$1title</var>, ו־<var>$1contentmodel</var>.\n# ציון רק של התקציר לפענוח. ל־<var>$1prop</var> צריך לתת ערך ריק.",
+ "apihelp-parse-param-title": "שם הדף שהטקסט שייך אליו. אם זה מושמט, יש לציין את <var>$1contentmodel</var>, ו־[[API]] ישמש ככותרת.",
+ "apihelp-parse-param-text": "הטקסט לפענוח. יש להשתמש ב־<var>$1title</var> או ב־<var>$1contentmodel</var>.",
+ "apihelp-parse-param-summary": "התקציר שצריך לפענח.",
+ "apihelp-parse-param-page": "פענוח תוכן הדף הזה. לא יכול לשמש יחד עם <var>$1text</var> ו־<var>$1title</var>.",
+ "apihelp-parse-param-pageid": "לפענח את התוכן של הדף הזה. דורס את <var>$1page</var>.",
+ "apihelp-parse-param-redirects": "אם <var>$1page</var> או <var>$1pageid</var> מוגדרים להפניה, לפתור אותה.",
+ "apihelp-parse-param-oldid": "לפענח את התוכן של הגרסה הזאת. דורס את <var>$1page</var> ואת <var>$1pageid</var>.",
+ "apihelp-parse-param-prop": "אילו פריטי מידע לקבל:",
+ "apihelp-parse-paramvalue-prop-text": "נותן טקסט מפוענח של קוד הוויקי.",
+ "apihelp-parse-paramvalue-prop-langlinks": "נותן קישורי שפה בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-categories": "נותן קטגוריות בקוד ויקי מפוענח.",
+ "apihelp-parse-paramvalue-prop-categorieshtml": "נותן את גרסת ה־HTML של הקטגוריות.",
+ "apihelp-parse-paramvalue-prop-links": "נותן קישורים פנימיים בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-templates": "נותן תבניות בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-images": "נותן תמונות בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-externallinks": "מתן קישורים חיצוניים בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-sections": "מתן הפסקאות בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-revid": "הוספת מזהה הגרסה של הדף המפוענח.",
+ "apihelp-parse-paramvalue-prop-displaytitle": "הוספת הכותרת של קוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-headitems": "נותן פריטים לשים ב־<code>&lt;head&gt;</code> של הדף.",
+ "apihelp-parse-paramvalue-prop-headhtml": "נותן את ה־<code>&lt;head&gt;</code> המפוענח של הדף.",
+ "apihelp-parse-paramvalue-prop-modules": "מצן יחידות ResourceLoader שמשמשות בדף. יש לבקש את <kbd>jsconfigvars</kbd> או את <kbd>encodedjsconfigvars</kbd> יחד עם <kbd>modules</kbd>.",
+ "apihelp-parse-paramvalue-prop-jsconfigvars": "נותן משתני הגדרות של JavaScript שייחודיים לדף הזה.",
+ "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "נותן משתני הגדרות של JavaScript שייחודיים לדף הזה בתור מחרוזת JSON.",
+ "apihelp-parse-paramvalue-prop-indicators": "נותן את ה־HTML של מחווני מצב דף שמשמשים בדף.",
+ "apihelp-parse-paramvalue-prop-iwlinks": "מתן קישורי בינוויקי בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-wikitext": "מתן קוד הוויקי המקורי שפוענח.",
+ "apihelp-parse-paramvalue-prop-properties": "נותן מאפיינים שונים שמוגדרים בקוד הוויקי המפוענח.",
+ "apihelp-parse-paramvalue-prop-limitreportdata": "נותן דו\"ח הגבלות בדרך מובנית. לא נותן שום נתונים כאשר מוגדר <var>$1disablelimitreport</var>.",
+ "apihelp-parse-paramvalue-prop-limitreporthtml": "נותן את גרסת ה־HTML של דו\"ח ההגבלות. לא נותן שום נתונים כאשר מוגדר <var>$1disablelimitreport</var>.",
+ "apihelp-parse-paramvalue-prop-parsetree": "עץ פענוח XML של תוכן הגרסה (דורש מודל תוכן <code>$1</code>)",
+ "apihelp-parse-param-pst": "לעשות התמרה לפני שמירה על הקלט לפני פענוחו. תקין רק בשימוש עם טקסט.",
+ "apihelp-parse-param-onlypst": "לעשות התמרה לפני שמירה (pre-save transform‏, PST) על הקלט, אבל לא לפענח אותו. מחזיר את אותו קוד הוויקי אחרי החלת PST. תקף רק בשימוש עם <var>$1text</var>.",
+ "apihelp-parse-param-effectivelanglinks": "כולל קישור שפה שמספקות הרחבות (לשימוש עם <kbd>$1prop=langlinks</kbd>).",
+ "apihelp-parse-param-section": "לאחזר את התוכן של הפסקה עם המספר הזה, או, אם זה <kbd>new</kbd>, ליצור פסקה חדשה.\n\n<kbd>new</kbd> יכובד רק בעת ציון <var>text</var>.",
+ "apihelp-parse-param-sectiontitle": "כותרת פסקה חדשה כאשר <var>section</var> הוא <kbd>new</kbd>.\n\nבניגוד לעריכת דף, זה לא מתגבה ל־<var>summary</var> כשזה מושמט אם ריק.",
+ "apihelp-parse-param-disablelimitreport": "להשמיט את דו\"ח הקדם־מעבד (\"NewPP limit report\") מפלט המפענח.",
+ "apihelp-parse-param-disablepp": "יש להשתמש ב־<var>$1disablelimitreport</var> במקום.",
+ "apihelp-parse-param-disableeditsection": "להשמיט את קישורי עריכת הפסקאות מפלט המפענח.",
+ "apihelp-parse-param-disabletidy": "לא להריץ ניקוי HTML (למשל tidy) על פלט המפענח.",
+ "apihelp-parse-param-generatexml": "יצירת עץ פע