WikidataBuilder has uploaded a new change for review.

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

Change subject: New Wikidata Build - 22/03/2014 10:00
......................................................................

New Wikidata Build - 22/03/2014 10:00

Change-Id: I1c82d397ba652409a5f363c6b3536cf4f20cda55
---
M composer.lock
M extensions/Wikibase/client/WikibaseClient.i18n.magic.php
M extensions/Wikibase/client/WikibaseClient.i18n.php
M extensions/Wikibase/lib/WikibaseLib.i18n.php
M extensions/Wikibase/lib/includes/parsers/DateTimeParser.php
M extensions/Wikibase/lib/resources/formatters/ApiBasedValueFormatter.js
M extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
M 
extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
M 
extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
M extensions/Wikibase/lib/resources/wikibase.css
M extensions/Wikibase/lib/tests/phpunit/parsers/DateTimeParserTest.php
M extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserTest.php
M extensions/Wikibase/repo/Wikibase.i18n.php
M vendor/autoload.php
M vendor/composer/autoload_real.php
M vendor/composer/installed.json
16 files changed, 198 insertions(+), 101 deletions(-)


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

diff --git a/composer.lock b/composer.lock
index 2cc0a03..425fe02 100644
--- a/composer.lock
+++ b/composer.lock
@@ -850,12 +850,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "361f7774da3b40e02533708228279654259f603d"
+                "reference": "a5c1b9e581d26fd422afd6e76472f7f399d40fbc"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/361f7774da3b40e02533708228279654259f603d";,
-                "reference": "361f7774da3b40e02533708228279654259f603d",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/a5c1b9e581d26fd422afd6e76472f7f399d40fbc";,
+                "reference": "a5c1b9e581d26fd422afd6e76472f7f399d40fbc",
                 "shasum": ""
             },
             "require": {
@@ -914,7 +914,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2014-03-21 09:38:56"
+            "time": "2014-03-22 09:43:36"
         }
     ],
     "packages-dev": [
diff --git a/extensions/Wikibase/client/WikibaseClient.i18n.magic.php 
b/extensions/Wikibase/client/WikibaseClient.i18n.magic.php
index ffb1bae..fb16497 100644
--- a/extensions/Wikibase/client/WikibaseClient.i18n.magic.php
+++ b/extensions/Wikibase/client/WikibaseClient.i18n.magic.php
@@ -96,6 +96,7 @@
 $magicWords['mk'] = array(
        'noexternallanglinks' => array( 0, 'безнадворјазврски' ),
        'property' => array( 0, 'својство' ),
+       'wbreponame' => array( 0, 'вбскладиштеиме' ),
 );
 
 /** Malayalam (മലയാളം) */
diff --git a/extensions/Wikibase/client/WikibaseClient.i18n.php 
b/extensions/Wikibase/client/WikibaseClient.i18n.php
index 8618204..0cd4c8b 100644
--- a/extensions/Wikibase/client/WikibaseClient.i18n.php
+++ b/extensions/Wikibase/client/WikibaseClient.i18n.php
@@ -383,10 +383,21 @@
        'wikibase-linkitem-not-loggedin-title' => 'يتوجب عليك تسجيل الدخول',
        'wikibase-linkitem-not-loggedin' => 'لاستخدام هذه الميزة لا بد من تسجيل 
الدخول على هذه الويكي وعلى [$1 مستودع البيانات المركزي].',
        'wikibase-linkitem-success-link' => 'تم ربط الصفحات بنجاح. يمكنك العثور 
على العنصر الذي يحتوي على الارتباطات على [ $1  مستودعنا المركزي للبيانات].',
+       'wikibase-property-notfound' => 'لم يتم العثور على الخاصية $1.',
+       'wikibase-property-notsupportedyet' => 'قاعدة ويكي لا تدعم نوع الخاصية 
للخاصية $1 بعد.',
        'wikibase-rc-hide-wikidata' => '$1 ويكيبيانات', # Fuzzy
+       'wikibase-rc-hide-wikidata-hide' => 'إخفاء',
+       'wikibase-rc-hide-wikidata-show' => 'أظهر',
        'wikibase-rc-show-wikidata-pref' => 'إظهار تعديلات ويكي بيانات في صفحة 
أحدث التغييرات', # Fuzzy
        'wikibase-rc-wikibase-edit-letter' => 'د',
+       'wikibase-rc-wikibase-edit-title' => 'تعديل {{WBREPONAME}}',
+       'wikibase-watchlist-show-changes-pref' => 'إظهار تعديلات {{WBREPONAME}} 
في قائمة مراقبتك',
+       'wikibase-unconnectedpages-page' => 'بدء قائمة النتائج بالصفحة:',
        'wikibase-unconnectedpages-submit' => 'اذهب',
+       'wikibase-unconnectedpages-page-warning' => 'لا يمكن استخدام عنوان 
الصفحة في عملية البحث وسيتم تجاهله.',
+       'wikibase-unconnectedpages-iwdata-label' => 'الصفحات التي تحتوي على 
وصلات بلغات أخرى فقط',
+       'wikibase-pageinfo-entity-id-none' => 'لا شيء',
+       'wikibase-otherprojects' => 'مشاريع أخرى',
 );
 
 /** Aramaic (ܐܪܡܝܐ)
@@ -1003,9 +1014,9 @@
 $messages['cu'] = array(
        'wikibase-editlinks' => 'исправи съвѧꙁи',
        'wikibase-linkitem-input-site' => 'ѩꙁꙑкъ :',
-       'wikibase-rc-hide-wikidata' => '$1 Викисъводъ',
+       'wikibase-rc-hide-wikidata' => '$1 {{WBREPONAME}}',
        'wikibase-rc-wikibase-edit-letter' => 'в҃с',
-       'wikibase-rc-wikibase-edit-title' => 'Викисъводѣ мѣна',
+       'wikibase-rc-wikibase-edit-title' => 
'{{grammar:genitive|{{WBREPONAME}}}} мѣна',
 );
 
 /** Welsh (Cymraeg)
@@ -1241,7 +1252,7 @@
        'wikibase-property-notsupportedyet' => 'Wikibase hyšći njepóděra 
kakosćowy typ za kakosć $1.',
        'wikibase-rc-hide-wikidata' => '{{WBREPONAME}} $1',
        'wikibase-rc-show-wikidata-pref' => 'Změny {{WBREPONAME}} w aktualnych 
změnach pokazaś',
-       'wikibase-watchlist-show-changes-pref' => 'Změny Wikidata w twójich 
wobglědowańkach pokazaś', # Fuzzy
+       'wikibase-watchlist-show-changes-pref' => 'Změny {{WBREPONAME}} w 
twójich wobglědowańkach pokazaś',
        'wikibase-error-invalid-entity-id' => 'Zapódany ID jo systemoju 
njeznaty. Pšosym wužyj płaśiwy entitowy ID.',
 );
 
diff --git a/extensions/Wikibase/lib/WikibaseLib.i18n.php 
b/extensions/Wikibase/lib/WikibaseLib.i18n.php
index 6fdcb2d..49cc1fd 100644
--- a/extensions/Wikibase/lib/WikibaseLib.i18n.php
+++ b/extensions/Wikibase/lib/WikibaseLib.i18n.php
@@ -383,6 +383,9 @@
        'wikibase-deletedentity-property' => 'خاصية محذوفة',
        'wikibase-deletedentity-query' => 'طلب محذوف',
        'wikibase-diffview-reference' => 'مرجع',
+       'wikibase-diffview-rank' => 'الترتيب',
+       'wikibase-diffview-rank-preferred' => 'الترتيب المفضل',
+       'wikibase-diffview-rank-normal' => 'الترتيب القياسي',
        'wikibase-diffview-qualifier' => 'صفة',
        'wikibase-diffview-label' => 'علامة',
        'wikibase-diffview-alias' => 'أسماء أخرى',
@@ -395,6 +398,9 @@
        'wikibase-error-remove-connection' => 'وقع خطأ في الاتصال عند الحذف فلم 
تحفظ تعديلاتك. تحقق من الاتصال بالإنترنت.',
        'wikibase-error-save-timeout' => 'يشهد الموقع صعوبات تقنية حاليا فلم 
ينفذ الحفظ.',
        'wikibase-error-remove-timeout' => 'يشهد الموقع صعوبات تقنية حاليا فلم 
ينفذ الحذف.',
+       'wikibase-error-autocomplete-connection' => 'لم يكن من الممكن البحث في 
واجهة برمجة التطبيقات الخاصة بالموقع. الرجاء المحاولة مرة أخرى لاحقاَ.',
+       'wikibase-quantitydetails-amount' => 'الكمية',
+       'wikibase-quantitydetails-unit' => 'وحدة',
        'wikibase-timedetails-time' => 'زمن',
        'wikibase-timedetails-isotime' => 'الطابع الزمني ISO',
        'wikibase-timedetails-timezone' => 'المنطقة الزمنية',
@@ -406,10 +412,14 @@
        'wikibase-globedetails-latitude' => 'خطّ العرض',
        'wikibase-globedetails-precision' => 'الدقة',
        'wikibase-replicationnote' => 'قد يلزم وقت لتظهر التعديلات في جميع 
الويكيات.',
+       'wikibase-sitelinks-wikipedia' => 'صفحات ويكيبيديا المرتبطة بهذا 
العنصر',
        'wikibase-sitelinks-sitename-columnheading' => 'اللغة',
        'wikibase-sitelinks-sitename-columnheading-special' => 'الموقع',
+       'wikibase-sitelinks-link-columnheading' => 'صفحة مرتبطة',
        'wikibase-tooltip-error-details' => 'التفاصيل',
        'wikibase-validator-bad-type' => '$2 عوضا عن $1',
+       'wikibase-validator-no-such-entity' => 'لم يتم العثور على $1',
+       'wikibase-validator-no-such-property' => 'الخاصية $1 غير موجودة',
        'wikibase-validator-unknown-unit' => 'وحدة غير معروفة: $1',
        'datatypes-type-wikibase-item' => 'عنصر',
        'version-wikibase' => 'قاعدة ويكي',
@@ -1296,6 +1306,7 @@
 /** Spanish (español)
  * @author Armando-Martin
  * @author Dalton2
+ * @author Fitoschido
  * @author Ihojose
  * @author Pegna
  * @author Savh
@@ -1333,6 +1344,7 @@
        'wikibase-error-ui-session-failure' => 'Tu sesión ha caducado. Inicia 
la sesión de nuevo.',
        'wikibase-error-ui-edit-conflict' => 'Hay un conflicto de edición. Por 
favor, vuelve a cargar y guarda de nuevo.',
        'wikibase-timedetails-time' => 'Tiempo',
+       'wikibase-timedetails-isotime' => 'Fecha y hora en formato ISO',
        'wikibase-timedetails-timezone' => 'Zona horaria',
        'wikibase-timedetails-calendar' => 'Calendario',
        'wikibase-timedetails-precision' => 'Precisión',
@@ -1343,7 +1355,7 @@
        'wikibase-globedetails-precision' => 'Precisión',
        'wikibase-globedetails-globe' => 'Globo',
        'wikibase-replicationnote' => 'Tenga en cuenta que puede tardar varios 
minutos, hasta que los cambios sean visibles en todas las wikis.',
-       'wikibase-sitelinks-wikipedia' => 'Páginas de Wikipedia con enlaces 
hacia este elemento',
+       'wikibase-sitelinks-wikipedia' => 'Páginas de Wikipedia enlazadas con 
este elemento',
        'wikibase-sitelinks-sitename-columnheading' => 'Idioma',
        'wikibase-sitelinks-siteid-columnheading' => 'Código',
        'wikibase-sitelinks-link-columnheading' => 'Artículo enlazado', # Fuzzy
diff --git a/extensions/Wikibase/lib/includes/parsers/DateTimeParser.php 
b/extensions/Wikibase/lib/includes/parsers/DateTimeParser.php
index 0f0643c..8c408fa 100644
--- a/extensions/Wikibase/lib/includes/parsers/DateTimeParser.php
+++ b/extensions/Wikibase/lib/includes/parsers/DateTimeParser.php
@@ -34,9 +34,10 @@
        }
 
        /**
-        * Parses the provided string and returns the result.
+        * Parses the provided string
         *
-        * @param string $value
+        * @param string $value in a format as specified by the PHP DateTime 
object
+        *       there are exceptions as we can handel 5+ digit dates
         *
         * @throws ParseException
         * @return TimeValue
@@ -44,22 +45,36 @@
        protected function stringParse( $value ) {
                $calendarModelParser = new CalendarModelParser();
                $options = $this->getOptions();
+
+               //Place to put large years when they are found
+               $largeYear = null;
+
                try{
-                       $value = $this->monthUnlocaliser->unlocalize(
-                               $value,
-                               $options->getOption( ValueParser::OPT_LANG ),
-                               new ParserOptions()
+                       $value = $this->getValueWithFixedYearLengths(
+                               $this->getValueWithFixedSeparators(
+                                       $this->monthUnlocaliser->unlocalize(
+                                               trim( $value ),
+                                               $options->getOption( 
ValueParser::OPT_LANG ),
+                                               new ParserOptions()
+                                       )
+                               )
                        );
 
-                       //PHP's DateTime object does not accept spaces as 
separators between year, month and day,
-                       //e.g. dates like 20 12 2012, but we want to support 
them.
-                       //See 
http://de1.php.net/manual/en/datetime.formats.date.php
-                       $value = preg_replace( '/\s+/', '.', trim( $value ) );
+                       //PHP's DateTime object also cant handel larger than 4 
digit years
+                       //e.g. 1 June 202020
+                       if( preg_match( '/^(.*[^\d]|)(\d{5,})(.*|)$/', $value, 
$matches ) ) {
+                               $value = $matches[1] . substr( $matches[2], -4 
) . $matches[3];
+                               $largeYear = $matches[2];
+                       }
 
                        //Parse using the DateTime object (this will allow us 
to format the date in a nicer way)
                        //TODO try to match and remove BCE etc. before putting 
the value into the DateTime object to get - dates!
                        $dateTime = new DateTime( $value );
-                       $timeString = '+' . $dateTime->format( 'Y-m-d\TH:i:s\Z' 
);
+                       if( $largeYear === null ) {
+                               $timeString = '+' . $dateTime->format( 
'Y-m-d\TH:i:s\Z' );
+                       } else {
+                               $timeString = '+' . $largeYear . 
$dateTime->format( '-m-d\TH:i:s\Z' );
+                       }
 
                        //Pass the reformatted string into a base parser that 
parses this +/-Y-m-d\TH:i:s\Z format with a precision
                        $valueParser = new \ValueParsers\TimeParser( 
$calendarModelParser, $options );
@@ -71,4 +86,48 @@
                }
        }
 
-}
\ No newline at end of file
+       /**
+        * PHP's DateTime object does not accept spaces as separators between 
year, month and day,
+        * e.g. dates like 20 12 2012, but we want to support them.
+        * See http://de1.php.net/manual/en/datetime.formats.date.php
+        *
+        * @param string $value
+        *
+        * @return mixed
+        */
+       private function getValueWithFixedSeparators( $value ) {
+               return preg_replace( '/\s+/', '.', $value );
+       }
+
+       /**
+        * PHP's DateTime object also cant handel smaller than 4 digit years
+        * e.g. instead of 12 it needs 0012 etc.
+        *
+        * @param string $value
+        *
+        * @return string
+        */
+       private function getValueWithFixedYearLengths( $value ) {
+               if( preg_match( '/^(\d+)([^\d])(\d+)([^\d])(\d+)$/', $value, 
$dateParts ) ) {
+                       if( $dateParts[1] > 31 && $dateParts[5] <= 31 ) {
+                               // the year looks like it is at the front
+                               if( strlen( $dateParts[1] ) < 4 ) {
+                                       $value = str_pad( $dateParts[1], 4, 
'0', STR_PAD_LEFT )
+                                               . $dateParts[2] . $dateParts[3] 
. $dateParts[4] . $dateParts[5];
+                               }
+                       } else {
+                               // presume the year is at the back
+                               if( strlen( $dateParts[5] ) < 4 ) {
+                                       $value = $dateParts[1] . $dateParts[2] 
. $dateParts[3] . $dateParts[4]
+                                               . str_pad( $dateParts[5], 4, 
'0', STR_PAD_LEFT );
+                               }
+                       }
+               } else {
+                       if( preg_match( '/^(.*[^\d])(\d{1,3})$/', $value, 
$matches ) ) {
+                               $value = $matches[1] . str_pad( $matches[2], 4, 
'0', STR_PAD_LEFT );
+                       }
+               }
+               return $value;
+       }
+
+}
diff --git 
a/extensions/Wikibase/lib/resources/formatters/ApiBasedValueFormatter.js 
b/extensions/Wikibase/lib/resources/formatters/ApiBasedValueFormatter.js
index 8194465..4e1fe12 100644
--- a/extensions/Wikibase/lib/resources/formatters/ApiBasedValueFormatter.js
+++ b/extensions/Wikibase/lib/resources/formatters/ApiBasedValueFormatter.js
@@ -32,7 +32,7 @@
 
                        // TODO: Remove accessing wb.__formattedValues along 
with removing
                        // wikibase.ui.initFormattedValues resource loader 
module.
-                       if( wb.__formattedValues ) {
+                       if( outputType === 'text/html' && wb.__formattedValues 
) {
                                for( var dataValueJson in wb.__formattedValues 
) {
                                        if( JSON.stringify( dataValue.toJSON() 
) === dataValueJson ) {
                                                deferred.resolve( 
wb.__formattedValues[dataValueJson], dataValue );
diff --git 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
index 752ff79..33d5932 100644
--- 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
+++ 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
@@ -76,11 +76,13 @@
                        function() { // class='wb-claim-$1'
                                return ( this._claim && this._claim.getGuid() ) 
|| 'new';
                        },
-                       '', // .wb-claim-mainsnak
+                       function() {
+                               return $( '<div/>' );
+                       }, // .wb-claim-mainsnak
                        '' // Qualifiers
                ],
                templateShortCuts: {
-                       '$mainSnak': '.wb-claim-mainsnak',
+                       '$mainSnak': '.wb-claim-mainsnak > :first-child',
                        '$qualifiers': '.wb-claim-qualifiers'
                },
                value: null,
diff --git 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
index ccdc315..f007759 100644
--- 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
+++ 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
@@ -1,5 +1,4 @@
 /**
- *
  * @licence GNU GPL v2+
  * @author Daniel Werner < daniel.wer...@wikimedia.de >
  */
@@ -313,27 +312,23 @@
                                return false; // no valueview created!
                        }
 
-                       var valueViewOptions = {
-                               value: dataValue,
-                               mediaWiki: mw
-                       };
-
+                       var valueViewOptions = { value: dataValue };
                        if( dataType ) {
-                               $.extend( valueViewOptions, {
-                                       dataTypeId: dataType.getId(),
-                                       dataValueType: 
dataType.getDataValueType()
-                               } );
+                               valueViewOptions.dataTypeId    = 
dataType.getId();
+                               valueViewOptions.dataValueType = 
dataType.getDataValueType();
                        } else if( dataValue ) {
-                               $.extend( valueViewOptions, {
-                                       dataValueType: dataValue.getType()
-                               } );
+                               valueViewOptions.dataValueType = 
dataValue.getType();
                        }
 
                        // TODO: Use something like an 'editview' and just 
change its data type rather than
-                       //  initializing this over and over again and doing the 
checks.
+                       // initializing this over and over again and doing the 
checks.
                        $valueViewDom.valueview( valueViewOptions );
                        this._valueView = $valueViewDom.data( 'valueview' );
 
+                       // Setting this option must be delayed, otherwise the 
deep copy call
+                       // $.extend( true, ... ) in _createWidget() will clone 
the full mw object.
+                       this._valueView.option( { mediaWiki: mw } );
+
                        return true;
                },
 
diff --git 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
index 1dc831a..fea19a6 100644
--- 
a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
+++ 
b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
@@ -28,15 +28,17 @@
                        function() { // class='wb-claim-$2'
                                return ( this._claim && this._claim.getGuid() ) 
|| 'new';
                        },
-                       '', // TODO: This toolbar placeholder should be removed 
from the template.
-                       '', // .wb-claim-mainsnak
+                       function() {
+                               return $( '<div/>' );
+                       }, // .wb-claim-mainsnak
                        '', // Qualifiers
+                       '', // TODO: This toolbar placeholder should be removed 
from the template.
                        '', // References heading
                        '' // List of references
                ],
                templateShortCuts: {
                        '$rankSelector': '.wb-statement-rank',
-                       '$mainSnak': '.wb-claim-mainsnak',
+                       '$mainSnak': '.wb-claim-mainsnak > :first-child',
                        '$qualifiers': '.wb-statement-qualifiers',
                        '$refsHeading': '.wb-statement-references-heading',
                        '$references': '.wb-statement-references'
diff --git a/extensions/Wikibase/lib/resources/wikibase.css 
b/extensions/Wikibase/lib/resources/wikibase.css
index 164f720..c148c50 100644
--- a/extensions/Wikibase/lib/resources/wikibase.css
+++ b/extensions/Wikibase/lib/resources/wikibase.css
@@ -594,7 +594,6 @@
 
 .wb-claimgrouplistview .wb-new .wb-claim-mainsnak {
        margin: 0 18em 0 15em;
-       padding: 10px;
 }
 
 .wb-claimgrouplistview .wb-new .wb-snak-property-container {
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/parsers/DateTimeParserTest.php 
b/extensions/Wikibase/lib/tests/phpunit/parsers/DateTimeParserTest.php
index 67e6503..c9e5912 100644
--- a/extensions/Wikibase/lib/tests/phpunit/parsers/DateTimeParserTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/parsers/DateTimeParserTest.php
@@ -45,8 +45,7 @@
 
                $valid = array(
 
-                       '10/10/10' =>
-                               array( '+0000000000002010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       // Normal / easy dates
                        '10/10/2010' =>
                                array( '+0000000000002010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '10.10.2010' =>
@@ -55,18 +54,10 @@
                                array( '+0000000000002010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '10/10/0010' =>
                                array( '+0000000000000010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
-                       '1/1/1' =>
-                               array( '+0000000000002001-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
-                       '1-1-1' =>
-                               array( '+0000000000002001-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '1 July 2013' =>
                                array( '+0000000000002013-07-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '1 Jul 2013' =>
                                array( '+0000000000002013-07-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
-                       '9 Jan 09' =>
-                               array( '+0000000000002009-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
-                       '2009-01-09' =>
-                               array( '+0000000000002009-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        'January 9 1920' =>
                                array( '+0000000000001920-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        'Feb 11 1930' =>
@@ -85,6 +76,57 @@
                                array( '+0000000000002013-07-03T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '4th July 2013' =>
                                array( '+0000000000002013-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+
+                       //Year first dates
+                       '2009-01-09' =>
+                               array( '+0000000000002009-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '55-01-09' =>
+                               array( '+0000000000000055-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '555-01-09' =>
+                               array( '+0000000000000555-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '33300-1-1' =>
+                               array( '+0000000000033300-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '3330002-1-1' =>
+                               array( '+0000000003330002-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+
+                       //Less than 4 digit years
+                       '10/10/10' =>
+                               array( '+0000000000000010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '9 Jan 09' =>
+                               array( '+0000000000000009-01-09T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '1/1/1' =>
+                               array( '+0000000000000001-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '1-1-1' =>
+                               array( '+0000000000000001-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '31-1-55' =>
+                               array( '+0000000000000055-01-31T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '10-10-100' =>
+                               array( '+0000000000000100-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '4th July 11' =>
+                               array( '+0000000000000011-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '4th July 111' =>
+                               array( '+0000000000000111-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '4th July 1' =>
+                               array( '+0000000000000001-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+
+                       //More than 4 digit years
+                       '4th July 10000' =>
+                               array( '+0000000000010000-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '10/10/22000' =>
+                               array( '+0000000000022000-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '1-1-33300' =>
+                               array( '+0000000000033300-01-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '4th July 7214614279199781' =>
+                               array( '+7214614279199781-07-04T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+
+                       //Testing Leap Year stuff
+                       '10000-02-29' =>
+                               array( '+0000000000010000-02-29T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '10100-02-29' =>
+                               array( '+0000000000010100-03-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                       '10400-02-29' =>
+                               array( '+0000000000010400-02-29T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+
 
                );
 
@@ -107,7 +149,6 @@
                        'Jann 2014',
 
                        // Not within the scope of this parser
-                       '1 July 20000', // The DateTime object cant parse years 
with more than 4 digits
                        '100BC', // The DateTime object cant parse BC years
                );
 
diff --git a/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserTest.php 
b/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserTest.php
index c2cc3ba..0b861c5 100644
--- a/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserTest.php
@@ -75,7 +75,7 @@
 
                        //Wikibase\Lib\DateTimeParser
                        '10/10/10' =>
-                               array( '+0000000000002010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
+                               array( '+0000000000000010-10-10T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '1 July 2013' =>
                                array( '+0000000000002013-07-01T00:00:00Z', 0 , 
0 , 0 , TimeValue::PRECISION_DAY , TimeFormatter::CALENDAR_GREGORIAN ),
                        '1 Jul 2013' =>
diff --git a/extensions/Wikibase/repo/Wikibase.i18n.php 
b/extensions/Wikibase/repo/Wikibase.i18n.php
index c6e0538..a23dac6 100644
--- a/extensions/Wikibase/repo/Wikibase.i18n.php
+++ b/extensions/Wikibase/repo/Wikibase.i18n.php
@@ -1496,13 +1496,17 @@
        'wikibase-undo-revision-error' => 'فشل عملية الرجوع',
        'wikibase-propertyedittool-full' => 'قائمة القيم اكتملت',
        'wikibase-aliases-label' => 'تعرف أيضا باسم:',
+       'wikibase-aliases-empty' => 'لم يتم تعريف أي كنية.',
        'wikibase-datatype-label' => 'نوع البيانات:',
+       'wikibase-statementview-rank-preferred' => 'الترتيب المفضل',
        'wikibase-snakview-property-input-placeholder' => 'خاصية',
        'wikibase-snakview-variations-somevalue-label' => 'قيمة مجهولة',
        'wikibase-snakview-variations-novalue-label' => 'لا قيمة',
        'wikibase-snakview-snaktypeselector-novalue' => 'لا قيمة',
        'wikibase-entityselector-more' => 'المزيد',
        'wikibase-itembytitle-lookup-site' => 'الموقع:',
+       'wikibase-itembytitle-submit' => 'بحث',
+       'special-itemdisambiguation' => 'توضيح العنصر',
        'wikibase-itemdisambiguation-lookup-language' => 'اللغة:',
        'wikibase-itemdisambiguation-submit' => 'بحث',
        'wikibase-itemdisambiguation-nothing-found' => 'عذراً، لم تم العثور على 
أي بند بهذه التسمية.',
@@ -3212,6 +3216,7 @@
        'wikibase-itemdisambiguation-lookup-label' => 'Štítek:',
        'wikibase-itemdisambiguation-submit' => 'Hledat',
        'wikibase-itemdisambiguation-nothing-found' => 'Omlouvám se, položka s 
tímto štítkem nenalezena',
+       'wikibase-itemdisambiguation-search' => 'Můžete 
[{{fullurl:Special:Search|search=$1}} zkusit položku vyhledat].',
        'wikibase-itemdisambiguation-create' => 'Můžete 
[{{fullurl:Special:NewItem|label=$1}} vytvořit položku].',
        'wikibase-itemdisambiguation-invalid-langcode' => 'Použitý 
identifikátor jazyka systém bohužel nezná. Použijte platný identifikátor, 
například „en“.',
        'special-newproperty' => 'Vytvořit novou vlastnost',
@@ -3289,7 +3294,7 @@
        'wikibase-dispatchstats-median' => 'Medián',
        'wikibase-dispatchstats-average' => 'Průměr',
        'special-listdatatypes' => 'Seznam dostupných datových typů',
-       'wikibase-listdatatypes-intro' => 'Toto je seznam všech datových typů v 
současné době používaných na této instalaci:',
+       'wikibase-listdatatypes-intro' => 'Toto je seznam všech datových typů 
dostupných na této instalaci:',
        'wikibase-history-title-with-label' => 'Historie verzí položky „$2“ 
($1)',
        'wikibase-history-title-without-label' => 'Historie verzí položky ($1)',
        'special-entitieswithoutdescription' => 'Entity bez popisu',
@@ -3304,6 +3309,7 @@
        'special-itemswithoutsitelinks' => 'Položky bez odkazů na články',
        'special-entitydata' => 'Data entity',
        'wikibase-entitydata-not-found' => 'Žádná entita s ID $1 nebyla 
nalezena.',
+       'wikibase-entitydata-not-acceptable' => 'Nenalezen žádný odpovídající 
formát. Podporované MIME typy: $1',
        'wikibase-entitydata-bad-revision' => 'Nelze zobrazit revizi $2 entity 
$1.',
        'wikibase-entitydata-bad-id' => 'Chybné ID: $1',
        'wikibase-entitydata-unsupported-format' => 'Toto rozhraní nepodporuje 
datový formát $1.',
@@ -3391,40 +3397,8 @@
        'content-model-wikibase-item' => 'Položka Wikibase',
        'content-model-wikibase-property' => 'Položka Wikibase',
        'content-model-wikibase-query' => 'Dotaz Wikibase',
-       'right-item-override' => 'Přepisování položek',
-       'right-item-create' => 'Vytváření položek',
-       'right-item-remove' => 'Mazání položek',
-       'right-property-override' => 'Přepisování vlastností',
+       'right-item-merge' => 'Slučování položek',
        'right-property-create' => 'Vytváření vlastností',
-       'right-property-remove' => 'Mazání vlastností',
-       'right-alias-remove' => 'Odstraňování aliasů',
-       'right-alias-update' => 'Aktualizace aliasů',
-       'right-sitelink-remove' => 'Odstraňování odkazů',
-       'right-sitelink-update' => 'Aktualizace odkazů na články',
-       'right-linktitles-update' => 'Aktualizace odkazů na články', # Fuzzy
-       'right-label-remove' => 'Odstraňování štítků', # Fuzzy
-       'right-label-update' => 'Aktualizovat štítky',
-       'right-description-remove' => 'Odstraňování popisů', # Fuzzy
-       'right-description-update' => 'Aktualizovat popisy',
-       'action-item-override' => 'přepisovat položky', # Fuzzy
-       'action-item-create' => 'vytvářet položky',
-       'action-item-remove' => 'mazat položky',
-       'action-property-override' => 'přepisovat vlastnosti',
-       'action-property-create' => 'vytvořit vlastnosti',
-       'action-property-remove' => 'mazat vlastnosti',
-       'action-alias-update' => 'aktualizovat aliasy',
-       'action-alias-remove' => 'odstranit aliasy',
-       'action-sitelink-remove' => 'odstranit odkazy',
-       'action-sitelink-update' => 'aktualizovat odkazy na články',
-       'action-label-remove' => 'odstranit štítky', # Fuzzy
-       'action-label-update' => 'aktualizovat štítky',
-       'action-description-remove' => 'mazat popisy',
-       'action-description-update' => 'aktualizovat popisy',
-       'wikibase-time-precision-Gannum' => 'za $1 
{{PLURAL:$1|miliardu|miliardy|miliard}} let',
-       'wikibase-time-precision-Mannum' => 'za $1 
{{PLURAL:$1|milion|miliony|milionů}} let',
-       'wikibase-time-precision-annum' => 'za $1 {{PLURAL:$1|rok|roky|let}}',
-       'wikibase-time-precision-millennium' => '$1. tisíciletí',
-       'wikibase-time-precision-century' => '$1. století',
 );
 
 /** Church Slavic (словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ)
@@ -3437,7 +3411,7 @@
        'wikibase-remove-inprogress' => 'поничьжєниѥ···',
        'wikibase-description-empty' => 'опьсаниꙗ ѥщє нѣстъ',
        'wikibase-sitelink-site-edit-placeholder' => 'мѣсто',
-       'wikibase-sitelink-page-edit-placeholder' => 'члѣнъ', # Fuzzy
+       'wikibase-sitelink-page-edit-placeholder' => 'страница',
        'wikibase-terms' => 'дроугꙑ ѩꙁꙑкꙑ',
        'wikibase-remove' => 'поничьжєниѥ',
        'wikibase-aliases-label' => 'вѣдомъ ѥстъ такождє ꙗко :',
@@ -5214,8 +5188,8 @@
        'wikibase-dispatchstats-median' => 'Medio',
        'wikibase-dispatchstats-average' => 'Media',
        'special-listdatatypes' => 'Enumerar todos los tipos de datos 
disponibles',
-       'wikibase-listdatatypes-intro' => 'Esta es una lista de todos los tipos 
de datos en uso actualmente en esta instalación:',
-       'wikibase-history-title-with-label' => 'Historial de revisiones de "$2" 
($1)',
+       'wikibase-listdatatypes-intro' => 'Esta es una lista de todos los tipos 
de datos en uso actualmente en esta instalación:', # Fuzzy
+       'wikibase-history-title-with-label' => 'Historial de revisiones de «$2» 
($1)',
        'wikibase-history-title-without-label' => 'Historial de revisiones de 
($1)',
        'special-entitieswithoutlabel' => 'Entidades sin etiqueta',
        'wikibase-entitieswithoutlabel-legend' => 'Obtener la lista de 
entidades sin etiqueta',
@@ -5305,6 +5279,7 @@
        'content-model-wikibase-item' => 'Elemento de Wikibase',
        'content-model-wikibase-property' => 'Propiedad de Wikibase',
        'content-model-wikibase-query' => 'Consulta de Wikibase',
+       'right-item-merge' => 'Combinar elementos',
        'right-property-create' => 'Crear propiedades',
 );
 
@@ -18129,7 +18104,7 @@
        'wikibase-dispatchstats-stats' => '发送统计',
        'wikibase-dispatchstats-change-id' => 'ID',
        'wikibase-dispatchstats-change-timestamp' => '时间戳',
-       'wikibase-dispatchstats-oldest-change' => '最早',
+       'wikibase-dispatchstats-oldest-change' => '最旧',
        'wikibase-dispatchstats-newest-change' => '最新',
        'wikibase-dispatchstats-site-id' => '网站',
        'wikibase-dispatchstats-pos' => '位置',
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 7b4e084..be6f821 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInit517ce9f813a8f1d80b8dfdcc1f88dff5::getLoader();
+return ComposerAutoloaderInitabc19352de6a6ec10a4cdef700c1db2c::getLoader();
diff --git a/vendor/composer/autoload_real.php 
b/vendor/composer/autoload_real.php
index 21b207e..5cb3f0b 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit517ce9f813a8f1d80b8dfdcc1f88dff5
+class ComposerAutoloaderInitabc19352de6a6ec10a4cdef700c1db2c
 {
     private static $loader;
 
@@ -19,9 +19,9 @@
             return self::$loader;
         }
 
-        
spl_autoload_register(array('ComposerAutoloaderInit517ce9f813a8f1d80b8dfdcc1f88dff5',
 'loadClassLoader'), true, true);
+        
spl_autoload_register(array('ComposerAutoloaderInitabc19352de6a6ec10a4cdef700c1db2c',
 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        
spl_autoload_unregister(array('ComposerAutoloaderInit517ce9f813a8f1d80b8dfdcc1f88dff5',
 'loadClassLoader'));
+        
spl_autoload_unregister(array('ComposerAutoloaderInitabc19352de6a6ec10a4cdef700c1db2c',
 'loadClassLoader'));
 
         $vendorDir = dirname(__DIR__);
         $baseDir = dirname($vendorDir);
@@ -45,14 +45,14 @@
 
         $includeFiles = require __DIR__ . '/autoload_files.php';
         foreach ($includeFiles as $file) {
-            composerRequire517ce9f813a8f1d80b8dfdcc1f88dff5($file);
+            composerRequireabc19352de6a6ec10a4cdef700c1db2c($file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire517ce9f813a8f1d80b8dfdcc1f88dff5($file)
+function composerRequireabc19352de6a6ec10a4cdef700c1db2c($file)
 {
     require $file;
 }
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 23803b4..ac424ca 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -877,12 +877,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "361f7774da3b40e02533708228279654259f603d"
+            "reference": "a5c1b9e581d26fd422afd6e76472f7f399d40fbc"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/361f7774da3b40e02533708228279654259f603d";,
-            "reference": "361f7774da3b40e02533708228279654259f603d",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/a5c1b9e581d26fd422afd6e76472f7f399d40fbc";,
+            "reference": "a5c1b9e581d26fd422afd6e76472f7f399d40fbc",
             "shasum": ""
         },
         "require": {
@@ -901,7 +901,7 @@
             "wikibase/data-model": "~0.7.2",
             "wikibase/easyrdf_lite": "~0.8.1"
         },
-        "time": "2014-03-21 09:38:56",
+        "time": "2014-03-22 09:43:36",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c82d397ba652409a5f363c6b3536cf4f20cda55
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