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