jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/373257 )
Change subject: New Wikidata Build - 2017-08-23T10:00:01+0000
......................................................................
New Wikidata Build - 2017-08-23T10:00:01+0000
Change-Id: I3b427e2571deb04a158406bac61ec38854ed06ba
---
M composer.lock
M extensions/ArticlePlaceholder/i18n/ba.json
M extensions/Constraints/README.md
M extensions/Constraints/api/CheckConstraints.php
M extensions/Constraints/i18n/ast.json
M extensions/Constraints/i18n/he.json
M extensions/Constraints/i18n/it.json
M extensions/Constraints/i18n/pt.json
M extensions/Constraints/i18n/zh-hans.json
M extensions/Constraints/includes/Constraint.php
M
extensions/Constraints/includes/ConstraintCheck/Helper/ConstraintParameterParser.php
M extensions/Constraints/tests/phpunit/Api/CheckConstraintsTest.php
M extensions/Wikibase/client/i18n/fa.json
M extensions/Wikibase/lib/i18n/tay.json
M extensions/Wikibase/repo/i18n/ast.json
M extensions/Wikibase/repo/i18n/be-tarask.json
M extensions/Wikibase/repo/i18n/hu.json
M extensions/Wikibase/repo/i18n/tay.json
M vendor/composer/installed.json
19 files changed, 180 insertions(+), 237 deletions(-)
Approvals:
WMDE-leszek: Looks good to me, approved
jenkins-bot: Verified
diff --git a/composer.lock b/composer.lock
index 33933ad..bdd133f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -763,12 +763,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git",
- "reference": "3be2a23579f66dc0ec7ea5ac9109f7f8767347f3"
+ "reference": "3a283d051dff04a580bd6c74a0dbae35593eb733"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/3be2a23579f66dc0ec7ea5ac9109f7f8767347f3",
- "reference": "3be2a23579f66dc0ec7ea5ac9109f7f8767347f3",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/3a283d051dff04a580bd6c74a0dbae35593eb733",
+ "reference": "3a283d051dff04a580bd6c74a0dbae35593eb733",
"shasum": ""
},
"require": {
@@ -797,7 +797,7 @@
],
"description": "Provides a special page with Wikibase information
about a certain topic, with invitation to create an article for the topic",
"homepage":
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder",
- "time": "2017-08-22 06:35:22"
+ "time": "2017-08-23 06:59:10"
},
{
"name": "propertysuggester/property-suggester",
@@ -973,7 +973,7 @@
"source": {
"type": "git",
"url":
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints",
- "reference": "8bd6518a9c8797bd1b1bccff4f79f9939f314c7a"
+ "reference": "e64a5b34579b6fb575f5617a654299f6d47a950c"
},
"require": {
"php": ">=5.5.9",
@@ -1033,7 +1033,7 @@
"support": {
"issues":
"https://phabricator.wikimedia.org/project/profile/1202/"
},
- "time": "2017-08-22 09:22:02"
+ "time": "2017-08-23 08:58:25"
},
{
"name": "wikibase/data-model",
@@ -1546,12 +1546,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5"
+ "reference": "e162d71a55fe71aa775485af62bbc9f0d4952fe6"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5",
- "reference": "c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/e162d71a55fe71aa775485af62bbc9f0d4952fe6",
+ "reference": "e162d71a55fe71aa775485af62bbc9f0d4952fe6",
"shasum": ""
},
"require": {
@@ -1628,7 +1628,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2017-08-22 07:26:04"
+ "time": "2017-08-23 07:44:57"
},
{
"name": "wikibase/wikimedia-badges",
diff --git a/extensions/ArticlePlaceholder/i18n/ba.json
b/extensions/ArticlePlaceholder/i18n/ba.json
index 52df19c..b720bcc 100644
--- a/extensions/ArticlePlaceholder/i18n/ba.json
+++ b/extensions/ArticlePlaceholder/i18n/ba.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Айбикә"
+ "Айбикә",
+ "Ләйсән"
]
},
"articleplaceholder-abouttopic": "Тема тураһында",
@@ -10,6 +11,5 @@
"articleplaceholder-abouttopic-article-exists-error": "Бындай атамалы
тема бар",
"articleplaceholder-abouttopic-lua-entity": "Төп нигеҙ",
"articleplaceholder-abouttopic-lua-reference": "Иҫкәрмә",
- "articleplaceholder-abouttopic-lua-qualifier": "Квалификатор",
- "articleplaceholder-abouttopic-lua-identifier": "Идентификатор"
+ "articleplaceholder-abouttopic-lua-identifier": "Тышҡы сығанаҡтар"
}
diff --git a/extensions/Constraints/README.md b/extensions/Constraints/README.md
index 8541988..5ff3655 100644
--- a/extensions/Constraints/README.md
+++ b/extensions/Constraints/README.md
@@ -64,8 +64,13 @@
* If you have a SPARQL endpoint, configure it in
`WBQualityConstraintsSparqlEndpoint`.
+ * Alternatively, to check “format” constraints without running a full SPARQL
server,
+ you can use the [minisparql] server.
+
* Run `php maintenance/runScript.php
extensions/WikibaseQualityConstraints/maintenance/ImportConstraintStatements.php`.
+[minisparql]: https://github.com/lucaswerkmeister/minisparql
+
### Gadget
The extension includes a gadget that checks constraints on entity pages and
displays violations on statements.
diff --git a/extensions/Constraints/api/CheckConstraints.php
b/extensions/Constraints/api/CheckConstraints.php
index 0155a21..e345017 100644
--- a/extensions/Constraints/api/CheckConstraints.php
+++ b/extensions/Constraints/api/CheckConstraints.php
@@ -342,20 +342,10 @@
$typeItemId =
$checkResult->getConstraint()->getConstraintTypeItemId();
$title = $this->entityTitleLookup->getTitleForId(
$checkResult->getPropertyId() );
- try {
- $statementGuid =
$this->statementGuidParser->parse( $constraintId );
- // constraint statement
- $typeLabel =
$this->entityIdLabelFormatter->formatEntityId( new ItemId( $typeItemId ) );
- // TODO link to the statement when possible
(T169224)
- $link = $title->getFullUrl() . '#' .
$this->config->get( 'WBQualityConstraintsPropertyConstraintId' );
- } catch ( StatementGuidParsingException $e ) {
- // constraint template on talk page
- $typeLabel = htmlspecialchars( $typeItemId );
- if ( !$title->canHaveTalkPage() ) {
- throw new MWException( 'Properties
namespace must define a talk namespace' );
- }
- $link =
$title->getTalkPageIfDefined()->getFullUrl();
- }
+ $statementGuid = $this->statementGuidParser->parse(
$constraintId );
+ $typeLabel =
$this->entityIdLabelFormatter->formatEntityId( new ItemId( $typeItemId ) );
+ // TODO link to the statement when possible (T169224)
+ $link = $title->getFullUrl() . '#' .
$this->config->get( 'WBQualityConstraintsPropertyConstraintId' );
$result = [
'status' => $checkResult->getStatus(),
diff --git a/extensions/Constraints/i18n/ast.json
b/extensions/Constraints/i18n/ast.json
index a637d4c..fab6bc5 100644
--- a/extensions/Constraints/i18n/ast.json
+++ b/extensions/Constraints/i18n/ast.json
@@ -32,15 +32,16 @@
"wbqc-potentialissues-long": "Esta declaración tien posibles
incidencies.",
"wbqc-badparameters-short": "Parámetros incorreutos",
"wbqc-badparameters-long": "Esta declaración de torga tien dellos
parámetros inválidos.",
+ "wbqc-parameterissues-short": "Incidencies avanzaes",
"wbqc-problems-short": "Problemes",
"wbqc-problems-long": "Esta declaración tien dellos problemes.",
+ "wbqc-constrainttypehelp-long": "Páxina d'ayuda pa esta triba de torga",
"wbq-subextension-name-wbqc": "Torgues",
"wbqc-violation-header-parameters": "Parámetros:",
"wbqc-violations-group": "Torgues",
"wbqc-violation-message": "La comprobación de torgues señaló una
violación. Fai click nel iconu pa más información.",
"wbqc-violation-message-not-yet-implemented": "Por razones téuniques,
la comprobación de la torga «$1» inda nun ta desendolcada.",
"wbqc-violation-message-security-reason": "Por motivos de seguridá, nun
ye posible comprobar la torga «$1» nesti momentu. Tamos trabayando n'una
solución.",
- "wbqc-violation-message-value-needed": "Les propiedaes cola torga «$1»
han tener un valor.",
"wbqc-violation-message-value-needed-of-type": "Les propiedaes cola
torga «$1» han tener valores de tipu «$2».",
"wbqc-violation-message-parameter-needed": "Les propiedaes cola torga
«$1» necesiten un parámetru «$2».",
"wbqc-violation-message-target-entity-must-exist": "La entidá de destín
tien d'esistir.",
@@ -52,9 +53,8 @@
"wbqc-violation-message-conflicts-with-claim": "Una entidá nun habría
de tener declaraciones pa $1 si tamién tien una declaración pa $2 con valor
$3.",
"wbqc-violation-message-diff-within-range": "La diferencia ente $3 ($4)
y $1 ($2) habría de tar ente $5 y $6 ([$5; $6]).",
"wbqc-violation-message-diff-within-range-property-must-exist": "La
propiedá definida nos parámetros tien d'esistir.",
- "wbqc-violation-message-diff-within-range-property-needs value": "La
propiedá definida nos parámetros tien de tener un valor.",
"wbqc-violation-message-diff-within-range-must-have-equal-types": "La
propiedá definida nos parámetros tien de tener un valor del mesmu tipu qu'esta
propiedá.",
- "wbqc-violation-message-format": "El valor de $1 ($2) tien de coincidir
col patrón $3.",
+ "wbqc-violation-message-format": "El valor de $1 ($2) tien de coincidir
cola espresión regular $3.",
"wbqc-violation-message-inverse": "$1 habría de tener tamién la
declaración inversa $2 $3.",
"wbqc-violation-message-item": "Una entidá con $1 habría de tener
tamién {{PLURAL:$3|0=una declaración $2|1=una declaración $2 $5|una declaración
pa $2 con un valor de los siguientes:$4}}.",
"wbqc-violation-message-multi-value": "Esta propiedá tendría de
contener valores múltiples. Esto ye, tendría d'haber más d'una declaración
utilizando esta propiedá.",
diff --git a/extensions/Constraints/i18n/he.json
b/extensions/Constraints/i18n/he.json
index a47a92e..1e0807f 100644
--- a/extensions/Constraints/i18n/he.json
+++ b/extensions/Constraints/i18n/he.json
@@ -80,7 +80,8 @@
"wbqc-violation-message-diff-within-range-rightopen": "ההבדל בין $3
(כעת: $4) ו{{GRAMMAR:תחילית|$1}} (כעת: $2) אמור להיות לא פחות מ־$5 ([$5; ∞)).",
"wbqc-violation-message-diff-within-range-property-must-exist":
"המאפיין שמוגדר בפרמטרים צריך להתקיים.",
"wbqc-violation-message-diff-within-range-must-have-equal-types":
"למאפיין שהוגדר בפרמטרים צריך להיות ערך מאותו הסוג כמו למאפיין הזה.",
- "wbqc-violation-message-format": "הערך של $1 (כעת: $2) אמור להתאים
לתבנית $3.",
+ "wbqc-violation-message-format": "הערך של $1 (כעת: $2) אמור להתאים
לביטוי הרגולרי $3.",
+ "wbqc-violation-message-format-clarification": "הערך $2 עבור המאפיין $1
אמור להתאים לתבנית \"$4\" (ביטוי רגולרי: $3)",
"wbqc-violation-message-inverse": "ל{{GRAMMAR:תחילית|$1}} אמורה להיות
גם הקביעה ההפוכה $2 $3.",
"wbqc-violation-message-item": "לישות עם $1 אמורה להיות גם
{{PLURAL:$3|0=הקביעה $2.|1=הקביעה $2 $5.|הקביעה עבור $2 עם אחד מהערכים הבאים:
$4}}",
"wbqc-violation-message-mandatory-qualifier": "בקביעת
ה{{GRAMMAR:תחילית|$1}} הזאת חסר המבחין $2.",
diff --git a/extensions/Constraints/i18n/it.json
b/extensions/Constraints/i18n/it.json
index 7dd7943..39c454e 100644
--- a/extensions/Constraints/i18n/it.json
+++ b/extensions/Constraints/i18n/it.json
@@ -40,7 +40,6 @@
"wbqc-violation-message": "Il controllo del vincolo ha rilevato una
violazione. Si prega di fare clic sull'icona per ulteriori informazioni.",
"wbqc-violation-message-not-yet-implemented": "Per motivi tecnici, il
controllo per il vincolo di \"$1\" non è ancora stato implementato.",
"wbqc-violation-message-security-reason": "Per motivi di sicurezza, il
controllo per il vincolo di \"$1\" non è possibile al momento. Stiamo lavorando
a una soluzione.",
- "wbqc-violation-message-value-needed": "Proprietà con vincolo \"$1\"
devono avere un valore.",
"wbqc-violation-message-value-needed-of-type": "Proprietà con vincolo
\"$1\" devono avere valori di tipo \"$2\".",
"wbqc-violation-message-value-needed-of-types-2": "Proprietà con
vincolo \"$1\" devono avere valori di tipo \"$2\" o \"$3\".",
"wbqc-violation-message-parameter-needed": "Proprietà con il vincolo
\"$1\" necessitano di un parametro \"$2\".",
@@ -63,9 +62,9 @@
"wbqc-violation-message-diff-within-range-leftopen": "La differenza tra
$3 ($4) e $1 ($2) non dovrebbe essere superiore a $5 ((−∞; $5]).",
"wbqc-violation-message-diff-within-range-rightopen": "La differenza
tra $3 ($4) e $1 ($2) non dovrebbe essere inferiore a $5 ([$5; ∞)).",
"wbqc-violation-message-diff-within-range-property-must-exist": "La
proprietà definita nei parametri deve esistere.",
- "wbqc-violation-message-diff-within-range-property-needs value": "La
proprietà definita nei parametri deve avere un valore.",
"wbqc-violation-message-diff-within-range-must-have-equal-types": "La
proprietà definita nei parametri deve avere un valore dello stesso tipo di
questa proprietà.",
- "wbqc-violation-message-format": "Il valore per $1 ($2) corrispondere
al modello $3.",
+ "wbqc-violation-message-format": "Il valore per $1 ($2) dovrebbe
corrispondere all'espressione regolare $3.",
+ "wbqc-violation-message-format-clarification": "Il valore per $1 ($2)
dovrebbe corrispondere a \"$4\" (espressione regolare: $3).",
"wbqc-violation-message-inverse": "$1 dovrebbe avere anche la
dichiarazione inversa $2 $3.",
"wbqc-violation-message-multi-value": "Questa proprietà dovrebbe
contenere valori multipli. Cioè, ci dovrebbe essere più di una dichiarazione
che utilizza questa proprietà.",
"wbqc-violation-message-one-of": "Il valore per $1 deve essere
{{PLURAL:$2|1=$4.|2=$4 o $5.|uno dei seguenti:$3}}",
diff --git a/extensions/Constraints/i18n/pt.json
b/extensions/Constraints/i18n/pt.json
index 096b8de..0d77186 100644
--- a/extensions/Constraints/i18n/pt.json
+++ b/extensions/Constraints/i18n/pt.json
@@ -89,7 +89,8 @@
"wbqc-violation-message-diff-within-range-rightopen": "A diferença
entre $3 ($4) e $1 ($2) deveria ser igual ou superior a $5 ([$5; ∞)).",
"wbqc-violation-message-diff-within-range-property-must-exist": "A
propriedade definida nos parâmetros tem de existir.",
"wbqc-violation-message-diff-within-range-must-have-equal-types": "A
propriedade definida nos parâmetros tem de ter um valor do mesmo tipo que esta
propriedade.",
- "wbqc-violation-message-format": "O valor da propriedade $1 ($2)
deveria coincidir com o padrão $3.",
+ "wbqc-violation-message-format": "O valor de $1 ($2) deveria coincidir
com a expressão regular $3.",
+ "wbqc-violation-message-format-clarification": "O valor de $1 ($2)
deveria coincidir com \"$4\" (expressão regular: $3).",
"wbqc-violation-message-inverse": "$1 também deveria ter a declaração
inversa $2 $3.",
"wbqc-violation-message-item": "Uma entidade com $1 também deveria ter
{{PLURAL:$3|0=uma declaração $2.|1=uma declaração $2 $5.|uma declaração para $2
com um dos seguintes valores:$4}}",
"wbqc-violation-message-mandatory-qualifier": "Falta um qualificador $2
a esta declaração $1.",
diff --git a/extensions/Constraints/i18n/zh-hans.json
b/extensions/Constraints/i18n/zh-hans.json
index dce4084..b345076 100644
--- a/extensions/Constraints/i18n/zh-hans.json
+++ b/extensions/Constraints/i18n/zh-hans.json
@@ -87,7 +87,8 @@
"wbqc-violation-message-diff-within-range-rightopen":
"$3($4)和$1($2)之间的差异不应小于$5([$5; ∞))。",
"wbqc-violation-message-diff-within-range-property-must-exist":
"参数中定义的属性必须存在。",
"wbqc-violation-message-diff-within-range-must-have-equal-types":
"参数中定义的属性必须有一个与此属性类型相同的值。",
- "wbqc-violation-message-format": "$1的值($2)应匹配模式$3。",
+ "wbqc-violation-message-format": "$1的值($2)应匹配正则表达式$3。",
+ "wbqc-violation-message-format-clarification":
"$1的值($2)应匹配“$4”(正则表达式:$3)。",
"wbqc-violation-message-inverse": "$1也应当拥有相反声明$2 $3。",
"wbqc-violation-message-item": "具有$1的实体也应拥有{{PLURAL:$3|0=声明$2。|1=声明$2
$5。|声明$2,并使用以下值之一:$4}}",
"wbqc-violation-message-mandatory-qualifier": "此$1声明缺少限定符$2。",
diff --git a/extensions/Constraints/includes/Constraint.php
b/extensions/Constraints/includes/Constraint.php
index 7d2c48d..eba32bf 100644
--- a/extensions/Constraints/includes/Constraint.php
+++ b/extensions/Constraints/includes/Constraint.php
@@ -81,14 +81,9 @@
}
/**
- * There are two formats of constraint parameters that this method can
return:
- *
- * 1. Statement parameters were imported from constraint statements by
{@link UpdateConstraintsTableJob}.
- * They are lists of snak array serializations, indexed by property
ID serialization.
- * 2. Template parameters were imported from constraint templates on
property talk pages.
- * They are plain strings (e. g. 'Q5,Q6,Q7') indexed by template
parameters (e. g. 'item', 'property').
- *
- * Support for template parameters will soon be removed.
+ * The constraint parameters, imported from the qualifiers of the
constraint statement.
+ * Contains lists of snak array serializations, indexed by property ID
serialization.
+ * (The import is done by {@link UpdateConstraintsTableJob}.)
*
* @return array
*/
diff --git
a/extensions/Constraints/includes/ConstraintCheck/Helper/ConstraintParameterParser.php
b/extensions/Constraints/includes/ConstraintCheck/Helper/ConstraintParameterParser.php
index c6a54e2..30cab37 100644
---
a/extensions/Constraints/includes/ConstraintCheck/Helper/ConstraintParameterParser.php
+++
b/extensions/Constraints/includes/ConstraintCheck/Helper/ConstraintParameterParser.php
@@ -148,8 +148,24 @@
}
}
- private function parseClassParameterFromStatement( array
$constraintParameters ) {
+ /**
+ * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
+ * @param string $constraintTypeItemId used in error messages
+ * @throws ConstraintParameterException if the parameter is invalid or
missing
+ * @return string[] class entity ID serializations
+ */
+ public function parseClassParameter( array $constraintParameters,
$constraintTypeItemId ) {
+ $this->checkError( $constraintParameters );
$classId = $this->config->get( 'WBQualityConstraintsClassId' );
+ if ( !array_key_exists( $classId, $constraintParameters ) ) {
+ throw new ConstraintParameterException(
+ wfMessage(
'wbqc-violation-message-parameter-needed' )
+ ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
+ ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $classId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
+ ->escaped()
+ );
+ }
+
$classes = [];
foreach ( $constraintParameters[$classId] as $class ) {
$classes[] = $this->parseEntityIdParameter( $class,
$classId )->getSerialization();
@@ -161,25 +177,20 @@
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @param string $constraintTypeItemId used in error messages
* @throws ConstraintParameterException if the parameter is invalid or
missing
- * @return string[] class entity ID serializations
+ * @return string 'instance' or 'subclass'
*/
- public function parseClassParameter( array $constraintParameters,
$constraintTypeItemId ) {
+ public function parseRelationParameter( array $constraintParameters,
$constraintTypeItemId ) {
$this->checkError( $constraintParameters );
- $classId = $this->config->get( 'WBQualityConstraintsClassId' );
- if ( array_key_exists( $classId, $constraintParameters ) ) {
- return $this->parseClassParameterFromStatement(
$constraintParameters );
- } else {
+ $relationId = $this->config->get(
'WBQualityConstraintsRelationId' );
+ if ( !array_key_exists( $relationId, $constraintParameters ) ) {
throw new ConstraintParameterException(
wfMessage(
'wbqc-violation-message-parameter-needed' )
->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
- ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $classId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
+ ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $relationId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
->escaped()
);
}
- }
- private function parseRelationParameterFromStatement( array
$constraintParameters ) {
- $relationId = $this->config->get(
'WBQualityConstraintsRelationId' );
$this->requireSingleParameter( $constraintParameters,
$relationId );
$relationEntityId = $this->parseEntityIdParameter(
$constraintParameters[$relationId][0], $relationId );
$instanceId = $this->config->get(
'WBQualityConstraintsInstanceOfRelationId' );
@@ -197,27 +208,6 @@
->rawParams(
$this->constraintParameterRenderer->formatItemIdList( [ $instanceId,
$subclassId ], Role::CONSTRAINT_PARAMETER_VALUE ) )
->escaped()
);
- }
- }
-
- /**
- * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
- * @param string $constraintTypeItemId used in error messages
- * @throws ConstraintParameterException if the parameter is invalid or
missing
- * @return string 'instance' or 'subclass'
- */
- public function parseRelationParameter( array $constraintParameters,
$constraintTypeItemId ) {
- $this->checkError( $constraintParameters );
- $relationId = $this->config->get(
'WBQualityConstraintsRelationId' );
- if ( array_key_exists( $relationId, $constraintParameters ) ) {
- return $this->parseRelationParameterFromStatement(
$constraintParameters );
- } else {
- throw new ConstraintParameterException(
- wfMessage(
'wbqc-violation-message-parameter-needed' )
- ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
- ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $relationId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
- ->escaped()
- );
}
}
@@ -248,12 +238,6 @@
);
}
- private function parsePropertyParameterFromStatement( array
$constraintParameters ) {
- $propertyIdString = $this->config->get(
'WBQualityConstraintsPropertyId' );
- $this->requireSingleParameter( $constraintParameters,
$propertyIdString );
- return $this->parsePropertyIdParameter(
$constraintParameters[$propertyIdString][0], $propertyIdString );
- }
-
/**
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @param string $constraintTypeItemId used in error messages
@@ -263,9 +247,7 @@
public function parsePropertyParameter( array $constraintParameters,
$constraintTypeItemId ) {
$this->checkError( $constraintParameters );
$propertyId = $this->config->get(
'WBQualityConstraintsPropertyId' );
- if ( array_key_exists( $propertyId, $constraintParameters ) ) {
- return $this->parsePropertyParameterFromStatement(
$constraintParameters );
- } else {
+ if ( !array_key_exists( $propertyId, $constraintParameters ) ) {
throw new ConstraintParameterException(
wfMessage(
'wbqc-violation-message-parameter-needed' )
->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
@@ -273,6 +255,9 @@
->escaped()
);
}
+
+ $this->requireSingleParameter( $constraintParameters,
$propertyId );
+ return $this->parsePropertyIdParameter(
$constraintParameters[$propertyId][0], $propertyId );
}
private function parseItemIdParameter( PropertyValueSnak $snak,
$parameterId ) {
@@ -292,8 +277,29 @@
}
}
- private function parseItemsParameterFromStatement( array
$constraintParameters ) {
+ /**
+ * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
+ * @param string $constraintTypeItemId used in error messages
+ * @param bool $required whether the parameter is required (error if
absent) or not ([] if absent)
+ * @throws ConstraintParameterException if the parameter is invalid or
missing
+ * @return ItemIdSnakValue[] array of values
+ */
+ public function parseItemsParameter( array $constraintParameters,
$constraintTypeItemId, $required ) {
+ $this->checkError( $constraintParameters );
$qualifierId = $this->config->get(
'WBQualityConstraintsQualifierOfPropertyConstraintId' );
+ if ( !array_key_exists( $qualifierId, $constraintParameters ) )
{
+ if ( $required ) {
+ throw new ConstraintParameterException(
+ wfMessage(
'wbqc-violation-message-parameter-needed' )
+ ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
+ ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $qualifierId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
+ ->escaped()
+ );
+ } else {
+ return [];
+ }
+ }
+
$values = [];
foreach ( $constraintParameters[$qualifierId] as $parameter ) {
$snak = $this->snakDeserializer->deserialize(
$parameter );
@@ -315,31 +321,21 @@
/**
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @param string $constraintTypeItemId used in error messages
- * @param bool $required whether the parameter is required (error if
absent) or not ([] if absent)
* @throws ConstraintParameterException if the parameter is invalid or
missing
- * @return ItemIdSnakValue[] array of values
+ * @return PropertyId[]
*/
- public function parseItemsParameter( array $constraintParameters,
$constraintTypeItemId, $required ) {
+ public function parsePropertiesParameter( array $constraintParameters,
$constraintTypeItemId ) {
$this->checkError( $constraintParameters );
- $qualifierId = $this->config->get(
'WBQualityConstraintsQualifierOfPropertyConstraintId' );
- if ( array_key_exists( $qualifierId, $constraintParameters ) ) {
- return $this->parseItemsParameterFromStatement(
$constraintParameters );
- } else {
- if ( $required ) {
- throw new ConstraintParameterException(
- wfMessage(
'wbqc-violation-message-parameter-needed' )
- ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
- ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $qualifierId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
- ->escaped()
- );
- } else {
- return [];
- }
- }
- }
-
- private function parsePropertiesParameterFromStatement( array
$constraintParameters ) {
$propertyId = $this->config->get(
'WBQualityConstraintsPropertyId' );
+ if ( !array_key_exists( $propertyId, $constraintParameters ) ) {
+ throw new ConstraintParameterException(
+ wfMessage(
'wbqc-violation-message-parameter-needed' )
+ ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
+ ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $propertyId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
+ ->escaped()
+ );
+ }
+
$parameters = $constraintParameters[$propertyId];
if ( count( $parameters ) === 1 &&
$this->snakDeserializer->deserialize( $parameters[0] )
instanceof PropertyNoValueSnak
@@ -352,27 +348,6 @@
$properties[] = $this->parsePropertyIdParameter(
$parameter, $propertyId );
}
return $properties;
- }
-
- /**
- * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
- * @param string $constraintTypeItemId used in error messages
- * @throws ConstraintParameterException if the parameter is invalid or
missing
- * @return PropertyId[]
- */
- public function parsePropertiesParameter( array $constraintParameters,
$constraintTypeItemId ) {
- $this->checkError( $constraintParameters );
- $propertyId = $this->config->get(
'WBQualityConstraintsPropertyId' );
- if ( array_key_exists( $propertyId, $constraintParameters ) ) {
- return $this->parsePropertiesParameterFromStatement(
$constraintParameters );
- } else {
- throw new ConstraintParameterException(
- wfMessage(
'wbqc-violation-message-parameter-needed' )
- ->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
- ->rawParams(
$this->constraintParameterRenderer->formatPropertyId( $propertyId,
Role::CONSTRAINT_PARAMETER_PROPERTY ) )
- ->escaped()
- );
- }
}
/**
@@ -411,18 +386,6 @@
}
}
- private function parseRangeParameterFromStatement( array
$constraintParameters, $configKey ) {
- $minimumId = $this->config->get( 'WBQualityConstraintsMinimum'
. $configKey . 'Id' );
- $maximumId = $this->config->get( 'WBQualityConstraintsMaximum'
. $configKey . 'Id' );
- $this->requireSingleParameter( $constraintParameters,
$minimumId );
- $this->requireSingleParameter( $constraintParameters,
$maximumId );
- $parseFunction = $configKey === 'Date' ?
'parseValueOrNoValueOrNowParameter' : 'parseValueOrNoValueParameter';
- return [
- $this->$parseFunction(
$constraintParameters[$minimumId][0], $minimumId ),
- $this->$parseFunction(
$constraintParameters[$maximumId][0], $maximumId )
- ];
- }
-
/**
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @param string $constraintTypeItemId used in error messages
@@ -451,11 +414,9 @@
}
$minimumId = $this->config->get( 'WBQualityConstraintsMinimum'
. $configKey . 'Id' );
$maximumId = $this->config->get( 'WBQualityConstraintsMaximum'
. $configKey . 'Id' );
- if ( array_key_exists( $minimumId, $constraintParameters ) &&
- array_key_exists( $maximumId, $constraintParameters )
+ if ( !array_key_exists( $minimumId, $constraintParameters ) ||
+ !array_key_exists( $maximumId, $constraintParameters )
) {
- return $this->parseRangeParameterFromStatement(
$constraintParameters, $configKey );
- } else {
throw new ConstraintParameterException(
wfMessage(
'wbqc-violation-message-range-parameters-needed' )
->rawParams(
@@ -467,6 +428,14 @@
->escaped()
);
}
+
+ $this->requireSingleParameter( $constraintParameters,
$minimumId );
+ $this->requireSingleParameter( $constraintParameters,
$maximumId );
+ $parseFunction = $configKey === 'Date' ?
'parseValueOrNoValueOrNowParameter' : 'parseValueOrNoValueParameter';
+ return [
+ $this->$parseFunction(
$constraintParameters[$minimumId][0], $minimumId ),
+ $this->$parseFunction(
$constraintParameters[$maximumId][0], $maximumId )
+ ];
}
/**
@@ -494,12 +463,6 @@
}
}
- private function parseNamespaceParameterFromStatement( array
$constraintParameters ) {
- $namespaceId = $this->config->get(
'WBQualityConstraintsNamespaceId' );
- $this->requireSingleParameter( $constraintParameters,
$namespaceId );
- return $this->parseStringParameter(
$constraintParameters[$namespaceId][0], $namespaceId );
- }
-
/**
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @param string $constraintTypeItemId used in error messages
@@ -509,17 +472,12 @@
public function parseNamespaceParameter( array $constraintParameters,
$constraintTypeItemId ) {
$this->checkError( $constraintParameters );
$namespaceId = $this->config->get(
'WBQualityConstraintsNamespaceId' );
- if ( array_key_exists( $namespaceId, $constraintParameters ) ) {
- return $this->parseNamespaceParameterFromStatement(
$constraintParameters );
- } else {
+ if ( !array_key_exists( $namespaceId, $constraintParameters ) )
{
return '';
}
- }
- private function parseFormatParameterFromStatement( array
$constraintParameters ) {
- $formatId = $this->config->get(
'WBQualityConstraintsFormatAsARegularExpressionId' );
- $this->requireSingleParameter( $constraintParameters, $formatId
);
- return $this->parseStringParameter(
$constraintParameters[$formatId][0], $formatId );
+ $this->requireSingleParameter( $constraintParameters,
$namespaceId );
+ return $this->parseStringParameter(
$constraintParameters[$namespaceId][0], $namespaceId );
}
/**
@@ -531,9 +489,7 @@
public function parseFormatParameter( array $constraintParameters,
$constraintTypeItemId ) {
$this->checkError( $constraintParameters );
$formatId = $this->config->get(
'WBQualityConstraintsFormatAsARegularExpressionId' );
- if ( array_key_exists( $formatId, $constraintParameters ) ) {
- return $this->parseFormatParameterFromStatement(
$constraintParameters );
- } else {
+ if ( !array_key_exists( $formatId, $constraintParameters ) ) {
throw new ConstraintParameterException(
wfMessage(
'wbqc-violation-message-parameter-needed' )
->rawParams(
$this->constraintParameterRenderer->formatItemId( $constraintTypeItemId,
Role::CONSTRAINT_TYPE_ITEM ) )
@@ -541,10 +497,23 @@
->escaped()
);
}
+
+ $this->requireSingleParameter( $constraintParameters, $formatId
);
+ return $this->parseStringParameter(
$constraintParameters[$formatId][0], $formatId );
}
- private function parseExceptionParameterFromStatement( array
$constraintParameters ) {
+ /**
+ * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
+ * @throws ConstraintParameterException if the parameter is invalid
+ * @return EntityId[]
+ */
+ public function parseExceptionParameter( array $constraintParameters ) {
+ $this->checkError( $constraintParameters );
$exceptionId = $this->config->get(
'WBQualityConstraintsExceptionToConstraintId' );
+ if ( !array_key_exists( $exceptionId, $constraintParameters ) )
{
+ return [];
+ }
+
return array_map(
function( $snakSerialization ) use ( $exceptionId ) {
return $this->parseEntityIdParameter(
$snakSerialization, $exceptionId );
@@ -556,20 +525,15 @@
/**
* @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
* @throws ConstraintParameterException if the parameter is invalid
- * @return EntityId[]
+ * @return string|null 'mandatory' or null
*/
- public function parseExceptionParameter( array $constraintParameters ) {
+ public function parseConstraintStatusParameter( array
$constraintParameters ) {
$this->checkError( $constraintParameters );
- $exceptionId = $this->config->get(
'WBQualityConstraintsExceptionToConstraintId' );
- if ( array_key_exists( $exceptionId, $constraintParameters ) ) {
- return $this->parseExceptionParameterFromStatement(
$constraintParameters );
- } else {
- return [];
- }
- }
-
- private function parseConstraintStatusParameterFromStatement( array
$constraintParameters ) {
$constraintStatusId = $this->config->get(
'WBQualityConstraintsConstraintStatusId' );
+ if ( !array_key_exists( $constraintStatusId,
$constraintParameters ) ) {
+ return null;
+ }
+
$mandatoryId = $this->config->get(
'WBQualityConstraintsMandatoryConstraintId' );
$this->requireSingleParameter( $constraintParameters,
$constraintStatusId );
$snak = $this->snakDeserializer->deserialize(
$constraintParameters[$constraintStatusId][0] );
@@ -586,21 +550,6 @@
->rawParams(
$this->constraintParameterRenderer->formatItemIdList( [ $mandatoryId ],
Role::CONSTRAINT_PARAMETER_VALUE ) )
->escaped()
);
- }
- }
-
- /**
- * @param array $constraintParameters see {@link
\WikibaseQuality\Constraint::getConstraintParameters()}
- * @throws ConstraintParameterException if the parameter is invalid
- * @return string|null 'mandatory' or null
- */
- public function parseConstraintStatusParameter( array
$constraintParameters ) {
- $this->checkError( $constraintParameters );
- $constraintStatusId = $this->config->get(
'WBQualityConstraintsConstraintStatusId' );
- if ( array_key_exists( $constraintStatusId,
$constraintParameters ) ) {
- return
$this->parseConstraintStatusParameterFromStatement( $constraintParameters );
- } else {
- return null;
}
}
@@ -672,25 +621,25 @@
public function parseSyntaxClarificationParameter( array
$constraintParameters, Language $language ) {
$syntaxClarificationId = $this->config->get(
'WBQualityConstraintsSyntaxClarificationId' );
- if ( array_key_exists( $syntaxClarificationId,
$constraintParameters ) ) {
- $languageCodes = $language->getFallbackLanguages();
- array_unshift( $languageCodes, $language->getCode() );
-
- $syntaxClarifications =
$this->parseMultilingualTextParameter(
- $constraintParameters[$syntaxClarificationId],
- $syntaxClarificationId
- );
-
- foreach ( $languageCodes as $languageCode ) {
- if ( array_key_exists( $languageCode,
$syntaxClarifications ) ) {
- return
$syntaxClarifications[$languageCode];
- }
- }
-
- return null;
- } else {
+ if ( !array_key_exists( $syntaxClarificationId,
$constraintParameters ) ) {
return null;
}
+
+ $languageCodes = $language->getFallbackLanguages();
+ array_unshift( $languageCodes, $language->getCode() );
+
+ $syntaxClarifications = $this->parseMultilingualTextParameter(
+ $constraintParameters[$syntaxClarificationId],
+ $syntaxClarificationId
+ );
+
+ foreach ( $languageCodes as $languageCode ) {
+ if ( array_key_exists( $languageCode,
$syntaxClarifications ) ) {
+ return $syntaxClarifications[$languageCode];
+ }
+ }
+
+ return null;
}
}
diff --git a/extensions/Constraints/tests/phpunit/Api/CheckConstraintsTest.php
b/extensions/Constraints/tests/phpunit/Api/CheckConstraintsTest.php
index ac8b104..8a97293 100644
--- a/extensions/Constraints/tests/phpunit/Api/CheckConstraintsTest.php
+++ b/extensions/Constraints/tests/phpunit/Api/CheckConstraintsTest.php
@@ -13,7 +13,6 @@
use Wikibase\DataModel\Entity\ItemIdParser;
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataModel\Services\Lookup\InMemoryEntityLookup;
-use Wikibase\DataModel\Services\Statement\StatementGuidParser;
use Wikibase\DataModel\Services\Statement\StatementGuidValidator;
use Wikibase\DataModel\Snak\PropertyValueSnak;
use Wikibase\DataModel\Statement\Statement;
@@ -135,7 +134,7 @@
'',
$entityIdParser,
new StatementGuidValidator( $entityIdParser ),
- new StatementGuidParser( $entityIdParser ),
+ $repo->getStatementGuidParser(),
$constraintChecker,
$constraintParameterRenderer,
$repo->getApiHelperFactory(
RequestContext::getMain() ),
@@ -239,11 +238,11 @@
}
private function givenPropertyHasViolation( PropertyId $propertyId ) {
- self::$checkerMap['violationConstraint'] = new FakeChecker(
CheckResult::STATUS_VIOLATION );
+ self::$checkerMap['Q1234'] = new FakeChecker(
CheckResult::STATUS_VIOLATION );
self::$constraintLookupContents[] = new Constraint(
- 'some guid',
+ 'P1234$6a4d1930-922b-4c2e-b6e1-9a06bf04c2f8',
$propertyId,
- 'violationConstraint',
+ 'Q1234',
[]
);
}
diff --git a/extensions/Wikibase/client/i18n/fa.json
b/extensions/Wikibase/client/i18n/fa.json
index 9122e29..46e8fa2 100644
--- a/extensions/Wikibase/client/i18n/fa.json
+++ b/extensions/Wikibase/client/i18n/fa.json
@@ -115,7 +115,8 @@
"wikibase-otherprojects": "در دیگر پروژهها",
"wikibase-otherprojects-beta-message": "نوار کناری سایر پروژهها",
"wikibase-otherprojects-beta-description": "یک قسمت
«{{int:wikibase-otherprojects}}» به نوار کناری میافزاید که پیوندهایی به دیگر
پروژههای ویکیمدیا واقعشده در دادههای {{WBREPONAME}} میدهد.",
- "echo-category-title-wikibase-action": "تماس با {{WBREPONAME}}",
+ "echo-category-title-wikibase-action": "{{PLURAL:$1|اتصال|اتصال}} با
{{WBREPONAME}}",
+ "echo-pref-tooltip-wikibase-action": "هنگامی که صفحهای که
{{GENDER:|ساختهام}} به یک آیتم {{WBREPONAME}} وصل شد، من را خبر کن.",
"notification-header-page-connection": "صفحه <strong>$3</strong> به یک
آیتم در {{WBREPONAME}} {{GENDER:$2|متصل شد}}.",
"notification-link-text-view-item": "{{GENDER:$1|نمایش}} آیتم",
"notification-subject-page-connection": "صفحهای در {{SITENAME}} که شما
{{GENDER:$3|ایجاد کردید}} به آیتم {{WBREPONAME}} {{GENDER:$2|متصل بود}}",
diff --git a/extensions/Wikibase/lib/i18n/tay.json
b/extensions/Wikibase/lib/i18n/tay.json
index 0551b78..b28bdd3 100644
--- a/extensions/Wikibase/lib/i18n/tay.json
+++ b/extensions/Wikibase/lib/i18n/tay.json
@@ -1,8 +1,11 @@
{
"@metadata": {
"authors": [
- "Akamycoco"
+ "Akamycoco",
+ "Translatealcd"
]
},
- "wikibase-sitelinks-wikipedia": "Wikipidia"
+ "wikibase-globedetails-longitude": "Cingtu’",
+ "wikibase-sitelinks-wikipedia": "Wikipidia",
+ "datatypes-type-wikibase-item": "Binkgan lmlamu’"
}
diff --git a/extensions/Wikibase/repo/i18n/ast.json
b/extensions/Wikibase/repo/i18n/ast.json
index 09ea881..dcec3a4 100644
--- a/extensions/Wikibase/repo/i18n/ast.json
+++ b/extensions/Wikibase/repo/i18n/ast.json
@@ -305,6 +305,7 @@
"wikibase-api-unresolved-redirect": "La ID d'entidá proporcionada
refierse a una redireición, lo que nun tien sofitu nesti contestu.",
"wikibase-api-illegal-entity-remove": "Les entidaes nun pueden
desaniciase dando una clave <var>remove</var> de nivel superior.",
"wikibase-api-illegal-id-or-site-page-selector": "Tienes de dar o un
<var>id</var> d'entidá, o una combinación de <var>site</var> y <var>page</var>,
pero non les dos.",
+ "wikibase-api-illegal-ids-or-sites-titles-selector": "Tienes de dar o
los «id» del elementu o pares de «sitios» y «títulos» pa la páxina
correspondientes",
"wikibase-api-no-such-entity": "Nun s'alcontró nenguna entidá con ID
«$1».",
"wikibase-api-no-such-sitelink": "Nun pudo alcontrase l'enllaz a «$1»
al intentar editar insinies.",
"wikibase-api-not-recognized-datatype": "Esperábase un tipu de datu,
pero falta o nun se reconoció.",
diff --git a/extensions/Wikibase/repo/i18n/be-tarask.json
b/extensions/Wikibase/repo/i18n/be-tarask.json
index d4a1601..49ce0f1 100644
--- a/extensions/Wikibase/repo/i18n/be-tarask.json
+++ b/extensions/Wikibase/repo/i18n/be-tarask.json
@@ -21,7 +21,7 @@
"wikibase-addreference": "дадаць зноску",
"wikibase-save-inprogress": "Захаваньне…",
"wikibase-remove-inprogress": "Выдаленьне…",
- "wikibase-statementlistview-add": "дадаць",
+ "wikibase-statementlistview-add": "дадаць значэньне",
"wikibase-statementgrouplistview-add": "дадаць",
"wikibase-entitytermsview-entitytermsforlanguagelistview-toggler": "На
іншых мовах",
"wikibase-entitytermsview-entitytermsforlanguagelistview-configure-link-label":
"Наладзіць",
@@ -77,7 +77,6 @@
"wikibase-undo-badpage": "Благая вэрсія: вэрсія $2 не належыць да
[[$1]].",
"wikibase-undo-firstrev": "Скасаваньне стварэньня старонкі немагчымае",
"wikibase-undo-nocontent": "Немагчыма загрузіць зьмест вэрсіі $2
старонкі $1",
- "wikibase-propertyedittool-counter-pending-tooltip": "{{PLURAL:$1|Адно
значэньне яшчэ не захаванае|$1 значэньні яшчэ не захаваныя|$1 значэньняў яшчэ
не захавана}}",
"wikibase-disambiguation-title": "Неадназначнасьць для «$1»",
"wb-special-newitem-new-item-notification": "Новы прадмет «$1» створаны
і перанакіроўвае на ўласную старонку. Вярнуцца — $2.",
"wikibase-aliases-input-help-message": "Каб гэтую сутнасьць лягчэй было
знайсьці, Вы можаце ўвесьці тут яе сынонімы.",
@@ -89,7 +88,6 @@
"wikibase-statementview-rank-normal": "Звычайны ранг",
"wikibase-statementview-rank-deprecated": "Састарэлы ранг",
"wikibase-statementview-references-counter":
"$1{{PLURAL:$2|0=|$3+$2$4}} {{PLURAL:$1|крыніца|крыніцы|крыніцаў}}",
- "wikibase-statementview-referencesheading-pendingcountertooltip":
"{{PLURAL:$1|$1 зноска яшчэ не захаваная|$1 зноскі яшчэ не захаваныя|$1 зносак
яшчэ не захаваныя}}",
"wikibase-snakview-property-input-placeholder": "уласьцівасьць",
"wikibase-snakview-unsupportedsnaktype": "Злучнік тыпу «$1». Апрацоўка
падобнага злучніка яшчэ не падтрымліваецца.",
"wikibase-snakview-choosesnaktype": "Выберыце тып значэньня.",
@@ -191,7 +189,6 @@
"wikibase-entitieswithoutlabel-legend": "Атрымасьць сьпіс аб’ектаў бязь
метак",
"wikibase-entitieswithoutlabel-label-language": "Код мовы:",
"wikibase-entitieswithoutlabel-label-type": "Тып:",
- "wikibase-entitieswithoutlabel-label-alltypes": "усе",
"wikibase-entitieswithoutlabel-submit": "Знайсьці",
"wikibase-entitieswithoutlabel-invalid-language": "«$1» — няслушны код
мовы.",
"wikibase-entitieswithoutlabel-invalid-type": "«$1» ня ёсьць слушным
тыпам аб’екта.",
diff --git a/extensions/Wikibase/repo/i18n/hu.json
b/extensions/Wikibase/repo/i18n/hu.json
index c778939..27b4914 100644
--- a/extensions/Wikibase/repo/i18n/hu.json
+++ b/extensions/Wikibase/repo/i18n/hu.json
@@ -27,9 +27,9 @@
"wikibase-addreference": "forrás hozzáadása",
"wikibase-save-inprogress": "Mentés…",
"wikibase-remove-inprogress": "Törlés...",
- "wikibase-statementlistview-add": "hozzáadás",
+ "wikibase-statementlistview-add": "érték hozzáadása",
"wikibase-statementlistview-add-tooltip": "Új érték hozzáadása",
- "wikibase-statementgrouplistview-add": "hozzáadás",
+ "wikibase-statementgrouplistview-add": "állítás hozzáadása",
"wikibase-statementgrouplistview-add-tooltip": "Új állítás hozzáadása",
"wikibase-entitytermsview-entitytermsforlanguagelistview-toggler":
"További nyelveken",
"wikibase-entitytermsview-entitytermsforlanguagelistview-configure-link-label":
"Konfigurálás",
@@ -70,7 +70,7 @@
"wikibase-entitytermsview-input-help-message": "Írj be egy címkét,
rövid leírást és más neveket nyelvenként ehhez az elemhez.",
"wikibase-statementsection-statements": "Állítások",
"wikibase-sitelinks": "Ehhez a fogalomhoz kapcsolt lapok listája",
- "wikibase-sitelinks-counter": "$1{{PLURAL:$2|0=|$3+$2$4}} bejegyzés",
+ "wikibase-sitelinks-counter": "$1 bejegyzés",
"wikibase-sitelinks-empty": "Ehhez a fogalomhoz nincs kapcsolt lap.",
"wikibase-sitelinks-special": "Más wikiken",
"wikibase-remove": "törlés",
@@ -87,7 +87,6 @@
"wikibase-undo-firstrev": "A lap létrehozását nem lehet visszavonni.",
"wikibase-undo-nocontent": "Nem sikerült betölteni a(z) „$1” lap $2.
változatának tartalmát",
"wikibase-summary-generated": "Összefoglaló (az automatikusan generált
összefoglalót fogja kiegészíteni):",
- "wikibase-propertyedittool-counter-pending-tooltip":
"{{PLURAL:$1|Egy|$1}} érték még nincs elmentve",
"wikibase-disambiguation-title": "Egyértelműsítés: „$1”",
"wb-special-newitem-new-item-notification": "Az új elem ($1) létrejött;
átirányítottuk a böngészőt az elem lapjára. Vissza az $2 lapra.",
"wikibase-aliases-input-help-message": "Az elem könnyebb megtalálása
érdekében megadhatsz alternatív neveket is.",
@@ -101,8 +100,7 @@
"wikibase-statementview-rank-tooltip-normal": "Érvényes, azonban
esetleg korábbi érték",
"wikibase-statementview-rank-deprecated": "Elavult rang",
"wikibase-statementview-rank-tooltip-deprecated": "Tudottan hibás
érték, azonban (korábban) általánosan elfogadott",
- "wikibase-statementview-references-counter":
"$1{{PLURAL:$2|0=|$3+$2$4}} {{PLURAL:$1|hivatkozás|hivatkozás}}",
- "wikibase-statementview-referencesheading-pendingcountertooltip": "$1
forráshivatkozás még nincs elmentve",
+ "wikibase-statementview-references-counter": "$1 hivatkozás",
"wikibase-snakview-property-input-placeholder": "tulajdonság",
"wikibase-snakview-unsupportedsnaktype": "„$1” típusú snak. Az ilyen
snakokat jelenleg még nem támogatjuk.",
"wikibase-snakview-choosesnaktype": "Válassz egy értéktípust.",
@@ -338,7 +336,7 @@
"apihelp-wbgetentities-param-redirects": "Az átirányítások
feloldandók-e.\nHa „no”, akkor az átirányításokat törölt lapokként kezeli.",
"apihelp-wbgetentities-param-languages": "Alapértelmezés szerint minden
elérhető nyelven visszaadja az értékeket.\nEz a paraméter lehetővé teszi a
szűrésüket egy vagy több nyelvre a megfelelő nyelvkód(ok) megadásával.",
"apihelp-wbgetentities-example-10": "Az „<var>enwiki</var>” wiki
„<var>Berlin</var>” lapjához tartozó elem lekérése angol nyelvi
tulajdonságokkal",
- "apihelp-wblinktitles-description": "Két különböző wikin lévő szócikk
összekapcsolása egy Wikibase-elemmel.",
+ "apihelp-wblinktitles-description": "Két különböző wikin lévő lap
összekapcsolása egy Wikibase-elemmel.",
"apihelp-wblinktitles-param-bot": "A szerkesztés botszerkesztésnek
jelölése. Csak akkor van hatása, ha a felhasználó tagja a „{{int:group-bot}}”
csoportnak.",
"apihelp-wblinktitles-example-1": "Egy „Hydrogen” angol lapról kiinduló
link hozzáadása a „Wasserstoff” német lapra.",
"apihelp-wbmergeitems-description": "Több elem összevonása.",
@@ -407,10 +405,10 @@
"apihelp-wbsetreference-param-summary": "A szerkesztési
összefoglaló.\nElé kerül egy automatikusan generált megjegyzés. Az automatikus
megjegyzés és az összefoglaló együttes hossza legfeljebb 260 bájt (az ékezetes
karakterek két bájtot foglalnak el). A limitet túllépő összefoglaló vége le
lesz vágva.",
"apihelp-wbsetreference-param-baserevid": "A módosítás alapjául
szolgáló lapváltozat azonosítója (oldid-je).\nA szerkesztési ütközések
felismerésére szolgál.",
"apihelp-wbsetreference-param-bot": "A szerkesztés botszerkesztésnek
jelölése. Csak akkor van hatása, ha a felhasználó tagja a „{{int:group-bot}}”
csoportnak.",
- "apihelp-wbsetsitelink-description": "Egy wikiszócikk társítása egy
Wikibase-elemmel vagy egy létező társítás eltávolítása.",
+ "apihelp-wbsetsitelink-description": "Egy wikilap társítása egy
Wikibase-elemmel vagy egy létező társítás eltávolítása.",
"apihelp-wbsetsitelink-param-baserevid": "A módosítás alapjául szolgáló
lapváltozat azonosítója (oldid-je).\nA szerkesztési ütközések felismerésére
szolgál.",
"apihelp-wbsetsitelink-param-summary": "A szerkesztési
összefoglaló.\nElé kerül egy automatikusan generált megjegyzés. Az automatikus
megjegyzés és az összefoglaló együttes hossza legfeljebb 260 bájt (az ékezetes
karakterek két bájtot foglalnak el). A limitet túllépő összefoglaló vége le
lesz vágva.",
"apihelp-wbsetsitelink-param-bot": "A szerkesztés botszerkesztésnek
jelölése. Csak akkor van hatása, ha a felhasználó tagja a „{{int:group-bot}}”
csoportnak.",
- "apihelp-wbsetsitelink-param-linksite": "Az összekapcsolandó cikk
wikijének azonosítója",
- "apihelp-wbsetsitelink-param-linktitle": "Az összekapcsolandó cikk
címe. Ha üres, vagy a <var>linktitle</var> és a <var>badges</var> paraméter is
hiányzik, a kapcsolat megszüntetése."
+ "apihelp-wbsetsitelink-param-linksite": "Az összekapcsolandó lap
wikijének azonosítója",
+ "apihelp-wbsetsitelink-param-linktitle": "Az összekapcsolandó lap címe.
Ha üres, vagy a <var>linktitle</var> és a <var>badges</var> paraméter is
hiányzik, a kapcsolat megszüntetése."
}
diff --git a/extensions/Wikibase/repo/i18n/tay.json
b/extensions/Wikibase/repo/i18n/tay.json
index 34774d6..bbca4bf 100644
--- a/extensions/Wikibase/repo/i18n/tay.json
+++ b/extensions/Wikibase/repo/i18n/tay.json
@@ -6,12 +6,15 @@
"Akamycoco"
]
},
+ "wikibase-entity-item": "binkgan lmlamu’",
"wikibase-edit": "Smr’zyut miru’",
+ "wikibase-save": "cucun",
"wikibase-add": "tnwang",
"wikibase-label-empty": "Ini’ srhgiy smi na’ qinlaq lalu’",
"wikibase-description-empty": "Ini’ naha’ inblayqiy pinqzyu’ smi’ kay’
na’",
"wikibase-sitelinks-special": "Bzinah na wangcan",
"wikibase-statementview-rank-normal": "Mtnaq kwara’ iyat spzyang krahu’
na kinkrahu’ na sinpngan niya’",
"wikibase-itembytitle-submit": "Hhkangi’",
+ "wikibase-gotolinkedpage-lookup-item": "Binkgan lmlamu’ ID:",
"wikibase-itemdisambiguation-submit": "Hhkangi’"
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index f177162..4d8fdd6 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -125,12 +125,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git",
- "reference": "3be2a23579f66dc0ec7ea5ac9109f7f8767347f3"
+ "reference": "3a283d051dff04a580bd6c74a0dbae35593eb733"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/3be2a23579f66dc0ec7ea5ac9109f7f8767347f3",
- "reference": "3be2a23579f66dc0ec7ea5ac9109f7f8767347f3",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/3a283d051dff04a580bd6c74a0dbae35593eb733",
+ "reference": "3a283d051dff04a580bd6c74a0dbae35593eb733",
"shasum": ""
},
"require": {
@@ -141,7 +141,7 @@
"jakub-onderka/php-parallel-lint": "0.9.2",
"wikibase/wikibase-codesniffer": "^0.1.0"
},
- "time": "2017-08-22 06:35:22",
+ "time": "2017-08-23 06:59:10",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
@@ -1387,12 +1387,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5"
+ "reference": "e162d71a55fe71aa775485af62bbc9f0d4952fe6"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5",
- "reference": "c3c3fd17dc8d57e85a57a99698c5e4b3daf2fbc5",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/e162d71a55fe71aa775485af62bbc9f0d4952fe6",
+ "reference": "e162d71a55fe71aa775485af62bbc9f0d4952fe6",
"shasum": ""
},
"require": {
@@ -1426,7 +1426,7 @@
"jakub-onderka/php-parallel-lint": ">=0.3 <0.10",
"wikibase/wikibase-codesniffer": "^0.1.0"
},
- "time": "2017-08-22 07:26:04",
+ "time": "2017-08-23 07:44:57",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
@@ -1776,7 +1776,7 @@
"source": {
"type": "git",
"url":
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints",
- "reference": "8bd6518a9c8797bd1b1bccff4f79f9939f314c7a"
+ "reference": "e64a5b34579b6fb575f5617a654299f6d47a950c"
},
"require": {
"php": ">=5.5.9",
@@ -1792,7 +1792,7 @@
"satooshi/php-coveralls": "master-dev",
"wikibase/wikibase-codesniffer": "^0.1.0"
},
- "time": "2017-08-03 16:09:11",
+ "time": "2017-08-23 08:58:25",
"type": "mediawiki-extension",
"installation-source": "source",
"autoload": {
--
To view, visit https://gerrit.wikimedia.org/r/373257
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3b427e2571deb04a158406bac61ec38854ed06ba
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits