WikidataBuilder has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267429

Change subject: New Wikidata Build - 2016-01-30T10:00:02+0000
......................................................................

New Wikidata Build - 2016-01-30T10:00:02+0000

Change-Id: I80aee550d69172c9940ead4bba7735323a83c318
---
M composer.lock
M extensions/Constraints/includes/Constraint.php
M extensions/Constraints/includes/ConstraintRepository.php
M extensions/Constraints/maintenance/UpdateConstraintsTable.php
M extensions/Constraints/tests/phpunit/ConstraintTest.php
M extensions/Wikibase/client/i18n/tt-cyrl.json
M extensions/Wikibase/lib/i18n/fr.json
M extensions/Wikibase/lib/i18n/he.json
M extensions/Wikibase/lib/i18n/it.json
M extensions/Wikibase/lib/i18n/lb.json
M extensions/Wikibase/lib/i18n/pl.json
M extensions/Wikibase/lib/i18n/pt.json
M extensions/Wikibase/lib/i18n/zh-hans.json
M extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
M extensions/Wikibase/lib/tests/phpunit/MediaWikiContentLanguagesTest.php
M extensions/Wikibase/lib/tests/phpunit/StaticContentLanguagesTest.php
M extensions/Wikibase/lib/tests/phpunit/StringNormalizerTest.php
M extensions/Wikibase/lib/tests/phpunit/TermIndexEntryTest.php
M extensions/Wikibase/lib/tests/phpunit/UnionContentLanguagesTest.php
M extensions/Wikibase/repo/i18n/ce.json
M extensions/Wikibase/repo/i18n/cs.json
M extensions/Wikibase/repo/i18n/eml.json
M extensions/Wikibase/repo/i18n/fr.json
M extensions/Wikibase/repo/i18n/he.json
M extensions/Wikibase/repo/i18n/it.json
M extensions/Wikibase/repo/i18n/lb.json
M extensions/Wikibase/repo/i18n/pl.json
M extensions/Wikibase/repo/i18n/pt.json
M extensions/Wikibase/repo/i18n/qqq.json
M extensions/Wikibase/repo/i18n/zh-hans.json
M extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguageview.js
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
M vendor/composer/installed.json
35 files changed, 167 insertions(+), 97 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/29/267429/1

diff --git a/composer.lock b/composer.lock
index 98d55f3..2ffe35c 100644
--- a/composer.lock
+++ b/composer.lock
@@ -919,7 +919,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints";,
-                "reference": "072d97255a29e676b3f1b57d28eb2a662e4ae196"
+                "reference": "0c6b2bae5c094f3d0d89e0aa56a1adfa5a8802ea"
             },
             "require": {
                 "php": ">=5.3.0",
@@ -965,7 +965,7 @@
             "support": {
                 "issues": 
"https://phabricator.wikimedia.org/project/profile/1202/";
             },
-            "time": "2016-01-20 20:09:54"
+            "time": "2016-01-29 20:28:59"
         },
         {
             "name": "wikibase/data-model",
@@ -1449,12 +1449,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "578154d93f7e76b51aabebf58a65a98f70aaae1b"
+                "reference": "62270fec5ce1335b9c6ec58488eedef7e19b95c3"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/578154d93f7e76b51aabebf58a65a98f70aaae1b";,
-                "reference": "578154d93f7e76b51aabebf58a65a98f70aaae1b",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/62270fec5ce1335b9c6ec58488eedef7e19b95c3";,
+                "reference": "62270fec5ce1335b9c6ec58488eedef7e19b95c3",
                 "shasum": ""
             },
             "require": {
@@ -1525,7 +1525,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2016-01-28 20:11:28"
+            "time": "2016-01-29 21:44:08"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Constraints/includes/Constraint.php 
b/extensions/Constraints/includes/Constraint.php
index 97ba8b0..f92fd06 100644
--- a/extensions/Constraints/includes/Constraint.php
+++ b/extensions/Constraints/includes/Constraint.php
@@ -4,7 +4,6 @@
 
 use Wikibase\DataModel\Entity\PropertyId;
 
-
 /**
  * Class Constraint
  *
@@ -17,7 +16,12 @@
        /**
         * @var string
         */
-       private $constraintClaimGuid;
+       private $constraintStatementGuid;
+
+       /**
+        * @var PropertyId
+        */
+       private $propertyId;
 
        /**
         * @var string
@@ -30,33 +34,33 @@
        private $constraintTypeQid;
 
        /**
-        * @var PropertyId
-        */
-       private $propertyId;
-
-       /**
-        * @var array (variable length; key: string with parameter name (e.g. 
'property'); value: string (e.g. 'P21')
+        * @var array (key: string with parameter name (e.g. 'property'); 
value: string (e.g. 'P21'))
         */
        private $constraintParameters;
 
        /**
-        * @param string $constraintClaimGuid
+        * @param string $constraintStatementGuid
         * @param PropertyId $propertyId
         * @param string $constraintTypeQid
         * @param array $constraintParameters
         */
-       public function __construct( $constraintClaimGuid, PropertyId 
$propertyId, $constraintTypeQid, $constraintParameters) {
-               $this->constraintClaimGuid = $constraintClaimGuid;
-               $this->constraintTypeQid = $constraintTypeQid;
+       public function __construct(
+               $constraintStatementGuid,
+               PropertyId $propertyId,
+               $constraintTypeQid,
+               array $constraintParameters
+       ) {
+               $this->constraintStatementGuid = $constraintStatementGuid;
                $this->propertyId = $propertyId;
+               $this->constraintTypeQid = $constraintTypeQid;
                $this->constraintParameters = $constraintParameters;
        }
 
        /**
         * @return string
         */
-       public function getConstraintClaimGuid() {
-               return $this->constraintClaimGuid;
+       public function getConstraintStatementGuid() {
+               return $this->constraintStatementGuid;
        }
 
        /**
@@ -87,10 +91,10 @@
        }
 
        /**
-        * @return array (variable length; key: string with parameter name 
(e.g. 'property'); value: string (e.g. 'P21')
+        * @return array (key: string with parameter name (e.g. 'property'); 
value: string (e.g. 'P21'))
         */
        public function getConstraintParameters() {
                return $this->constraintParameters;
        }
 
-}
\ No newline at end of file
+}
diff --git a/extensions/Constraints/includes/ConstraintRepository.php 
b/extensions/Constraints/includes/ConstraintRepository.php
index df66a75..af60dc9 100644
--- a/extensions/Constraints/includes/ConstraintRepository.php
+++ b/extensions/Constraints/includes/ConstraintRepository.php
@@ -41,7 +41,7 @@
                $accumulator = array_map(
                        function ( Constraint $constraint ) {
                                return array(
-                                       'constraint_guid' => 
$constraint->getConstraintClaimGuid(),
+                                       'constraint_guid' => 
$constraint->getConstraintStatementGuid(),
                                        'pid' => 
$constraint->getPropertyId()->getNumericId(),
                                        'constraint_type_qid' => 
$constraint->getConstraintTypeQid(),
                                        'constraint_parameters' => json_encode( 
$constraint->getConstraintParameters() )
@@ -81,10 +81,15 @@
                foreach( $results as $result ) {
                        $constraintTypeQid = $result->constraint_type_qid;
                        $constraintParameters = (array) json_decode( 
$result->constraint_parameters );
-                       $serializedPid = 'P' . $result->pid;
-                       $constraints[] = new Constraint( 
$result->constraint_guid, new PropertyId( $serializedPid ), $constraintTypeQid, 
$constraintParameters );
+
+                       $constraints[] = new Constraint(
+                               $result->constraint_guid,
+                               PropertyId::newFromNumber( $result->pid ),
+                               $constraintTypeQid,
+                               $constraintParameters
+                       );
                }
                return $constraints;
        }
 
-}
\ No newline at end of file
+}
diff --git a/extensions/Constraints/maintenance/UpdateConstraintsTable.php 
b/extensions/Constraints/maintenance/UpdateConstraintsTable.php
index 6d43759..058627e 100644
--- a/extensions/Constraints/maintenance/UpdateConstraintsTable.php
+++ b/extensions/Constraints/maintenance/UpdateConstraintsTable.php
@@ -6,11 +6,10 @@
 use WikibaseQuality\ConstraintReport\Constraint;
 use WikibaseQuality\ConstraintReport\ConstraintReportFactory;
 
-if( !class_exists( '\Maintenance' ) ) {
-       $basePath = getenv( "MW_INSTALL_PATH" ) !== false ? getenv( 
"MW_INSTALL_PATH" ) : __DIR__ . "/../../..";
-       require_once $basePath . "/maintenance/Maintenance.php";
-}
+$basePath = getenv( "MW_INSTALL_PATH" ) !== false
+       ? getenv( "MW_INSTALL_PATH" ) : __DIR__ . "/../../..";
 
+require_once $basePath . "/maintenance/Maintenance.php";
 
 /**
  * Class UpdateConstraintsTable
@@ -19,7 +18,9 @@
  *
  * Fills constraint table with constraints given in a csv file passed to this.
  * Should be done once a week to keep constraint table up to date.
- * csv-file is generated by 
https://github.com/WikidataQuality/ConstraintsFromTemplates/blob/master/csvScriptBuilder.py
+ *
+ * csv-file is generated by:
+ * 
https://github.com/WikidataQuality/ConstraintsFromTemplates/blob/master/csvScriptBuilder.py
  */
 class UpdateConstraintsTable extends \Maintenance {
 
@@ -27,7 +28,13 @@
                parent::__construct();
 
                $this->mDescription = "Reads csv file and writes its contents 
into constraints table";
-               $this->addOption( 'csv-file', 'csv file that contains 
constraints parsed from the property talk pages.', true, true );
+               $this->addOption(
+                       'csv-file',
+                       'csv file that contains constraints parsed from the 
property talk pages.',
+                       true,
+                       true
+               );
+
                $this->setBatchSize( 1000 );
        }
 
@@ -44,10 +51,10 @@
        }
 
        private function insertValues( $constraintRepo, $csvFile ) {
-
                $i = 0;
                $db = wfGetDB( DB_MASTER );
                $accumulator = array();
+
                while ( true ) {
                        $data = fgetcsv( $csvFile );
                        if ( $data === false || ++$i % $this->mBatchSize === 0 
) {
@@ -68,9 +75,15 @@
                                }
                        }
 
-                       $constraintParameters = (array) json_decode( $data[3] );
-                       $propertyId = new PropertyId( 'P' . $data[1] );
-                       $accumulator[] = new Constraint( $data[0], $propertyId, 
$data[2], $constraintParameters );
+                       list( $statementGuid, $numericPropertyId, 
$constraintTypeQid, $params ) = $data;
+                       $constraintParameters = (array) json_decode( $params );
+
+                       $accumulator[] = new Constraint(
+                               $statementGuid,
+                               PropertyId::newFromNumber( $numericPropertyId ),
+                               $constraintTypeQid,
+                               $constraintParameters
+                       );
                }
 
        }
@@ -79,4 +92,4 @@
 // @codeCoverageIgnoreStart
 $maintClass = 
'WikibaseQuality\ConstraintReport\Maintenance\UpdateConstraintsTable';
 require_once RUN_MAINTENANCE_IF_MAIN;
-// @codeCoverageIgnoreEnd
\ No newline at end of file
+// @codeCoverageIgnoreEnd
diff --git a/extensions/Constraints/tests/phpunit/ConstraintTest.php 
b/extensions/Constraints/tests/phpunit/ConstraintTest.php
index 1e80dd6..faf9a68 100644
--- a/extensions/Constraints/tests/phpunit/ConstraintTest.php
+++ b/extensions/Constraints/tests/phpunit/ConstraintTest.php
@@ -24,7 +24,7 @@
 
                $this->assertEquals( 'Item', 
$constraints[0]->getConstraintTypeQid() );
                $this->assertEquals( new PropertyId('P1'), 
$constraints[0]->getPropertyId() );
-               $this->assertEquals( '1', 
$constraints[0]->getConstraintClaimGuid() );
+               $this->assertEquals( '1', 
$constraints[0]->getConstraintStatementGuid() );
                $constraintParameters = 
$constraints[0]->getConstraintParameters();
                $this->assertEquals( 2, count( $constraintParameters ) );
                $this->assertEquals( 'P21', $constraintParameters['property'] );
diff --git a/extensions/Wikibase/client/i18n/tt-cyrl.json 
b/extensions/Wikibase/client/i18n/tt-cyrl.json
index 7f54ec5..73f1e80 100644
--- a/extensions/Wikibase/client/i18n/tt-cyrl.json
+++ b/extensions/Wikibase/client/i18n/tt-cyrl.json
@@ -28,6 +28,7 @@
        "wikibase-rc-wikibase-edit-letter": "м",
        "wikibase-rc-wikibase-edit-title": "{{WBREPONAME}} үзгәртүе",
        "wikibase-watchlist-show-changes-pref": "{{WBREPONAME}} булган 
үзгәртүләрне күзәтү исемлегендә карау",
+       "unconnectedpages": "Элементлар белән бәйләнмәгән битләр",
        "wikibase-unconnectedpages-submit": "Битләрне күрсәтү",
        "pageswithbadges": "Билгеле битләр",
        "wikibase-pageswithbadges-badge": "Билге:",
diff --git a/extensions/Wikibase/lib/i18n/fr.json 
b/extensions/Wikibase/lib/i18n/fr.json
index 065f1b2..4b44113 100644
--- a/extensions/Wikibase/lib/i18n/fr.json
+++ b/extensions/Wikibase/lib/i18n/fr.json
@@ -83,6 +83,7 @@
        "wikibase-validator-no-such-property": "Propriété $1 non trouvée",
        "wikibase-validator-bad-value": "Donnée corrompue : $1",
        "wikibase-validator-bad-value-type": "Mauvais type de valeur $1, $2 
attendu",
+       "wikibase-validator-bad-data-type": "Mauvais type de données : $1",
        "wikibase-validator-bad-url": "URL mal formée : $1",
        "wikibase-validator-bad-url-scheme": "Schéma d’URL non supporté : $1",
        "wikibase-validator-unknown-unit": "Unité inconnue : $1",
@@ -107,6 +108,7 @@
        "wikibase-time-precision-BCE-10annum": "$1s A.C.",
        "wikibase-snakformatter-valuetype-mismatch": "Le type de valeur « $1 » 
ne correspond pas au type de propriété « $2 ».",
        "wikibase-snakformatter-property-not-found": "Propriété $1 non trouvée, 
impossible de déterminer le type de données à utiliser.",
+       "wikibase-snakformatter-formatting-exception": "Erreur de format : $1.",
        "wikibase-entity-summary-wbsetitem": "Création d’un nouvel élément",
        "wikibase-entity-summary-wbcreate-new": "A créé une nouvelle entité",
        "wikibase-entity-summary-wbcreateredirect": "Redirigé vers $4",
diff --git a/extensions/Wikibase/lib/i18n/he.json 
b/extensions/Wikibase/lib/i18n/he.json
index 8d46d41..207e5b0 100644
--- a/extensions/Wikibase/lib/i18n/he.json
+++ b/extensions/Wikibase/lib/i18n/he.json
@@ -66,6 +66,7 @@
        "wikibase-validator-no-such-property": "המאפיין $1 לא נמצא",
        "wikibase-validator-bad-value": "ערך נתונים בלתי־תקין: $1",
        "wikibase-validator-bad-value-type": "סוג הערך $1 אינו נכון, זה היה 
אמור להיות $2",
+       "wikibase-validator-bad-data-type": "סוג נתונים שגוי: $1",
        "wikibase-validator-bad-url": "כתובת URL בלתי־תקינה: $1",
        "wikibase-validator-bad-url-scheme": "סכמת URL לא נתמכת: $1",
        "wikibase-validator-unknown-unit": "יחידה בלתי־ידועה: $1",
@@ -90,6 +91,7 @@
        "wikibase-time-precision-BCE-10annum": "$1 עשרות שנים לפני הספירה",
        "wikibase-snakformatter-valuetype-mismatch": "סוג הערך \"$1\" אינו 
מתאים לסוג המאפיין \"$2\".",
        "wikibase-snakformatter-property-not-found": "המאפיין $1 לא נמצא. לא 
ברור באיזה סוג נתונים להשתמש.",
+       "wikibase-snakformatter-formatting-exception": "שגיאת עיצוב: $1.",
        "wikibase-entity-summary-wbsetitem": "נוצר פריט חדש",
        "wikibase-entity-summary-wbcreate-new": "נוצרה ישות חדשה",
        "wikibase-entity-summary-wbcreateredirect": "הופנה אל $4",
diff --git a/extensions/Wikibase/lib/i18n/it.json 
b/extensions/Wikibase/lib/i18n/it.json
index b10e014..d6610e9 100644
--- a/extensions/Wikibase/lib/i18n/it.json
+++ b/extensions/Wikibase/lib/i18n/it.json
@@ -65,6 +65,7 @@
        "wikibase-validator-no-such-property": "Proprietà $1 non trovata",
        "wikibase-validator-bad-value": "Valore dei dati corrotto: $1",
        "wikibase-validator-bad-value-type": "Tipo di valore errato $1, atteso 
$2",
+       "wikibase-validator-bad-data-type": "Tipo di dati errato: $1",
        "wikibase-validator-bad-url": "URL non valido: $1",
        "wikibase-validator-bad-url-scheme": "Schema URL non supportato: $1",
        "wikibase-validator-unknown-unit": "Unità sconosciuta: $1",
@@ -89,6 +90,7 @@
        "wikibase-time-precision-BCE-10annum": "anni $1 a.C.",
        "wikibase-snakformatter-valuetype-mismatch": "Il tipo di valore \"$1\" 
non corrisponde al tipo di proprietà \"$2\".",
        "wikibase-snakformatter-property-not-found": "Proprietà $1 non trovata, 
non è possibile determinare il tipo di dati da utilizzare.",
+       "wikibase-snakformatter-formatting-exception": "Errore di 
formattazione: $1.",
        "wikibase-entity-summary-wbsetitem": "Creato un nuovo elemento",
        "wikibase-entity-summary-wbcreate-new": "Creata una nuova entità",
        "wikibase-entity-summary-wbcreateredirect": "Reindirizzamento a $4",
diff --git a/extensions/Wikibase/lib/i18n/lb.json 
b/extensions/Wikibase/lib/i18n/lb.json
index 76ec0db..df2fcdf 100644
--- a/extensions/Wikibase/lib/i18n/lb.json
+++ b/extensions/Wikibase/lib/i18n/lb.json
@@ -46,6 +46,7 @@
        "wikibase-validator-no-such-entity": "$1 net fonnt",
        "wikibase-validator-no-such-property": "Eegeschaft $1 net fonnt",
        "wikibase-validator-bad-value": "Korrupten Datewäert: $1",
+       "wikibase-validator-bad-data-type": "Falschen Datentyp: $1",
        "wikibase-validator-bad-url": "URL mat Feeler: $1",
        "wikibase-validator-unknown-unit": "Onbekannten Eenheet: $1",
        "wikibase-validator-not-allowed": "net valabele wäert: $1",
@@ -59,6 +60,7 @@
        "wikibase-time-precision-millennium": "$1. Joerdausend",
        "wikibase-time-precision-century": "$1. Joerhonnert",
        "wikibase-time-precision-10annum": "$1s",
+       "wikibase-snakformatter-formatting-exception": "Formatéierungsfeeler: 
$1",
        "wikibase-entity-summary-wbsetitem": "En neit Element gouf ugeluecht",
        "wikibase-entity-summary-wbcreateredirect": "Virugeleet op $4",
        "wikibase-entity-summary-wbsetreference": "Huet eng Referenz 
festgeluecht",
diff --git a/extensions/Wikibase/lib/i18n/pl.json 
b/extensions/Wikibase/lib/i18n/pl.json
index 8e8eab2..8076471 100644
--- a/extensions/Wikibase/lib/i18n/pl.json
+++ b/extensions/Wikibase/lib/i18n/pl.json
@@ -71,6 +71,7 @@
        "wikibase-validator-no-such-property": "Właściwości $1 nie została 
znaleziona",
        "wikibase-validator-bad-value": "Zawartość danych jest uszkodzona: $1",
        "wikibase-validator-bad-value-type": "Błędny typ wartości $1, 
oczekiwano $2",
+       "wikibase-validator-bad-data-type": "Zły typ danych: $1",
        "wikibase-validator-bad-url": "Nieprawidłowy URL: $1",
        "wikibase-validator-bad-url-scheme": "Nieobsługiwany schemat adresu 
URL: $1",
        "wikibase-validator-unknown-unit": "Nieznana jednostka: $1",
@@ -87,6 +88,7 @@
        "wikibase-time-precision-century": "$1. wiek",
        "wikibase-snakformatter-valuetype-mismatch": "Typ wartości „$1” nie 
jest zgodny z typem właściwości „$2”.",
        "wikibase-snakformatter-property-not-found": "Właściwość „$1” nie 
została znaleziona, nie można określić typ danych.",
+       "wikibase-snakformatter-formatting-exception": "Błąd formatowania: $1.",
        "wikibase-entity-summary-wbsetitem": "Utworzono nowy element",
        "wikibase-entity-summary-wbcreateredirect": "Przekierowano do $4",
        "wikibase-entity-summary-wbsetreference": "Wstawiono przypis",
diff --git a/extensions/Wikibase/lib/i18n/pt.json 
b/extensions/Wikibase/lib/i18n/pt.json
index e02fee2..371163c 100644
--- a/extensions/Wikibase/lib/i18n/pt.json
+++ b/extensions/Wikibase/lib/i18n/pt.json
@@ -74,6 +74,7 @@
        "wikibase-validator-no-such-property": "Propriedade $1 não encontrada",
        "wikibase-validator-bad-value": "Valor de dados corrompido: $1",
        "wikibase-validator-bad-value-type": "Tipo de valor inválido $1; 
esperava-se $2",
+       "wikibase-validator-bad-data-type": "Tipo de dados incorreto: $1",
        "wikibase-validator-bad-url": "URL inválido: $1",
        "wikibase-validator-bad-url-scheme": "Esquema de URL não suportado: $1",
        "wikibase-validator-unknown-unit": "Unidade desconhecida: $1",
@@ -90,6 +91,7 @@
        "wikibase-time-precision-10annum": "$1s",
        "wikibase-snakformatter-valuetype-mismatch": "Tipo do valor, \"$1\", 
não coincide com o tipo da propriedade, \"$2\".",
        "wikibase-snakformatter-property-not-found": "Propriedade $1 não 
encontrada, não é possível determinar o tipo de dados a usar.",
+       "wikibase-snakformatter-formatting-exception": "Erro de formatação: 
$1.",
        "wikibase-entity-summary-wbsetitem": "Novo item criado",
        "wikibase-entity-summary-wbcreate-new": "Nova entidade criada",
        "wikibase-entity-summary-wbcreateredirect": "Redirecionado para $4",
diff --git a/extensions/Wikibase/lib/i18n/zh-hans.json 
b/extensions/Wikibase/lib/i18n/zh-hans.json
index 79e1e3b..8c900bd 100644
--- a/extensions/Wikibase/lib/i18n/zh-hans.json
+++ b/extensions/Wikibase/lib/i18n/zh-hans.json
@@ -72,6 +72,7 @@
        "wikibase-validator-no-such-property": "未找到属性$1",
        "wikibase-validator-bad-value": "数据值格式有误:$1",
        "wikibase-validator-bad-value-type": "错误值类型$1,预期为$2",
+       "wikibase-validator-bad-data-type": "错误的数据类型:$1",
        "wikibase-validator-bad-url": "格式不正确的地址:$1",
        "wikibase-validator-bad-url-scheme": "不被支持的URL方案:$1",
        "wikibase-validator-unknown-unit": "未知单位:$1",
@@ -96,6 +97,7 @@
        "wikibase-time-precision-BCE-10annum": "公元前$1年代",
        "wikibase-snakformatter-valuetype-mismatch": "值类型“$1”不匹配属性类型“$2”。",
        "wikibase-snakformatter-property-not-found": "未找到属性$1,无法决定要使用的数据类型。",
+       "wikibase-snakformatter-formatting-exception": "格式错误:$1。",
        "wikibase-entity-summary-wbsetitem": "创建新项",
        "wikibase-entity-summary-wbcreate-new": "创建一个新的实体",
        "wikibase-entity-summary-wbcreateredirect": "重定向至$4",
diff --git a/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php 
b/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
index c4aed4e..592ed6f 100644
--- a/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Lib\Tests;
 
+use PHPUnit_Framework_TestCase;
 use Wikibase\Lib\DataTypeDefinitions;
 
 /**
@@ -14,7 +15,7 @@
  * @licence GNU GPL v2+
  * @author Daniel Kinzler
  */
-class DataTypeDefinitionsTest extends \MediaWikiTestCase {
+class DataTypeDefinitionsTest extends PHPUnit_Framework_TestCase {
 
        private function getDefinitions() {
                return array(
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/MediaWikiContentLanguagesTest.php 
b/extensions/Wikibase/lib/tests/phpunit/MediaWikiContentLanguagesTest.php
index 730180e..d31035e 100644
--- a/extensions/Wikibase/lib/tests/phpunit/MediaWikiContentLanguagesTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/MediaWikiContentLanguagesTest.php
@@ -2,7 +2,7 @@
 
 namespace Wikibase\Lib\Test;
 
-use MediaWikiTestCase;
+use PHPUnit_Framework_TestCase;
 use Wikibase\Lib\MediaWikiContentLanguages;
 
 /**
@@ -14,7 +14,7 @@
  * @license GNU GPL v2+
  * @author Marius Hoch < h...@online.de >
  */
-class MediaWikiContentLanguagesTest extends MediaWikiTestCase {
+class MediaWikiContentLanguagesTest extends PHPUnit_Framework_TestCase {
 
        public function testGetLanguages() {
                $wbContentLanguages = new MediaWikiContentLanguages();
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/StaticContentLanguagesTest.php 
b/extensions/Wikibase/lib/tests/phpunit/StaticContentLanguagesTest.php
index e364c55..4e21e4f 100644
--- a/extensions/Wikibase/lib/tests/phpunit/StaticContentLanguagesTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/StaticContentLanguagesTest.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Lib\Test;
 
+use PHPUnit_Framework_TestCase;
 use Wikibase\Lib\StaticContentLanguages;
 
 /**
@@ -13,7 +14,7 @@
  * @license GNU GPL v2+
  * @author Adrian Heine < adrian.he...@wikimedia.de >
  */
-class StaticContentLanguagesTest extends \MediaWikiTestCase {
+class StaticContentLanguagesTest extends PHPUnit_Framework_TestCase {
 
        /**
         * @dataProvider provideTestGetLanguages
diff --git a/extensions/Wikibase/lib/tests/phpunit/StringNormalizerTest.php 
b/extensions/Wikibase/lib/tests/phpunit/StringNormalizerTest.php
index 8e078d9..feb6859 100644
--- a/extensions/Wikibase/lib/tests/phpunit/StringNormalizerTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/StringNormalizerTest.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Test;
 
+use PHPUnit_Framework_TestCase;
 use Wikibase\StringNormalizer;
 
 /**
@@ -14,7 +15,7 @@
  * @author John Erling Blad < jeb...@gmail.com >
  * @author Daniel Kinzler
  */
-class StringNormalizerTest extends \MediaWikiTestCase {
+class StringNormalizerTest extends PHPUnit_Framework_TestCase {
 
        /**
         * @dataProvider providerTrimBadChars
diff --git a/extensions/Wikibase/lib/tests/phpunit/TermIndexEntryTest.php 
b/extensions/Wikibase/lib/tests/phpunit/TermIndexEntryTest.php
index 3ad5c85..f2068eb 100644
--- a/extensions/Wikibase/lib/tests/phpunit/TermIndexEntryTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/TermIndexEntryTest.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Test;
 
+use PHPUnit_Framework_TestCase;
 use Wikibase\DataModel\LegacyIdInterpreter;
 use Wikibase\DataModel\Term\Term;
 use Wikibase\TermIndexEntry;
@@ -16,7 +17,7 @@
  * @licence GNU GPL v2+
  * @author Daniel Kinzler <daniel.kinz...@wikimedia.de>
  */
-class TermIndexEntryTest extends \MediaWikiTestCase {
+class TermIndexEntryTest extends PHPUnit_Framework_TestCase {
 
        public function provideConstructor() {
                return array(
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/UnionContentLanguagesTest.php 
b/extensions/Wikibase/lib/tests/phpunit/UnionContentLanguagesTest.php
index c22a34d..1d35288 100644
--- a/extensions/Wikibase/lib/tests/phpunit/UnionContentLanguagesTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/UnionContentLanguagesTest.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Lib\Test;
 
+use PHPUnit_Framework_TestCase;
 use Wikibase\Lib\ContentLanguages;
 use Wikibase\Lib\UnionContentLanguages;
 
@@ -14,7 +15,7 @@
  * @license GNU GPL v2+
  * @author Adrian Heine < adrian.he...@wikimedia.de >
  */
-class UnionContentLanguagesTest extends \MediaWikiTestCase {
+class UnionContentLanguagesTest extends PHPUnit_Framework_TestCase {
 
        /**
         * @dataProvider provideTestGetLanguages
diff --git a/extensions/Wikibase/repo/i18n/ce.json 
b/extensions/Wikibase/repo/i18n/ce.json
index a1f2817..170cf21 100644
--- a/extensions/Wikibase/repo/i18n/ce.json
+++ b/extensions/Wikibase/repo/i18n/ce.json
@@ -8,6 +8,7 @@
                ]
        },
        "wikibase-desc": "Хаамаш латтабо меттиг",
+       "wikibase-entity": "ма-дарра",
        "wikibase-entity-item": "элемент",
        "wikibase-entity-property": "билгало",
        "wikibase-entity-query": "жоп деха",
@@ -46,7 +47,8 @@
        "wikibase-alias-edit-placeholder": "дӀаязъе кхин тӀе цӀе (синоним)",
        "wikibase-label-input-help-message": "ДӀаязъе цӀе хӀокху $1 маттахь.",
        "wikibase-description-input-help-message": "Язде $1 маттахь хаамах 
лаьцна.",
-       "wikibase-statements": "ТIечIагIдалар",
+       "wikibase-statementsection-statements": "ТIечIагIдалар",
+       "wikibase-sitelinks": "Сайтийн тӀе йолу хьажоргийн могӀам",
        "wikibase-sitelinks-empty": "Цхьа агӀо кхуза хьажорг йолуш яц.",
        "wikibase-sitelinks-special": "ХӀокху элементах тесна йолу кхечу 
сайташкара агӀонаш",
        "wikibase-remove": "дӀаяккха",
@@ -100,8 +102,10 @@
        "wikibase-newitem-site": "ЦхьалгӀа агӀо тесна сайт",
        "wikibase-newitem-page": "ЦхьалгӀа агӀо тесна сайт",
        "wikibase-newitem-no-external-page": "Кара ца-йо оцу сайтан чохь иштта 
цӀе йолу агӀо.",
+       "wikibase-newentity-language": "Мотт:",
        "wikibase-newentity-label": "ЦӀе (билгало):",
        "wikibase-newentity-description": "Цуьнах лаьцна:",
+       "wikibase-newentity-aliases": "Псевдонимаш, дӀасакъаьстина верт. 
сизал:",
        "wikibase-newentity-submit": "Кхолла",
        "special-setlabel": "Язъе цӀе",
        "wikibase-setlabel-introfull": "Ахьа язийна хӀокхун [[$1]] цӀе «$2».",
@@ -112,6 +116,7 @@
        "special-setaliases": "Язъе харц цӀерш",
        "wikibase-setaliases-label": "Харц цӀе:",
        "wikibase-setaliases-submit": "Язъе харц цӀерш",
+       "wikibase-setlabeldescriptionaliases-label-label": "Билгало:",
        "wikibase-setlabeldescriptionaliases-description-label": "Цуьнах 
лаьцна:",
        "wikibase-setlabeldescriptionaliases-aliases-label": "Харц цӀерш:",
        "special-setsitelink": "Сайтан тӀе хьажорг йилла",
@@ -141,11 +146,14 @@
        "special-listdatatypes": "Массо тӀекхочу хаамийн тайпанийн могӀам",
        "wikibase-listdatatypes-intro": "ХӀара массо хаамийн тайпанийн могӀам 
бу инсталляци чохь:",
        "wikibase-history-title-with-label": "Хийцаман истори «$2» ($1)",
+       "wikibase-listproperties-submit": "Каро",
+       "wikibase-listproperties-invalid-datatype": "«$1» — магийна йоцу 
хаамийн тайпа.",
        "wikibase-entitieswithoutlabel-label-language": "Метта код:",
        "wikibase-entitieswithoutlabel-label-type": "Тайп:",
        "wikibase-entitieswithoutlabel-label-alltypes": "массо",
        "wikibase-entitieswithoutlabel-submit": "Лахар",
        "wikibase-entitieswithoutlabel-invalid-language": "«$1» — меттан код 
нийса яц.",
+       "wikibase-redirectentity-submit": "ДӀасахьажор",
        "wikibase-api-no-such-sitelink": "'$1' cайтан тӀе иштта хьажорг 
цакарий",
        "wikibase-restoreold": "меттахӀоттае",
        "wikibase-listdatatypes-wikibase-item-head": "Элемент",
diff --git a/extensions/Wikibase/repo/i18n/cs.json 
b/extensions/Wikibase/repo/i18n/cs.json
index 3f08889..44f9073 100644
--- a/extensions/Wikibase/repo/i18n/cs.json
+++ b/extensions/Wikibase/repo/i18n/cs.json
@@ -38,6 +38,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "Popis",
        "wikibase-entitytermsforlanguagelistview-label": "Štítek",
        "wikibase-entitytermsforlanguagelistview-language": "Jazyk",
+       "wikibase-entitytermsforlanguagelistview-more": "Více jazyků",
+       "wikibase-entitytermsforlanguagelistview-less": "Méně jazyků",
        "wikibase-label-empty": "Štítek nebyl definován",
        "wikibase-label-edit-placeholder": "vložte štítek",
        "wikibase-label-edit-placeholder-language-aware": "zadejte štítek v 
jazyce $1",
@@ -90,6 +92,7 @@
        "wikibase-aliases-input-help-message": "Můžete přidat alternativní 
názvy, aby tato entita šla snadněji nalézt.",
        "wikibase-aliases-empty": "Žádné aliasy nebyly definovány.",
        "wikibase-propertypage-datatype": "Datový typ",
+       "wikibase-propertypage-bad-datatype": "Neznámý datový typ: $1",
        "wikibase-claimview-snak-tooltip": "Zadejte hodnotu odpovídající 
vlastnosti jménem „$1“. Pokud vlastnost nemá žádnou určenou hodnotu nebo není 
hodnota známa, můžete si místo jejího zadání vybrat alternativu kliknutím na 
ikonu vedle kolonky pro zadání hodnoty.",
        "wikibase-claimview-snak-new-tooltip": "Po určení vlastnosti můžete 
zadat příslušnou hodnotu. Pokud vlastnost nemá žádnou určenou hodnotu nebo není 
hodnota známa, můžete si místo jejího zadání vybrat alternativu kliknutím na 
ikonu vedle kolonky pro zadání hodnoty.",
        "wikibase-statementview-rank-preferred": "Preferované postavení",
@@ -275,6 +278,8 @@
        "wikibase-entitydata-title": "Data entity",
        "special-redirectentity": "Přesměrovat entitu",
        "wikibase-redirectentity-success": "$1 bylo úspěšně přesměrováno na 
$2.",
+       "wikibase-redirectentity-fromid": "ID odkud přesměrovat",
+       "wikibase-redirectentity-toid": "ID kam přesměrovat",
        "wikibase-redirectentity-submit": "Přesměrovat",
        "special-mylanguagefallbackchain": "Můj řetězec záložních jazyků",
        "wikibase-mylanguagefallbackchain-text": "Řetězec záložních jazyků, 
který se použije při zobrazování štítků entit, je zobrazen níže.",
diff --git a/extensions/Wikibase/repo/i18n/eml.json 
b/extensions/Wikibase/repo/i18n/eml.json
index 639e922..1b3e40c 100644
--- a/extensions/Wikibase/repo/i18n/eml.json
+++ b/extensions/Wikibase/repo/i18n/eml.json
@@ -8,6 +8,7 @@
        "wikibase-edit": "mudéfica",
        "wikibase-save": "sêlva",
        "wikibase-entitytermsforlanguagelistview-more": "Più lèngvi",
+       "wikibase-entitytermsforlanguagelistview-less": "Méno lèngvi",
        "wikibase-setdescription-label": "Spiegasiòun",
        "wikibase-setdescription-submit": "Scrév la spiegasiòun"
 }
diff --git a/extensions/Wikibase/repo/i18n/fr.json 
b/extensions/Wikibase/repo/i18n/fr.json
index 3f38c41..fa57bb4 100644
--- a/extensions/Wikibase/repo/i18n/fr.json
+++ b/extensions/Wikibase/repo/i18n/fr.json
@@ -68,6 +68,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "Description",
        "wikibase-entitytermsforlanguagelistview-label": "Libellé",
        "wikibase-entitytermsforlanguagelistview-language": "Langue",
+       "wikibase-entitytermsforlanguagelistview-more": "Plus de langues",
+       "wikibase-entitytermsforlanguagelistview-less": "Moins de langues",
        "wikibase-label-empty": "Pas de libellé défini",
        "wikibase-label-edit-placeholder": "saisir un libellé",
        "wikibase-label-edit-placeholder-language-aware": "entrer le libellé en 
$1",
@@ -121,6 +123,7 @@
        "wikibase-aliases-input-help-message": "Pour rendre cette entité plus 
facile à trouver, vous pouvez entrer des noms de remplacement.",
        "wikibase-aliases-empty": "Aucun alias défini.",
        "wikibase-propertypage-datatype": "Type de données",
+       "wikibase-propertypage-bad-datatype": "Type de données inconnu : $1",
        "wikibase-claimview-snak-tooltip": "Saisissez une valeur correspondant 
à la propriété appelée « $1 ». Si la propriété n’a pas de valeur désignée ou si 
sa valeur actuelle n’est pas connue, vous pouvez choisir une alternative pour 
spécifier une valeur personnalisée en cliquant sur l’icône à côté de la zone de 
saisie de la valeur.",
        "wikibase-claimview-snak-new-tooltip": "Après avoir spécifié une 
propriété, vous pouvez saisir une valeur correspondante. Si la propriété n’a 
pas de valeur désignée ou si sa valeur actuelle est inconnue, vous pouvez 
choisir une alternative en spécifiant une valeur personnalisée en cliquant sur 
l’icône à côté de la zone de saisie de la valeur.",
        "wikibase-statementview-rank-preferred": "Rang privilégié",
diff --git a/extensions/Wikibase/repo/i18n/he.json 
b/extensions/Wikibase/repo/i18n/he.json
index 57c5e4a..3dd009d 100644
--- a/extensions/Wikibase/repo/i18n/he.json
+++ b/extensions/Wikibase/repo/i18n/he.json
@@ -34,6 +34,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "תיאור",
        "wikibase-entitytermsforlanguagelistview-label": "תווית",
        "wikibase-entitytermsforlanguagelistview-language": "שפה",
+       "wikibase-entitytermsforlanguagelistview-more": "עוד שפות",
+       "wikibase-entitytermsforlanguagelistview-less": "פחות שפות",
        "wikibase-label-empty": "לא הוגדרה תווית",
        "wikibase-label-edit-placeholder": "נא להזין תווית",
        "wikibase-label-edit-placeholder-language-aware": "נא להזין תווית 
ב{{GRAMMAR:תחילית|$1}}",
@@ -86,6 +88,7 @@
        "wikibase-aliases-input-help-message": "כדי שיהיה קל יותר למצוא את 
הישות הזה, אפשר להזין שמות חלופיים.",
        "wikibase-aliases-empty": "לא הוגדרו כינויים.",
        "wikibase-propertypage-datatype": "סוג נתונים",
+       "wikibase-propertypage-bad-datatype": "סוג נתונים בלתי־ידוע: $1",
        "wikibase-claimview-snak-tooltip": "נא להזין ערך המתאים למאפיין ששמו 
\"$1\". אם למאפיין אין ערך מוגדר או שהערך האמתי אינו ידוע, ביכולתך לבחור חלופה 
לציון ערך מותאם אישית באמצעות לחיצה על התמונה ליד תיבת הזנת הערך.",
        "wikibase-claimview-snak-new-tooltip": "אחרי ציון המאפיין ביכולתך להזין 
ערך מתאים. אם למאפיין אין ערך מוגדר או שהערך האמתי אינו ידוע, ביכולתך לבחור 
חלופה לציון ערך מותאם אישית באמצעות לחיצה על התמונה ליד תיבת הזנת הערך.",
        "wikibase-statementview-rank-preferred": "דירוג מועדף",
diff --git a/extensions/Wikibase/repo/i18n/it.json 
b/extensions/Wikibase/repo/i18n/it.json
index 5ee33fe..790a484 100644
--- a/extensions/Wikibase/repo/i18n/it.json
+++ b/extensions/Wikibase/repo/i18n/it.json
@@ -41,6 +41,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "Descrizione",
        "wikibase-entitytermsforlanguagelistview-label": "Etichetta",
        "wikibase-entitytermsforlanguagelistview-language": "Lingua",
+       "wikibase-entitytermsforlanguagelistview-more": "Altre lingue",
+       "wikibase-entitytermsforlanguagelistview-less": "Meno lingue",
        "wikibase-label-empty": "Nessuna etichetta definita",
        "wikibase-label-edit-placeholder": "inserisci un'etichetta",
        "wikibase-label-edit-placeholder-language-aware": "inserisci 
un'etichetta in $1",
@@ -93,6 +95,7 @@
        "wikibase-aliases-input-help-message": "Per rendere più facile trovare 
questa entità, è possibile inserire nomi alternativi.",
        "wikibase-aliases-empty": "Nessun alias definito.",
        "wikibase-propertypage-datatype": "Tipo di dato",
+       "wikibase-propertypage-bad-datatype": "Tipo di dati sconosciuto: $1",
        "wikibase-claimview-snak-tooltip": "Inserisci un valore corrispondente 
alla proprietà chiamata \"$1\". Se la proprietà non ha alcun valore designato o 
non è noto il valore effettivo, è possibile scegliere un'alternativa alla 
specifica di un valore personalizzato facendo clic sull'icona accanto alla 
casella di input del valore.",
        "wikibase-claimview-snak-new-tooltip": "Dopo aver specificato una 
proprietà è possibile inserire un valore corrispondente. Se la proprietà non ha 
alcun valore designato o non è noto il valore effettivo, è possibile scegliere 
un'alternativa alla specifica un di valore personalizzato facendo clic 
sull'icona accanto alla casella di input del valore.",
        "wikibase-statementview-rank-preferred": "Classificato preferito",
diff --git a/extensions/Wikibase/repo/i18n/lb.json 
b/extensions/Wikibase/repo/i18n/lb.json
index 1a0cf9e..cede234 100644
--- a/extensions/Wikibase/repo/i18n/lb.json
+++ b/extensions/Wikibase/repo/i18n/lb.json
@@ -22,6 +22,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "Beschreiwung",
        "wikibase-entitytermsforlanguagelistview-label": "Etikett",
        "wikibase-entitytermsforlanguagelistview-language": "Sprooch",
+       "wikibase-entitytermsforlanguagelistview-more": "Méi Sproochen",
+       "wikibase-entitytermsforlanguagelistview-less": "Manner Sproochen",
        "wikibase-label-empty": "Keng Etikett definéiert",
        "wikibase-label-edit-placeholder": "Etikett aginn",
        "wikibase-label-edit-placeholder-language-aware": "Etikett op $1 aginn",
@@ -61,6 +63,7 @@
        "wb-special-newitem-new-item-notification": "Neit Element $1 ugeluecht 
a virugeleet op seng Säit. Zréck op $2.",
        "wikibase-aliases-empty": "Keen Alias definéiert:",
        "wikibase-propertypage-datatype": "Datentyp",
+       "wikibase-propertypage-bad-datatype": "Onbekannten Datentyp: $1",
        "wikibase-statementview-rank-normal": "Normal Bewäertung",
        "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|Referenz|Referenzen}}",
        "wikibase-statementview-referencesheading-pendingcountertooltip": 
"{{PLURAL:$1|Eng Referenz|$1 Referenze}} goufen nach net gespäichert",
diff --git a/extensions/Wikibase/repo/i18n/pl.json 
b/extensions/Wikibase/repo/i18n/pl.json
index fb820c7..2c20701 100644
--- a/extensions/Wikibase/repo/i18n/pl.json
+++ b/extensions/Wikibase/repo/i18n/pl.json
@@ -92,6 +92,7 @@
        "wikibase-aliases-input-help-message": "Aby ta encja mogła zostać 
łatwiej odszukana, możesz wprowadzić nazwy alternatywne.",
        "wikibase-aliases-empty": "Nie zdefiniowano aliasów.",
        "wikibase-propertypage-datatype": "Typ danych",
+       "wikibase-propertypage-bad-datatype": "Nieznany typ danych: $1",
        "wikibase-claimview-snak-tooltip": "Podaj wartość odpowiadającą 
właściwości o nazwie „$1”. Jeśli nie istnieje żadna wartość dla tej właściwości 
albo rzeczywista wartość nie jest znana, to zamiast podawania wartości można 
wybrać alternatywną możliwość klikając na ikonę obok pola wprowadzania 
wartości.",
        "wikibase-claimview-snak-new-tooltip": "Po określeniu właściwości można 
podać odpowiadającą jej wartość. Jeśli nie istnieje żadna wartość dla tej 
właściwości albo rzeczywista wartość nie jest znana, to zamiast podawania 
wartości można wybrać alternatywną możliwość klikając na ikonę obok pola 
wprowadzania wartości.",
        "wikibase-statementview-rank-preferred": "Ranga preferowana",
diff --git a/extensions/Wikibase/repo/i18n/pt.json 
b/extensions/Wikibase/repo/i18n/pt.json
index b7390ed..4716181 100644
--- a/extensions/Wikibase/repo/i18n/pt.json
+++ b/extensions/Wikibase/repo/i18n/pt.json
@@ -36,6 +36,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "Descrição",
        "wikibase-entitytermsforlanguagelistview-label": "Rótulo",
        "wikibase-entitytermsforlanguagelistview-language": "Idioma",
+       "wikibase-entitytermsforlanguagelistview-more": "Mais idiomas",
+       "wikibase-entitytermsforlanguagelistview-less": "Menos idiomas",
        "wikibase-label-empty": "Nenhum rótulo definido",
        "wikibase-label-edit-placeholder": "introduza um rótulo",
        "wikibase-label-edit-placeholder-language-aware": "introduza um rótulo 
em $1",
@@ -87,6 +89,7 @@
        "wikibase-aliases-input-help-message": "Para tornar esta entrada mais 
fácil de pesquisa, pode definir nomes alternativos.",
        "wikibase-aliases-empty": "Não foram definidos nomes alternativos.",
        "wikibase-propertypage-datatype": "Tipo de dados",
+       "wikibase-propertypage-bad-datatype": "Tipo de dados desconhecido: $1",
        "wikibase-claimview-snak-tooltip": "Insira um valor correspondente à 
propriedade denominada \"$1\". Se a propriedade não tem nenhum valor designado, 
ou o valor real não é conhecido, pode escolher uma alternativa para especificar 
um valor personalizado ao clicar no ícone ao lado da caixa de entrada de 
valor.",
        "wikibase-claimview-snak-new-tooltip": "Depois de especificar uma 
propriedade, pode inserir um valor correspondente. Se a propriedade não tem 
nenhum valor designado, ou o valor real não é conhecido, pode escolher uma 
alternativa para especificar um valor personalizado ao clicar no ícone ao lado 
da caixa de entrada de valor.",
        "wikibase-statementview-rank-preferred": "Classificação prefererida",
diff --git a/extensions/Wikibase/repo/i18n/qqq.json 
b/extensions/Wikibase/repo/i18n/qqq.json
index 46fc649..5746ef2 100644
--- a/extensions/Wikibase/repo/i18n/qqq.json
+++ b/extensions/Wikibase/repo/i18n/qqq.json
@@ -66,7 +66,7 @@
        "wikibase-entitytermsforlanguagelistview-description": "List of labels, 
aliases and descriptions in one or more languages: Heading of the 
\"description\" column. (see 
[[d:Wikidata:Glossary]])\n{{Identical|Description}}",
        "wikibase-entitytermsforlanguagelistview-label": "List of labels, 
aliases and descriptions in one or more languages: Heading of the \"label\" 
column. (see [[d:Wikidata:Glossary]])\n{{Identical|Label}}",
        "wikibase-entitytermsforlanguagelistview-language": "List of labels, 
aliases and descriptions in one or more languages: Heading of the \"language\" 
column. (see [[d:Wikidata:Glossary]])\n{{Identical|Language}}",
-       "wikibase-entitytermsforlanguagelistview-more": "List of labels, 
aliases and descriptions in one or more languages: Label for the button to show 
all non-empty sets of terms.",
+       "wikibase-entitytermsforlanguagelistview-more": "List of labels, 
aliases and descriptions in one or more languages: Label for the button to show 
all non-empty sets of terms.\n{{Identical|More languages}}",
        "wikibase-entitytermsforlanguagelistview-less": "List of labels, 
aliases and descriptions in one or more languages: Label for the button to hide 
all but the default terms.",
        "wikibase-label-empty": "Placeholder message displayed instead of the 
item's label in case no label has been specified yet. This message is displayed 
only when the user has JavaScript disabled. (When JavaScript is enabled, an 
input box will be displayed instead.)",
        "wikibase-label-edit-placeholder": "[[File:Screenshot WikidataRepo 
2012-05-13 G.png|right|0x150px]]\nThis is a generic text used as a placeholder 
while editing a new label. See also the Wikidata glossary on 
[[d:Wikidata:Glossary#languageattribute-label|label]].",
diff --git a/extensions/Wikibase/repo/i18n/zh-hans.json 
b/extensions/Wikibase/repo/i18n/zh-hans.json
index 6ee8392..7a8446e 100644
--- a/extensions/Wikibase/repo/i18n/zh-hans.json
+++ b/extensions/Wikibase/repo/i18n/zh-hans.json
@@ -48,6 +48,8 @@
        "wikibase-entitytermsforlanguagelistview-description": "描述",
        "wikibase-entitytermsforlanguagelistview-label": "标签",
        "wikibase-entitytermsforlanguagelistview-language": "语言",
+       "wikibase-entitytermsforlanguagelistview-more": "更多语言",
+       "wikibase-entitytermsforlanguagelistview-less": "更少语言",
        "wikibase-label-empty": "没有定义标签",
        "wikibase-label-edit-placeholder": "请输入标签",
        "wikibase-label-edit-placeholder-language-aware": "请输入$1标签",
@@ -100,6 +102,7 @@
        "wikibase-aliases-input-help-message": "要让此实体更易查找,您可以输入别名。",
        "wikibase-aliases-empty": "没有已定义的别名。",
        "wikibase-propertypage-datatype": "数据类型",
+       "wikibase-propertypage-bad-datatype": "未知的数据类型:$1",
        "wikibase-claimview-snak-tooltip": 
"请输入属性“$1”对应的值。如果该属性没有指定的值或实际值是未知的,您可以通过点击值输入框旁的图标来指定一个自定义值。",
        "wikibase-claimview-snak-new-tooltip": 
"指定一个属性后您可以输入对应的值。如果该属性没有指定的值或实际值是未知的,您可以通过点击值输入框旁的图标来指定一个自定义值。",
        "wikibase-statementview-rank-preferred": "首选级",
diff --git a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js 
b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
index 43ee05c..9da9448 100644
--- a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
+++ b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
@@ -360,26 +360,19 @@
                        $entityview
                        .on( 'entitytermsviewchange 
entitytermsviewafterstopediting', function( event ) {
                                var $entitytermsview = $( event.target ),
-                                       entitytermsview = 
$entitytermsview.data( 'entitytermsview' );
+                                       entitytermsview = 
$entitytermsview.data( 'entitytermsview' ),
+                                       fingerprint = entitytermsview.value(),
+                                       label = fingerprint.getLabelFor( 
mw.config.get( 'wgUserLanguage' ) ),
+                                       isEmpty = !label || label.getText() === 
'';
 
-                               $.each( entitytermsview.value(), function() {
-                                       if ( this.language !== mw.config.get( 
'wgUserLanguage' ) ) {
-                                               return true;
-                                       }
+                               $( 'title' ).text(
+                                       mw.msg( 'pagetitle', isEmpty ? 
mw.config.get( 'wgTitle' ) : label.getText() )
+                               );
 
-                                       var label = this.label.getText();
-
-                                       $( 'title' ).text(
-                                               mw.msg( 'pagetitle', label !== 
'' ? label : mw.config.get( 'wgTitle' ) )
-                                       );
-
-                                       $( 'h1' ).find( '.wikibase-title' )
-                                               .toggleClass( 'wb-empty', label 
=== '' )
-                                               .find( '.wikibase-title-label' )
-                                               .text( label !== '' ? label : 
mw.msg( 'wikibase-label-empty' ) );
-
-                                       return false;
-                               } );
+                               $( 'h1' ).find( '.wikibase-title' )
+                                       .toggleClass( 'wb-empty', isEmpty )
+                                       .find( '.wikibase-title-label' )
+                                       .text( isEmpty ? mw.msg( 
'wikibase-label-empty' ) : label.getText() );
                        } );
 
                        attachCopyrightTooltip( $entityview );
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index 09d429a..b78f64a 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
@@ -171,9 +171,11 @@
 
                // Fully encapsulate child widgets by suppressing their events:
                this.element
-               .on( prefix + 'change.' + this.widgetName, function( event ) {
+               .on( prefix + 'change.' + this.widgetName, function( event, 
lang ) {
                        event.stopPropagation();
-                       self._trigger( 'change' );
+                       if ( lang === self.options.userLanguages[0] ) {
+                               self._trigger( 'change' );
+                       }
                } )
                .on( prefix + 'toggleerror.' + this.widgetName, function( 
event, error ) {
                        event.stopPropagation();
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguageview.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguageview.js
index b7e0841..3daaedb 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguageview.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguageview.js
@@ -28,6 +28,7 @@
  *
  * @event change
  *        - {jQuery.Event}
+ *        - {string} Language code the change was made in.
  *
  * @event afterstartediting
  *       - {jQuery.Event}
@@ -165,7 +166,7 @@
                        self['$' + widgetName]
                        .on( widgetName + 'change', function( event ) {
                                event.stopPropagation();
-                               self._trigger( 'change' );
+                               self._trigger( 'change', null, 
[self.options.value.language] );
                        } )
                        .on( widgetName + 'toggleerror.' + self.widgetName, 
function( event, error ) {
                                event.stopPropagation();
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
index 0397e94..b762ac6 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
@@ -97,41 +97,40 @@
 
                this.element
                .on(
-                       this.widgetEventPrefix + 'change.' + this.widgetName
-                               + ' ' + this.widgetEventPrefix + 
'afterstopediting.' + this.widgetName,
+                       this.widgetEventPrefix + 'change.' + this.widgetName + 
' ' +
+                       this.widgetEventPrefix + 'afterstopediting.' + 
this.widgetName,
                        function() {
-                               if ( self.options.userLanguages.length === 0 ) {
-                                       // if no user languages have been 
specified, do nothing
+                               var lang = self.options.userLanguages[0];
+
+                               if ( !lang ) {
                                        return;
                                }
 
                                var fingerprint = self.value(),
-                                       language = 
self.options.userLanguages[0],
-                                       description = 
fingerprint.getDescriptionFor( language ) || new wb.datamodel.Term( language, 
'' ),
-                                       aliases = fingerprint.getAliasesFor( 
language ) || new wb.datamodel.MultiTerm( language, [] );
+                                       description = 
fingerprint.getDescriptionFor( lang ),
+                                       aliases = fingerprint.getAliasesFor( 
lang ),
+                                       isDescriptionEmpty = !description || 
description.getText() === '',
+                                       isAliasesEmpty = !aliases || 
aliases.isEmpty();
 
                                self.$headingDescription
-                                       .toggleClass( 'wb-empty', 
description.getText() === '' )
-                                       .text( description.getText() === ''
+                                       .toggleClass( 'wb-empty', 
isDescriptionEmpty )
+                                       .text( isDescriptionEmpty
                                                ? mw.msg( 
'wikibase-description-empty' )
                                                : description.getText()
-                               );
+                                       );
 
                                var $ul = self.$headingAliases
-                                       .toggleClass( 'wb-empty', 
aliases.isEmpty() )
-                                       .children( 'ul' )
-                                       .text( aliases.isEmpty()
-                                               ? mw.msg( 
'wikibase-aliases-empty' )
-                                               : ''
-                               );
+                                       .toggleClass( 'wb-empty', 
isAliasesEmpty )
+                                       .children( 'ul' );
 
-                               $.each( aliases.getTexts(), function( i, text ) 
{
-                                       $ul.append(
-                                               mw.wbTemplate( 
'wikibase-entitytermsview-aliases-alias',
-                                                       text
-                                               )
-                                       );
-                               } );
+                               if ( isAliasesEmpty ) {
+                                       $ul.text( mw.msg( 
'wikibase-aliases-empty' ) );
+                               } else {
+                                       $ul.empty();
+                                       $.each( aliases.getTexts(), function( 
i, text ) {
+                                               $ul.append( mw.wbTemplate( 
'wikibase-entitytermsview-aliases-alias', text ) );
+                                       } );
+                               }
                        }
                );
 
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 244fb00..6316c98 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1237,12 +1237,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "578154d93f7e76b51aabebf58a65a98f70aaae1b"
+            "reference": "62270fec5ce1335b9c6ec58488eedef7e19b95c3"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/578154d93f7e76b51aabebf58a65a98f70aaae1b";,
-            "reference": "578154d93f7e76b51aabebf58a65a98f70aaae1b",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/62270fec5ce1335b9c6ec58488eedef7e19b95c3";,
+            "reference": "62270fec5ce1335b9c6ec58488eedef7e19b95c3",
             "shasum": ""
         },
         "require": {
@@ -1274,7 +1274,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2016-01-28 20:11:28",
+        "time": "2016-01-29 21:44:08",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {
@@ -1520,7 +1520,7 @@
         "source": {
             "type": "git",
             "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints";,
-            "reference": "072d97255a29e676b3f1b57d28eb2a662e4ae196"
+            "reference": "0c6b2bae5c094f3d0d89e0aa56a1adfa5a8802ea"
         },
         "require": {
             "php": ">=5.3.0",
@@ -1532,7 +1532,7 @@
             "phpunit/phpunit": "^3.7.37|~4.5",
             "satooshi/php-coveralls": "master-dev"
         },
-        "time": "2016-01-20 20:09:54",
+        "time": "2016-01-29 20:17:40",
         "type": "mediawiki-extension",
         "installation-source": "source",
         "autoload": {

-- 
To view, visit https://gerrit.wikimedia.org/r/267429
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I80aee550d69172c9940ead4bba7735323a83c318
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to