WikidataBuilder has uploaded a new change for review.
https://gerrit.wikimedia.org/r/263826
Change subject: New Wikidata Build - 2016-01-13T10:00:01+0000
......................................................................
New Wikidata Build - 2016-01-13T10:00:01+0000
Change-Id: Ia83ce5a9811f241ec1f672518851ffa3a4a71f38
---
M composer.lock
A extensions/ExternalValidation/i18n/id.json
M extensions/Wikibase/client/config/WikibaseClient.default.php
M extensions/Wikibase/client/i18n/bg.json
M extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
M extensions/Wikibase/client/includes/Usage/NullUsageTracker.php
M extensions/Wikibase/client/includes/Usage/SiteLinkUsageLookup.php
M extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php
M extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
M extensions/Wikibase/client/includes/Usage/UsageLookup.php
M extensions/Wikibase/client/includes/Usage/UsageTrackingSnakFormatter.php
M extensions/Wikibase/client/includes/WikibaseClient.php
M
extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
M extensions/Wikibase/docs/options.wiki
M extensions/Wikibase/lib/config/WikibaseLib.default.php
M extensions/Wikibase/lib/i18n/bg.json
M extensions/Wikibase/lib/i18n/hu.json
M extensions/Wikibase/lib/includes/DataTypeDefinitions.php
M extensions/Wikibase/lib/includes/LanguageWithConversion.php
M extensions/Wikibase/lib/includes/changes/ChangeRow.php
M extensions/Wikibase/lib/includes/formatters/ErrorHandlingSnakFormatter.php
M extensions/Wikibase/lib/includes/formatters/EscapingSnakFormatter.php
M extensions/Wikibase/lib/includes/formatters/EscapingValueFormatter.php
M extensions/Wikibase/lib/includes/formatters/PropertyValueSnakFormatter.php
M extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
M extensions/Wikibase/repo/config/Wikibase.default.php
M extensions/Wikibase/repo/i18n/bg.json
M extensions/Wikibase/repo/i18n/gl.json
M extensions/Wikibase/repo/i18n/hu.json
M extensions/Wikibase/repo/i18n/id.json
M extensions/Wikibase/repo/i18n/pt.json
M extensions/Wikibase/repo/includes/ChangeDispatcher.php
M extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php
M extensions/Wikibase/repo/includes/Hooks/EditFilterHookRunner.php
M extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
M extensions/Wikibase/repo/includes/Notifications/ChangeNotificationSender.php
M
extensions/Wikibase/repo/includes/Notifications/JobQueueChangeNotificationSender.php
M extensions/Wikibase/repo/includes/WikibaseRepo.php
M extensions/Wikibase/repo/includes/api/MergeItems.php
M extensions/Wikibase/repo/includes/specials/SpecialMergeItems.php
M extensions/Wikibase/repo/includes/store/ChangeDispatchCoordinator.php
M extensions/Wikibase/repo/includes/store/sql/DispatchStats.php
M extensions/Wikibase/repo/includes/store/sql/SqlChangeDispatchCoordinator.php
M
extensions/Wikibase/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php
M
extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
M
extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialMergeItemsTest.php
M vendor/composer/installed.json
49 files changed, 490 insertions(+), 157 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata
refs/changes/26/263826/1
diff --git a/composer.lock b/composer.lock
index 565bb1e..36b2dbe 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1194,7 +1194,7 @@
"source": {
"type": "git",
"url":
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityExternalValidation",
- "reference": "a69f33f6fa1820a063c3c006f1dc20ba6db9a2a4"
+ "reference": "17b1d8644a10776ecf0921ab69d743763896a032"
},
"require": {
"php": ">=5.3.0",
@@ -1242,7 +1242,7 @@
"support": {
"issues":
"https://phabricator.wikimedia.org/project/profile/1203/"
},
- "time": "2016-01-02 00:03:11"
+ "time": "2016-01-12 21:49:33"
},
{
"name": "wikibase/internal-serialization",
@@ -1448,12 +1448,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "a898b774afea645b3c17330723294fc6dd359ad4"
+ "reference": "2657287244ce617a9525cc4222a0e54d4b06e002"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/a898b774afea645b3c17330723294fc6dd359ad4",
- "reference": "a898b774afea645b3c17330723294fc6dd359ad4",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2657287244ce617a9525cc4222a0e54d4b06e002",
+ "reference": "2657287244ce617a9525cc4222a0e54d4b06e002",
"shasum": ""
},
"require": {
@@ -1524,7 +1524,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2016-01-11 21:54:58"
+ "time": "2016-01-13 08:07:49"
},
{
"name": "wikibase/wikimedia-badges",
diff --git a/extensions/ExternalValidation/i18n/id.json
b/extensions/ExternalValidation/i18n/id.json
new file mode 100644
index 0000000..a646b6c
--- /dev/null
+++ b/extensions/ExternalValidation/i18n/id.json
@@ -0,0 +1,49 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beeyan"
+ ]
+ },
+ "wbqev-desc": "Periksa ulang data dengan informasi yang sesuai di dalam
basis data eksternal",
+ "wbqev-crosscheck": "Periksa ulang dengan basis data eksternal",
+ "wbqev-crosscheck-explanation-general": "Laman khusus akan melakukan
pemeriksaan ulang antara butir-butir dalam Wikidata dan basis data eksternal.
Anda bisa memeriksa basis data yang kami gunakan pada laman khusus",
+ "wbqev-crosscheck-form-section": "Periksa ulang butir",
+ "wbqev-crosscheck-form-entityid-label": "Penanda butir:",
+ "wbqev-crosscheck-form-submit-label": "Periksa",
+ "wbqev-crosscheck-invalid-entity-id": "Penanda entitas itdak sahih!",
+ "wbqev-crosscheck-not-existent-entity": "Entitas tidak ada!",
+ "wbqev-crosscheck-result-headline": "Hasil untuk",
+ "wbqev-crosscheck-empty-result": "Entitas yang dimasukkan tidak
memiliki pernyataan yang dapat diperiksa ulang oleh basis data dukungan apa
saja.",
+ "wbqev-crosscheck-result-table-header-references": "Rujukan",
+ "wbqev-crosscheck-result-table-header-local-value": "Nilai Wikidata",
+ "wbqev-crosscheck-result-table-header-external-value": "Nilai
eksternal",
+ "wbqev-crosscheck-result-table-header-external-source": "Sumber
eksternal",
+ "wbqev-crosscheck-result-table-header-status": "Status",
+ "wbqev-crosscheck-status-match": "Kecocokan",
+ "wbqev-crosscheck-status-partial-match": "Kecocokan yang memungkinkan",
+ "wbqev-crosscheck-status-mismatch": "Ketidakcocokan",
+ "wbqev-crosscheck-status-references-missing": "hilang",
+ "wbqev-crosscheck-status-references-stated": "keadaan",
+ "wbqev-externaldbs": "Daftar basis data eksternal",
+ "wbqev-externaldbs-overview-headline": "Basis data",
+ "wbqev-externaldbs-name": "Nama",
+ "wbqev-externaldbs-id": "Penanda",
+ "wbqev-externaldbs-import-date": "Tanggal impor",
+ "wbqev-externaldbs-language": "Bahasa data",
+ "wbqev-externaldbs-source-urls": "Lokator Sumber Seragam (URL) Sumber",
+ "wbqev-externaldbs-size": "Ukuran",
+ "wbqev-externaldbs-license": "Lisensi",
+ "wbqev-externaldbs-no-databases": "Tidak tersedia basis data eksternal
untuk pemeriksaan ulang.",
+ "apihelp-wbqevcrosscheck-description": "Modul API untuk memeriksa ulang
entitas Wikibase terhadap data eksternal.",
+ "apihelp-wbqevcrosscheck-examples-1": "Menjalankan pemeriksaan ulang
untuk semua pernyataan dari butir dengan penanda Q76.",
+ "apihelp-wbqevcrosscheck-examples-2": "Menjalankan pemeriksaan ulang
untuk semua pernyataan dari butir dengan penanda Q76 dan butir dengan penanda
Q567",
+ "apihelp-wbqevcrosscheck-examples-3": "Menjalankan pemeriksaan ulang
untuk semua pernyataan dari butir dengan penanda Q76 dan butir dengan penanda
Q567 yang mempergunakan atribut dengan penanda P19.",
+ "apihelp-wbqevcrosscheck-examples-4": "Menjalankan pemeriksaan ulang
untuk semua pernyataan dari butir dengan penanda Q76 dan butir dengan penanda
Q567 yang mempergunakan atribut dengan penanda P19 atau P31.",
+ "apihelp-wbqevcrosscheck-examples-5": "Menjalankan pemeriksaan ulang
untuk klaim dengan Penanda Unik Global (GUID)
Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F.",
+ "wbq-subextension-name-wbqev": "Validasi eksternal",
+ "wbqev-violation-header-external-source": "Sumber eksternal",
+ "wbqev-violation-header-local-value": "Nilai Wikidata:",
+ "wbqev-violation-header-external-values": "Nilai eksternal:",
+ "wbqev-violation-short-message": "Nilai tidak cocok dengan sebuah nilai
dalam $1. Silakan klik ikon untuk informasi lebih lanjut.",
+ "wbqev-violation-mark-as-exception": "Tandai sebagai pengecualian"
+}
diff --git a/extensions/Wikibase/client/config/WikibaseClient.default.php
b/extensions/Wikibase/client/config/WikibaseClient.default.php
index 49c0dde..7c68e48 100644
--- a/extensions/Wikibase/client/config/WikibaseClient.default.php
+++ b/extensions/Wikibase/client/config/WikibaseClient.default.php
@@ -77,6 +77,18 @@
*/
'sharedCacheDuration' => 60 * 60,
+ /**
+ * List of data types (by data type id) not enabled on the wiki.
+ * This setting is intended to aid with deployment of new data
types
+ * or on new Wikibase installs without items and properties yet.
+ *
+ * This setting should be consistent with the corresponding
setting on the repo.
+ *
+ * WARNING: Disabling a data type after it is in use is
dangerous
+ * and might break items.
+ */
+ 'disabledDataTypes' => array(),
+
// The type of object cache to use. Use CACHE_XXX constants.
// This is both a repo and client setting, and should be set to
the same value in
// repo and clients for multiwiki setups.
diff --git a/extensions/Wikibase/client/i18n/bg.json
b/extensions/Wikibase/client/i18n/bg.json
index a2aec19..4f2aebd 100644
--- a/extensions/Wikibase/client/i18n/bg.json
+++ b/extensions/Wikibase/client/i18n/bg.json
@@ -5,7 +5,8 @@
"Mitzev",
"Spiritia",
"StanProg",
- "Borislav"
+ "Borislav",
+ "Vodnokon4e"
]
},
"tooltip-t-wikibase": "Препратка към свързаният обект от хранилището за
данни",
@@ -23,6 +24,8 @@
"wikibase-editlinkstitle": "Редактиране на междуезиковите препратки",
"wikibase-linkitem-addlinks": "Добавяне на препратки",
"wikibase-linkitem-failure": "При опита за свързване с дадената
страница възникна неизвестна грешка.",
+ "wikibase-linkitem-title": "Свържи със страница",
+ "wikibase-linkitem-linkpage": "Свържи със страница",
"wikibase-linkitem-selectlink": "Изберете сайта и страницата от него,
която искате да свърже с тази.",
"wikibase-linkitem-input-site": "Език:",
"wikibase-linkitem-input-page": "Страница:",
@@ -37,6 +40,9 @@
"wikibase-rc-wikibase-edit-title": "Редакция от {{WBREPONAME}}",
"wikibase-replicationnote": "Може да отнеме няколко минути, докато
промените се отразят във всички уикита.",
"wikibase-watchlist-show-changes-pref": "Показване на редакции от
{{WBREPONAME}} в списъка ми за наблюдение",
+ "wikibase-unconnectedpages-submit": "Показване на страниците",
+ "wikibase-pageswithbadges-submit": "Показване на страниците",
"wikibase-pageinfo-entity-id": "ID на обекта в {{WBREPONAME}}",
+ "wikibase-pageinfo-entity-id-none": "Няма",
"wikibase-otherprojects": "Други проекти"
}
diff --git
a/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
b/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
index 712d1c1..a6d9aa7 100644
--- a/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
+++ b/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
@@ -178,7 +178,7 @@
*
* @param EntityChange $change
*
- * @return Iterator<PageEntityUsages>
+ * @return Iterator of PageEntityUsages
*/
private function getAffectedPages( EntityChange $change ) {
$entityId = $change->getEntityId();
@@ -276,9 +276,9 @@
* Filters updates based on namespace. This removes duplicates,
non-existing pages, and pages from
* namespaces that are not considered "enabled" by the namespace
checker.
*
- * @param PageEntityUsages[]|Iterator<PageEntityUsages> $updates
+ * @param PageEntityUsages[]|Iterator $usages An array or iterator of
PageEntityUsages.
*
- * @return Iterator<PageEntityUsages>
+ * @return Iterator of PageEntityUsages
*/
private function filterUpdates( $usages ) {
$titlesToUpdate = array();
diff --git a/extensions/Wikibase/client/includes/Usage/NullUsageTracker.php
b/extensions/Wikibase/client/includes/Usage/NullUsageTracker.php
index 6464ee2..e52242a 100644
--- a/extensions/Wikibase/client/includes/Usage/NullUsageTracker.php
+++ b/extensions/Wikibase/client/includes/Usage/NullUsageTracker.php
@@ -65,7 +65,7 @@
* @param EntityId[] $entities
* @param string[] $aspects
*
- * @return Iterator<PageEntityUsages>
+ * @return Iterator Always empty.
*/
public function getPagesUsing( array $entities, array $aspects =
array() ) {
return new ArrayIterator();
diff --git a/extensions/Wikibase/client/includes/Usage/SiteLinkUsageLookup.php
b/extensions/Wikibase/client/includes/Usage/SiteLinkUsageLookup.php
index 5903d83..539e865 100644
--- a/extensions/Wikibase/client/includes/Usage/SiteLinkUsageLookup.php
+++ b/extensions/Wikibase/client/includes/Usage/SiteLinkUsageLookup.php
@@ -82,7 +82,7 @@
* @param string[] $aspects Which aspects to consider (if omitted, all
aspects are considered).
* Use the EntityUsage::XXX_USAGE constants to represent aspects.
*
- * @return Iterator<PageEntityUsages>
+ * @return Iterator of PageEntityUsages
* @throws UsageTrackerException
*/
public function getPagesUsing( array $entityIds, array $aspects =
array() ) {
diff --git a/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php
b/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php
index 3e24ed8..4304c95 100644
--- a/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php
+++ b/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php
@@ -347,7 +347,7 @@
* @param EntityId[] $entityIds
* @param string[] $aspects
*
- * @return Iterator<PageEntityUsages> An iterator over entity usages
grouped by page
+ * @return Iterator An iterator over PageEntityUsages grouped by page.
*/
public function getPagesUsing( array $entityIds, array $aspects =
array() ) {
if ( empty( $entityIds ) ) {
diff --git a/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
b/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
index 710f929..d69f75e 100644
--- a/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
+++ b/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
@@ -216,7 +216,7 @@
* @param EntityId[] $entityIds
* @param string[] $aspects
*
- * @return Iterator<PageEntityUsages> An iterator over entity usages
grouped by page
+ * @return Iterator An iterator over PageEntityUsages grouped by page.
* @throws UsageTrackerException
*/
public function getPagesUsing( array $entityIds, array $aspects =
array() ) {
diff --git a/extensions/Wikibase/client/includes/Usage/UsageLookup.php
b/extensions/Wikibase/client/includes/Usage/UsageLookup.php
index 79a5c16..9ff40d0 100644
--- a/extensions/Wikibase/client/includes/Usage/UsageLookup.php
+++ b/extensions/Wikibase/client/includes/Usage/UsageLookup.php
@@ -32,7 +32,7 @@
* @param string[] $aspects Which aspects to consider (if omitted, all
aspects are considered).
* Use the EntityUsage::XXX_USAGE constants to represent aspects.
*
- * @return Iterator<PageEntityUsages> An iterator over PageEntityUsages
of pages using any of the given entities.
+ * @return Iterator An iterator over PageEntityUsages of pages using
any of the given entities.
* If $aspects is given, only usages of these aspects are
included in the result.
* @throws UsageTrackerException
*/
diff --git
a/extensions/Wikibase/client/includes/Usage/UsageTrackingSnakFormatter.php
b/extensions/Wikibase/client/includes/Usage/UsageTrackingSnakFormatter.php
index f5eda70..a52952e 100644
--- a/extensions/Wikibase/client/includes/Usage/UsageTrackingSnakFormatter.php
+++ b/extensions/Wikibase/client/includes/Usage/UsageTrackingSnakFormatter.php
@@ -51,7 +51,7 @@
*
* @param Snak $snak
*
- * @return string Either plain text, wikitext or HTML, depending on the
$snakFormatter provided.
+ * @return string Either plain text, wikitext or HTML, depending on the
SnakFormatter provided.
*/
public function formatSnak( Snak $snak ) {
if ( $snak instanceof PropertyValueSnak ) {
diff --git a/extensions/Wikibase/client/includes/WikibaseClient.php
b/extensions/Wikibase/client/includes/WikibaseClient.php
index c8ec0ab..29eb79f 100644
--- a/extensions/Wikibase/client/includes/WikibaseClient.php
+++ b/extensions/Wikibase/client/includes/WikibaseClient.php
@@ -485,10 +485,15 @@
$dataTypeDefinitions = $wgWBClientDataTypes;
Hooks::run( 'WikibaseClientDataTypes', array(
&$dataTypeDefinitions ) );
+ $settings = new SettingsArray( $wgWBClientSettings );
+
return new self(
- new SettingsArray( $wgWBClientSettings ),
+ $settings,
$wgContLang,
- new DataTypeDefinitions( $dataTypeDefinitions )
+ new DataTypeDefinitions(
+ $dataTypeDefinitions,
+ $settings->getSetting( 'disabledDataTypes' )
+ )
);
}
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
index 7119bf6..f86dce8 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
@@ -5,6 +5,7 @@
use ArrayIterator;
use DataValues\DataValue;
use DataValues\StringValue;
+use Iterator;
use Title;
use Wikibase\Client\Changes\AffectedPagesFinder;
use Wikibase\Client\Store\TitleFactory;
@@ -558,7 +559,7 @@
}
/**
- * @param PageEntityUsages[]|Iterator<PageEntityUsages> $usagesPerPage
+ * @param PageEntityUsages[]|Iterator $usagesPerPage An array or
iterator of PageEntityUsages.
*
* @return PageEntityUsages[]
*/
diff --git a/extensions/Wikibase/docs/options.wiki
b/extensions/Wikibase/docs/options.wiki
index aacf5d6..f574822 100644
--- a/extensions/Wikibase/docs/options.wiki
+++ b/extensions/Wikibase/docs/options.wiki
@@ -30,12 +30,10 @@
:'''Warning:''' do not change this if you already have Wikibase entities in
your database, since they may become unreadable!
;useChangesTable: Whether to record changes in the database, so they can be
pushed to clients. Boolean, defaults to <code>true</code>. May be set to false
in situations where there are no clients to notify, to preserve space.
'''Note''' that if this is true, the <code>pruneChanges.php</code> script
should be run periodically to remove old changes from the database table.
;changeHandlers: Array mapping change type IDs to handler classes. May be used
by extensions to register additional change classes.
-;dataTypes: Array listing the available data types that can be used in snaks
(and thus in claims and statements). The relevant data type identifiers are
defined by the DataType extension. Default:
+;disabledDataTypes: Array listing of disabled data types on a wiki. This
setting is intended to be used a new Wikibase install without items yet, or to
control deployment of new data types. This setting should be set the same in
the client and repo settings.
+Default:
<poem>
- array(
- 'wikibase-item',
- 'commonsMedia',
- )
+ array()
</poem>
;maxSerializedEntitySize: The maximum serialized size of entities, in KB.
Loading and storing will fail if this size is exceeded. This is intended as a
hard limit that prevents very large chunks of data being stored or processed
due to abuse or erroneous code. Defaults to MediaWiki core's $wgMaxArticleSize
setting.
diff --git a/extensions/Wikibase/lib/config/WikibaseLib.default.php
b/extensions/Wikibase/lib/config/WikibaseLib.default.php
index de19c74..b530ff1 100644
--- a/extensions/Wikibase/lib/config/WikibaseLib.default.php
+++ b/extensions/Wikibase/lib/config/WikibaseLib.default.php
@@ -60,19 +60,6 @@
'wikibase-query~restore' => 'Wikibase\EntityChange',
),
- 'dataTypes' => array(
- 'commonsMedia',
- 'globe-coordinate',
- 'quantity',
- 'monolingualtext',
- 'string',
- 'time',
- 'url',
- 'external-id',
- 'wikibase-item',
- 'wikibase-property',
- ),
-
'maxSerializedEntitySize' => $GLOBALS['wgMaxArticleSize'],
);
diff --git a/extensions/Wikibase/lib/i18n/bg.json
b/extensions/Wikibase/lib/i18n/bg.json
index 5ea236c..9073717 100644
--- a/extensions/Wikibase/lib/i18n/bg.json
+++ b/extensions/Wikibase/lib/i18n/bg.json
@@ -18,9 +18,15 @@
"wikibase-error-autocomplete-response": "Отговор на сървъра: $1",
"wikibase-error-ui-no-external-page": "Посочената статия не беше
намерена в съответния сайт.",
"wikibase-error-ui-edit-conflict": "Настъпил е конфликт на редакции.
Презаредете и съхранете отново.",
+ "wikibase-timedetails-timezone": "Часова зона",
+ "wikibase-timedetails-calendar": "Календар",
+ "wikibase-timedetails-before": "Преди",
+ "wikibase-timedetails-after": "След",
+ "wikibase-globedetails-longitude": "Географска дължина",
+ "wikibase-globedetails-latitude": "Географска ширина",
"wikibase-sitelinks-wikipedia": "Уикипедия",
"wikibase-sitelinks-sitename-columnheading": "Език",
- "wikibase-sitelinks-link-columnheading": "Свързана статия",
+ "wikibase-sitelinks-link-columnheading": "Свързана страница",
"wikibase-snakview-snaktypeselector-somevalue": "неизвестна стойност",
"wikibase-snakview-snaktypeselector-novalue": "без стойност",
"wikibase-tooltip-error-details": "Подробности",
diff --git a/extensions/Wikibase/lib/i18n/hu.json
b/extensions/Wikibase/lib/i18n/hu.json
index 3214be9..0c6e070 100644
--- a/extensions/Wikibase/lib/i18n/hu.json
+++ b/extensions/Wikibase/lib/i18n/hu.json
@@ -19,12 +19,32 @@
"wikibase-error-autocomplete-response": "A szerver válasza: $1",
"wikibase-error-ui-no-external-page": "A megadott cikk nem található a
megadott wikin.",
"wikibase-error-ui-edit-conflict": "Szerkesztési ütközés történt.
Kérlek, töltsd újra a lapot, és mentsd el újra.",
+ "wikibase-quantitydetails-amount": "Mennyiség",
+ "wikibase-quantitydetails-upperbound": "Alsó határ",
+ "wikibase-quantitydetails-lowerbound": "Felső határ",
+ "wikibase-quantitydetails-unit": "Egység",
+ "wikibase-timedetails-isotime": "Időbélyeg",
+ "wikibase-timedetails-timezone": "Időzóna",
+ "wikibase-timedetails-calendar": "Naptár",
+ "wikibase-timedetails-precision": "Pontosság",
+ "wikibase-timedetails-before": "Előtte",
+ "wikibase-timedetails-after": "Utána",
+ "wikibase-globedetails-longitude": "Hosszúság",
+ "wikibase-globedetails-latitude": "Szélesség",
+ "wikibase-globedetails-precision": "Pontosság",
+ "wikibase-globedetails-globe": "Bolygó",
+ "wikibase-parse-error": "Rosszul formázott érték.",
+ "wikibase-parse-error-coordinate": "A koordinátaérték formátuma hibás.",
+ "wikibase-parse-error-quantity": "A mennyiségérték formátuma hibás.",
+ "wikibase-parse-error-time": "Az időérték formátuma hibás.",
"wikibase-sitelinks-wikipedia": "Wikipédia",
"wikibase-sitelinks-sitename-columnheading": "Nyelv",
"wikibase-sitelinks-link-columnheading": "Kapcsolt oldal",
"wikibase-snakview-snaktypeselector-somevalue": "ismeretlen érték",
"wikibase-snakview-snaktypeselector-novalue": "nincs érték",
"wikibase-tooltip-error-details": "Részletek",
+ "wikibase-undeserializable-value": "Az érték érvénytelen és nem
jeleníthető meg.",
+ "wikibase-validator-invalid": "Érvénytelen érték",
"datatypes-type-wikibase-item": "Tétel",
"datatypes-type-commonsMedia": "Commons médiafájl",
"wikibase-entity-summary-wbsetitem": "Fogalom létrehozása",
diff --git a/extensions/Wikibase/lib/includes/DataTypeDefinitions.php
b/extensions/Wikibase/lib/includes/DataTypeDefinitions.php
index fa1766c..efa04e5 100644
--- a/extensions/Wikibase/lib/includes/DataTypeDefinitions.php
+++ b/extensions/Wikibase/lib/includes/DataTypeDefinitions.php
@@ -53,9 +53,16 @@
* (with the prefix "PT:") and value types (with the prefix "VT:") to
data type definitions.
* Each data type definitions are associative arrays, refer to the
class level documentation
* for details.
+ * @param string[] $disabledDataTypes Array of disabled data types.
*/
- public function __construct( $dataTypeDefinitions = array() ) {
- Assert::parameterElementType( 'array', $dataTypeDefinitions,
'$dataTypeDefinitions' );
+ public function __construct(
+ array $dataTypeDefinitions = array(),
+ array $disabledDataTypes = array()
+ ) {
+ $dataTypeDefinitions = $this->filterDisabledDataTypes(
+ $dataTypeDefinitions,
+ $disabledDataTypes
+ );
$this->registerDataTypes( $dataTypeDefinitions );
}
@@ -74,7 +81,11 @@
Assert::parameterElementType( 'array', $dataTypeDefinitions,
'$dataTypeDefinitions' );
foreach ( $dataTypeDefinitions as $id => $def ) {
- Assert::parameter( strpos( $id, ':' ),
"\$dataTypeDefinitions[$id]", 'Key must start with a prefix like "PT:" or
"VT:".' );
+ Assert::parameter(
+ strpos( $id, ':' ),
+ "\$dataTypeDefinitions[$id]",
+ 'Key must start with a prefix like "PT:" or
"VT:".'
+ );
if ( isset( $this->dataTypeDefinitions[$id] ) ) {
$this->dataTypeDefinitions[$id] = array_merge(
@@ -88,6 +99,24 @@
}
/**
+ * @param array[] $dataTypeDefinitions Associative array of data types
and definitions.
+ * @param string[] $disabledTypes List of disabled data types
+ *
+ * @return array[] Filtered data type definitions
+ */
+ private function filterDisabledDataTypes( array $dataTypeDefinitions,
array $disabledTypes ) {
+ foreach ( $dataTypeDefinitions as $id => $def ) {
+ if ( 0 === strpos( $id, 'PT' ) ) {
+ if ( in_array( substr( $id, 3 ), $disabledTypes
) ) {
+ unset( $dataTypeDefinitions[$id] );
+ }
+ }
+ }
+
+ return $dataTypeDefinitions;
+ }
+
+ /**
* @param array $map
* @param string $prefix
*
diff --git a/extensions/Wikibase/lib/includes/LanguageWithConversion.php
b/extensions/Wikibase/lib/includes/LanguageWithConversion.php
index 43461f6..10e2107 100644
--- a/extensions/Wikibase/lib/includes/LanguageWithConversion.php
+++ b/extensions/Wikibase/lib/includes/LanguageWithConversion.php
@@ -101,8 +101,8 @@
/**
* Get a LanguageWithConversion object.
*
- * @param $language Language|string: Language (code) for this object
- * @param $sourceLanguage null|Language|string:
+ * @param Language|string $language Language (code) for this object
+ * @param Language|string|null $sourceLanguage
* Source language (code) if this is a converted language, or
null
*
* @throws MWException
@@ -225,7 +225,7 @@
/**
* Translate data after fetching them.
*
- * @param $text String: Data to transform
+ * @param string $text Data to transform
* @return String: Result
*/
public function translate( $text ) {
diff --git a/extensions/Wikibase/lib/includes/changes/ChangeRow.php
b/extensions/Wikibase/lib/includes/changes/ChangeRow.php
index a95529f..4018468 100644
--- a/extensions/Wikibase/lib/includes/changes/ChangeRow.php
+++ b/extensions/Wikibase/lib/includes/changes/ChangeRow.php
@@ -88,7 +88,7 @@
* @since 0.4
*
* @param string $name Field name
- * @param $default mixed: Default value to return when none is found
+ * @param mixed $default Default value to return when none is found
* (default: null)
*
* @throws MWException
diff --git
a/extensions/Wikibase/lib/includes/formatters/ErrorHandlingSnakFormatter.php
b/extensions/Wikibase/lib/includes/formatters/ErrorHandlingSnakFormatter.php
index a9d5b5a..132d5fb 100644
--- a/extensions/Wikibase/lib/includes/formatters/ErrorHandlingSnakFormatter.php
+++ b/extensions/Wikibase/lib/includes/formatters/ErrorHandlingSnakFormatter.php
@@ -61,7 +61,7 @@
*
* @throws InvalidArgumentException
* @throws FormattingException
- * @return string Either plain text, wikitext or HTML, depending on the
$snakFormatter provided.
+ * @return string Either plain text, wikitext or HTML, depending on the
SnakFormatter provided.
*/
public function formatSnak( Snak $snak ) {
try {
diff --git
a/extensions/Wikibase/lib/includes/formatters/EscapingSnakFormatter.php
b/extensions/Wikibase/lib/includes/formatters/EscapingSnakFormatter.php
index 69566a5..b9f05bd 100644
--- a/extensions/Wikibase/lib/includes/formatters/EscapingSnakFormatter.php
+++ b/extensions/Wikibase/lib/includes/formatters/EscapingSnakFormatter.php
@@ -4,15 +4,23 @@
use Wikibase\DataModel\Snak\Snak;
use Wikimedia\Assert\Assert;
+use Wikimedia\Assert\ParameterTypeException;
/**
* EscapingSnakFormatter wraps another SnakFormatter and
* applies a transformation (escaping) to that formatter's output.
*
+ * @since 0.5
+ *
* @license GPL 2+
* @author Daniel Kinzler
*/
class EscapingSnakFormatter implements SnakFormatter {
+
+ /**
+ * @var string One of the SnakFormatter::FORMAT_... constants.
+ */
+ private $format;
/**
* @var SnakFormatter
@@ -25,14 +33,11 @@
private $escapeCallback;
/**
- * @var string One of the SnakFormatter::FORMAT_... constants.
- */
- private $format;
-
- /**
* @param string $format One of the SnakFormatter::FORMAT_... constants.
- * @param SnakFormatter $formatter
+ * @param SnakFormatter $formatter A formatter returning plain text.
* @param callable $escapeCallback A callable taking plain text and
returning escaped text.
+ *
+ * @throws ParameterTypeException
*/
public function __construct( $format, SnakFormatter $formatter,
$escapeCallback ) {
Assert::parameterType( 'string', $format, '$format' );
@@ -48,7 +53,7 @@
*
* @param Snak $snak
*
- * @return string Either wikitext or HTML, depending on the
$escapeCallback provided.
+ * @return string Typically wikitext or HTML, depending on the
$escapeCallback provided.
*/
public function formatSnak( Snak $snak ) {
$text = $this->formatter->formatSnak( $snak );
diff --git
a/extensions/Wikibase/lib/includes/formatters/EscapingValueFormatter.php
b/extensions/Wikibase/lib/includes/formatters/EscapingValueFormatter.php
index 27072a1..d363f0a 100644
--- a/extensions/Wikibase/lib/includes/formatters/EscapingValueFormatter.php
+++ b/extensions/Wikibase/lib/includes/formatters/EscapingValueFormatter.php
@@ -9,6 +9,8 @@
* EscapingValueFormatter wraps another ValueFormatter and
* applies a transformation (escaping) to that formatter's output.
*
+ * @since 0.5
+ *
* @license GPL 2+
* @author Daniel Kinzler
*/
@@ -25,8 +27,9 @@
private $escapeCallback;
/**
- * @param ValueFormatter $formatter
+ * @param ValueFormatter $formatter A formatter returning plain text.
* @param callable $escapeCallback A callable taking plain text and
returning escaped text.
+ *
* @throws InvalidArgumentException
*/
public function __construct( ValueFormatter $formatter, $escapeCallback
) {
@@ -39,11 +42,11 @@
}
/**
- * @since 0.1
+ * @see ValueFormatter::format
*
* @param mixed $value
*
- * @return string
+ * @return string Typically wikitext or HTML, depending on the
$escapeCallback provided.
*/
public function format( $value ) {
$text = $this->formatter->format( $value );
diff --git
a/extensions/Wikibase/lib/includes/formatters/PropertyValueSnakFormatter.php
b/extensions/Wikibase/lib/includes/formatters/PropertyValueSnakFormatter.php
index 2ee1d2f..f86ab0e 100644
--- a/extensions/Wikibase/lib/includes/formatters/PropertyValueSnakFormatter.php
+++ b/extensions/Wikibase/lib/includes/formatters/PropertyValueSnakFormatter.php
@@ -90,7 +90,7 @@
* @throws InvalidArgumentException
* @throws MismatchingDataValueTypeException
* @throws FormattingException
- * @return string Either plain text, wikitext or HTML, depending on the
$valueFormatter
+ * @return string Either plain text, wikitext or HTML, depending on the
ValueFormatter
* provided.
*/
public function formatSnak( Snak $snak ) {
@@ -171,7 +171,7 @@
* @param string|null $dataTypeId
*
* @throws FormattingException
- * @return string Either plain text, wikitext or HTML, depending on the
$valueFormatter
+ * @return string Either plain text, wikitext or HTML, depending on the
ValueFormatter
* provided.
*/
private function formatValue( DataValue $value, $dataTypeId = null ) {
diff --git a/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
b/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
index 569dfb4..c4aed4e 100644
--- a/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/DataTypeDefinitionsTest.php
@@ -16,8 +16,8 @@
*/
class DataTypeDefinitionsTest extends \MediaWikiTestCase {
- private function getDataTypeDefinitions() {
- $definitions = array(
+ private function getDefinitions() {
+ return array(
'VT:FOO' => array(
'formatter-factory-callback' =>
'DataTypeDefinitionsTest::getFooValueFormatter',
'parser-factory-callback' =>
'DataTypeDefinitionsTest::getFooValueParser',
@@ -34,8 +34,10 @@
'formatter-factory-callback' =>
'DataTypeDefinitionsTest::getBarFormatter',
)
);
+ }
- return new DataTypeDefinitions( $definitions );
+ private function getDataTypeDefinitions() {
+ return new DataTypeDefinitions( $this->getDefinitions() );
}
public function testTypeIds() {
@@ -129,4 +131,21 @@
);
}
+ public function testDataTypeDefinitions_onlySomeDataTypesEnabled() {
+ $definitions = $this->getDefinitions();
+ $defs = new DataTypeDefinitions( $definitions, array( 'bar' ) );
+
+ $this->assertSame(
+ array( 'foo' ),
+ $defs->getTypeIds(),
+ 'data type ids'
+ );
+
+ $this->assertSame(
+ array( 'VT:FOO' =>
'DataTypeDefinitionsTest::getFooValueFormatter' ),
+ $defs->getFormatterFactoryCallbacks(
DataTypeDefinitions::PREFIXED_MODE ),
+ 'formatter factory callbacks, prefixed mode'
+ );
+ }
+
}
diff --git a/extensions/Wikibase/repo/config/Wikibase.default.php
b/extensions/Wikibase/repo/config/Wikibase.default.php
index 8bc11c5..5fc6239 100644
--- a/extensions/Wikibase/repo/config/Wikibase.default.php
+++ b/extensions/Wikibase/repo/config/Wikibase.default.php
@@ -123,6 +123,18 @@
// repo and clients for multiwiki setups.
'sharedCacheType' => $GLOBALS['wgMainCacheType'],
+ /**
+ * List of data types (by data type id) not enabled on the wiki.
+ * This setting is intended to aid with deployment of new data
types
+ * or on new Wikibase installs without items and properties yet.
+ *
+ * This setting should be consistent with the corresponding
setting on the client.
+ *
+ * WARNING: Disabling a data type after it is in use is
dangerous
+ * and might break items.
+ */
+ 'disabledDataTypes' => array(),
+
// Special non-canonical languages and their BCP 47 mappings
// Based on:
https://meta.wikimedia.org/wiki/Special_language_codes
'canonicalLanguageCodes' => array(
diff --git a/extensions/Wikibase/repo/i18n/bg.json
b/extensions/Wikibase/repo/i18n/bg.json
index 912a9be..407a10a 100644
--- a/extensions/Wikibase/repo/i18n/bg.json
+++ b/extensions/Wikibase/repo/i18n/bg.json
@@ -59,6 +59,7 @@
"wikibase-itembytitle-lookup-fieldset": "Търсене на обекти по сайт и
заглавие",
"wikibase-itembytitle-lookup-site": "Сайт:",
"wikibase-itembytitle-lookup-page": "Страница:",
+ "wikibase-itembytitle-submit": "Търсене",
"wikibase-itemdisambiguation-lookup-language": "Езиков код:",
"wikibase-itemdisambiguation-submit": "Търсене",
"special-newproperty": "Създаване на ново свойство",
@@ -68,13 +69,27 @@
"special-newitem": "Създаване на нов обект",
"wikibase-newitem-fieldset": "Създаване на нов обект",
"wikibase-newitem-no-external-page": "Посочената страница не беше
намерена в съответния сайт.",
+ "wikibase-newentity-language": "Език:",
+ "wikibase-newentity-description": "Описание:",
"wikibase-setdescription-label": "Описание:",
+ "wikibase-setlabeldescriptionaliases-description-label": "Описание:",
"wikibase-modifyterm-language": "Езиков код:",
+ "wikibase-dispatchstats-oldest-change": "Най-старите",
+ "wikibase-dispatchstats-newest-change": "Най-новите",
"special-listdatatypes": "Списък на всички налични типове данни",
"wikibase-listdatatypes-intro": "Това е списък на всички типове данни,
които в момента се използват в тази инсталация:",
+ "wikibase-listproperties-datatype": "Тип на данните:",
+ "wikibase-listproperties-all": "Всички типове данни",
+ "wikibase-listproperties-submit": "Търсене",
"wikibase-entitieswithoutlabel-label-language": "Езиков код:",
+ "wikibase-entitieswithoutlabel-label-type": "Тип:",
+ "wikibase-entitieswithoutlabel-label-alltypes": "всички",
+ "wikibase-entitieswithoutlabel-submit": "Търсене",
"wikibase-entitieswithoutlabel-invalid-language": "\"$1\" не е валиден
езиков код.",
"special-itemswithoutsitelinks": "Обекти без междуезикови препратки",
+ "wikibase-restoreold": "възстановяване",
+ "wikibase-listdatatypes-url-head": "URL адрес",
+ "datatypes-type-url": "URL адрес",
"content-model-wikibase-item": "Обект в Уикиданни",
"content-model-wikibase-property": "Свойство в Уикиданни",
"content-model-wikibase-query": "Заявка към Уикиданни"
diff --git a/extensions/Wikibase/repo/i18n/gl.json
b/extensions/Wikibase/repo/i18n/gl.json
index ede2968..f32b9e9 100644
--- a/extensions/Wikibase/repo/i18n/gl.json
+++ b/extensions/Wikibase/repo/i18n/gl.json
@@ -110,6 +110,7 @@
"wikibase-validator-label-conflict": "A propiedade $3 xa ten a etiqueta
\"$1\" asociada ao código de lingua $2.",
"wikibase-validator-label-with-description-conflict": "O elemento $3 xa
ten a etiqueta \"$1\" asociada ao código de lingua $2, co mesmo texto de
descrición.",
"wikibase-validator-label-no-entityid": "A etiqueta non pode ser un
identificador de entidade válido.",
+ "wikibase-validator-no-such-media": "O ficheiro \"$1\" non existe en
[https://commons.wikimedia.org/ Wikimedia Commons].",
"wikibase-wikibaserepopage-not-itemid": "\"$1\" non é un identificador
de elemento válido.",
"wikibase-wikibaserepopage-invalid-langcode": "Descoñécese o código de
lingua \"$1\". Utilice un código de lingua coñecido para o sistema, como
\"gl\".",
"wikibase-wikibaserepopage-invalid-id": "O sistema descoñece o ID
\"$1\". Utilice un identificador de entidade válido.",
@@ -373,6 +374,7 @@
"apihelp-wbformatvalue-param-datatype": "O tipo de dato do valor. Isto
é diferente do tipo do valor",
"apihelp-wbformatvalue-param-datavalue": "Datos a formatar. Isto ten
que ser a serialización JSON dun obxecto DataValue.",
"apihelp-wbformatvalue-param-options": "As opcións que o formatador
debería usar. Proporcionadas como un obxecto JSON.",
+ "apihelp-wbformatvalue-param-property": "A propiedade id á que pertence
o valor de dato, debería usarse no canto do parámetro do tipo de dato.",
"apihelp-wbformatvalue-example-1": "Formatea un valor dunha cadea
simple de texto.",
"apihelp-wbformatvalue-example-2": "Formatea un valor dunha cadea de
texto como unha URL en HTML.",
"apihelp-wbgetclaims-description": "Obtén afirmacións de Wikibase.",
diff --git a/extensions/Wikibase/repo/i18n/hu.json
b/extensions/Wikibase/repo/i18n/hu.json
index f972c32..3835136 100644
--- a/extensions/Wikibase/repo/i18n/hu.json
+++ b/extensions/Wikibase/repo/i18n/hu.json
@@ -53,7 +53,7 @@
"wikibase-description-input-help-message": "Adj meg egy rövid leírást
ehhez a fogalomhoz $1 nyelven.",
"wikibase-entitytermsview-input-help-message": "Írj be egy címkét,
rövid leírást és más neveket nyelvenként ehhez az elemhez.",
"wikibase-entitytermsforlanguageview-input-help-message": "Írj be egy
címkét, rövid leírást és más neveket $1 nyelven ehhez az elemhez.",
- "wikibase-statements": "Állítások",
+ "wikibase-statementsection-statements": "Állítások",
"wikibase-sitelinks": "Ehhez a fogalomhoz kapcsolt lapok listája",
"wikibase-sitelinks-empty": "Ehhez a fogalomhoz nincs kapcsolt lap.",
"wikibase-sitelinks-input-help-message": "Hivatkozás létrehozása egy
ehhez a fogalomhoz kapcsolódó lapra",
@@ -150,6 +150,7 @@
"wikibase-setaliases-label": "Más nevek:",
"wikibase-modifyentity-id": "Azonosító",
"wikibase-modifyterm-language": "Nyelvkód:",
+ "wikibase-dispatchstats-change-timestamp": "Időbélyeg",
"special-listdatatypes": "Az összes rendelkezésre álló adattípus
listája",
"wikibase-listdatatypes-intro": "Az összes olyan adattípus listája,
amik fel lettek telepítve:",
"wikibase-history-title-with-label": "„$2” ($1) laptörténete",
diff --git a/extensions/Wikibase/repo/i18n/id.json
b/extensions/Wikibase/repo/i18n/id.json
index 6bb620a..fb6acca 100644
--- a/extensions/Wikibase/repo/i18n/id.json
+++ b/extensions/Wikibase/repo/i18n/id.json
@@ -16,13 +16,13 @@
"wikibase-desc": "Penyimpanan data terstruktur",
"wikibase-entity": "entitas",
"wikibase-entity-item": "butir",
- "wikibase-entity-property": "properti",
+ "wikibase-entity-property": "atribut",
"wikibase-entity-query": "permintaan (''query'')",
"wikibase-edit": "sunting",
"wikibase-save": "simpan",
"wikibase-cancel": "batal",
"wikibase-add": "tambah",
- "wikibase-addqualifier": "tambah kualifikasi",
+ "wikibase-addqualifier": "tambah penjelas",
"wikibase-addreference": "tambah rujukan",
"wikibase-save-inprogress": "Menyimpan...",
"wikibase-remove-inprogress": "Menghapus...",
@@ -47,7 +47,7 @@
"wikibase-diffview-rank-preferred": "Tingkat yang disukai",
"wikibase-diffview-rank-normal": "Tingkat normal",
"wikibase-diffview-rank-deprecated": "Tingkat usang",
- "wikibase-diffview-qualifier": "kualifikasi",
+ "wikibase-diffview-qualifier": "penjelas",
"wikibase-diffview-label": "label",
"wikibase-diffview-alias": "nama lain",
"wikibase-diffview-description": "pemerian",
@@ -55,7 +55,7 @@
"wikibase-sitelink-site-edit-placeholder": "situs",
"wikibase-sitelink-page-edit-placeholder": "laman",
"wikibase-alias-edit-placeholder": "masukkan nama lain",
- "wikibase-label-input-help-message": "Masukkan label dari entitas ini
dalam $1 .",
+ "wikibase-label-input-help-message": "Masukkan label dari entitas ini
ke dalam $1 .",
"wikibase-description-input-help-message": "Masukkan pemerian singkat
untuk entitas ini dalam $1.",
"wikibase-entitytermsview-input-help-message": "Masukkan label dari
entitas ini, pemerian singkat, dan nama lain untuk masing-masing bahasa.",
"wikibase-entitytermsforlanguageview-input-help-message": "Masukkan
label dari entitas ini, pemerian singkat, dan nama lain dalam $1",
@@ -69,25 +69,25 @@
"wikibase-remove": "hapus",
"wikibase-move-up": "pindahkan ke atas",
"wikibase-move-down": "pindahkan ke bawah",
- "wikibase-undo-title": "Membatalkan suntingan di \"$1\"",
- "wikibase-restore-title": "Mengembalikan revisi lama \"$1\"",
- "wikibase-partial-undo": "Suntingan ini sebagian dapat dibatalkan.",
+ "wikibase-undo-title": "Membatalkan suntingan ke \"$1\"",
+ "wikibase-restore-title": "Mengembalikan revisi lama dari \"$1\"",
+ "wikibase-partial-undo": "Suntingan ini dapat dibatalkan sebagian.",
"wikibase-omitted-undo-ops": "$1 {{PLURAL:$1|perubahan}} tidak dapat
dibatalkan karena sementara ini {{PLURAL:$1|nilai|nilai-nilai}} telah berubah.",
"wikibase-empty-undo": "Tidak ada yang dapat dibatalkan.",
"wikibase-undo-revision-error": "Pembatalan gagal",
"wikibase-undo-samerev": "Dua revisi berbeda harus ditentukan guna bisa
membatalkan sebuah suntingan.",
"wikibase-undo-badpage": "Revisi salah: Revisi $2 bukan milik [[$1]].",
"wikibase-undo-firstrev": "Tidak dapat membatalkan pembuatan halaman",
- "wikibase-undo-nocontent": "Tidak dapat memuat revisi $2 dari halaman
$1",
+ "wikibase-undo-nocontent": "Tidak dapat memuat isir revisi $2 dari
halaman $1",
"wikibase-propertyedittool-counter-pending-tooltip": "{{PLURAL:$1|$1
nilai}} belum tersimpan",
"wikibase-propertyedittool-counter-entrieslabel": "{{PLURAL:$1|entri}}",
- "wikibase-disambiguation-title": "Disambiguasi untuk \"$1\"",
+ "wikibase-disambiguation-title": "Ketaksaan untuk \"$1\"",
"wb-special-newitem-new-item-notification": "Butir baru $1 telah dibuat
dan dialihkan ke laman tersebut. Kembali ke $2.",
"wikibase-aliases-input-help-message": "Untuk membuat entitas lebih
mudah ditemukan, Anda bisa memasukkan nama lain.",
"wikibase-aliases-empty": "Nama lain belum ditentukan",
"wikibase-propertypage-datatype": "Jenis data",
- "wikibase-claimview-snak-tooltip": "Masukkan nilai yang sesuai dengan
properti bernama \"$1\". Jika properti tidak memiliki nilai yang ditetapkan
atau nilai sebenarnya tidak diketahui, alternatif Anda dapat menentukan nilai
kustom dengan mengklik ikon di sebelah kotak input.",
- "wikibase-claimview-snak-new-tooltip": "Setelah menentukan properti
Anda dapat memasukkan nilai yang sesuai. Jika properti tidak memiliki nilai
yang ditentukan atau nilai sebenarnya tidak diketahui, alternatif Anda dapat
menentukan nilai kustom dengan mengklik ikon di sebelah kotak input.",
+ "wikibase-claimview-snak-tooltip": "Masukkan nilai yang sesuai dengan
properti bernama \"$1\". Jika properti tidak memiliki nilai yang ditetapkan
atau nilai sebenarnya tidak diketahui, alternatif Anda dapat menentukan nilai
kustom dengan mengeklik ikon di sebelah kotak input.",
+ "wikibase-claimview-snak-new-tooltip": "Setelah menentukan properti
Anda dapat memasukkan nilai yang sesuai. Jika properti tidak memiliki nilai
yang ditentukan atau nilai sebenarnya tidak diketahui, alternatif Anda dapat
menentukan nilai kustom dengan mengeklik ikon di sebelah kotak input.",
"wikibase-statementview-rank-preferred": "Tingkat yang disukai",
"wikibase-statementview-rank-normal": "Rangking normal",
"wikibase-statementview-rank-deprecated": "Tingkat usang",
@@ -104,7 +104,7 @@
"wikibase-snakview-snaktypeselector-value": "Atur nilai",
"wikibase-snakformat-invalid-value": "Nilai tidak sahih.",
"wikibase-snakformat-propertynotfound": "Properti tidak ditemukan",
- "wikibase-shortcopyrightwarning": "Dengan mengklik \"$1\", Anda setuju
pada [[$2|ketentuan layanan]], dan Anda yakin setuju untuk melepas kontribusi
Anda di bawah $3.",
+ "wikibase-shortcopyrightwarning": "Dengan mengeklik \"$1\", Anda
menyetujui [[$2|ketentuan layanan]], dan Anda sepakat untuk melepas sumbangan
Anda di bawah $3 tanpa bisa ditarik kembali.",
"wikibase-copyrighttooltip-acknowledge": "Saya menerima syarat ini
untuk selanjutnya. Jangan tampilkan lagi pesan ini.",
"wikibase-entityselector-more": "kembangkan",
"wikibase-anonymouseditwarning": "Peringatan: Anda belum masuk
log.\nAlamat IP Anda akan direkam dalam sejarah penyuntingan entitas ini.",
@@ -140,7 +140,7 @@
"wikibase-gotolinkedpage-error-page-not-found": "Tidak ada laman yang
ditemukan untuk kombinasi antara item dan situs",
"wikibase-gotolinkedpage-error-item-id-invalid": "Penanda butir yang
dimasukkan tidak sahih",
"wikibase-gotolinkedpage-error-item-not-found": "Item tidak dapat
ditemukan",
- "special-itemdisambiguation": "Butir disambiguasi",
+ "special-itemdisambiguation": "Butir ketaksaan",
"wikibase-itemdisambiguation-lookup-fieldset": "Cari item menurut
bahasa dan label",
"wikibase-itemdisambiguation-lookup-language": "Kode bahasa:",
"wikibase-itemdisambiguation-lookup-label": "Label:",
@@ -361,6 +361,8 @@
"apihelp-wbeditentity-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
"apihelp-wbeditentity-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
"apihelp-wbeditentity-param-data": "Objek berseri yang dipergunakan
sebagai sumber data. \nSebuah entitas yang baru dibuat akan diberikan sebuah
'id'.",
+ "apihelp-wbeditentity-param-clear": "Jika diatur seperti ini, makan
seluru entitas akan dikosongkan sebelum dilakukan tindakan terkait.\nEntitas
tidak akan disimpan sebelum diisi dengan \"data\", memungkinkan dengan bagian
yang dikecualikan.",
+ "apihelp-wbeditentity-param-new": "Jika diatur seperti ini, maka sebuah
entitas baru akan dibuat.\nAtur sesuai dengan jenis entitas yang ingin Anda
buat.\nTidak diperbolehkan untuk mengatur seperti ini saat 'id' juga sudah
diatur.",
"apihelp-wbeditentity-example-1": "Buat sebuah butir kosong dan baru,
kembalikan struktur entitas secara penuh",
"apihelp-wbeditentity-example-2": "Buat item baru dan atur label untuk
de dan en",
"apihelp-wbeditentity-example-3": "Buat sebuah atribut baru yang
mengandung data Notasi Objek JavaScript (JSON), kembalikan stuktur entitas
secara penuh",
@@ -369,6 +371,7 @@
"apihelp-wbeditentity-example-6": "Atur pranala antarwiki untuk nowiki,
timpalah jika ternyata sudah ada",
"apihelp-wbeditentity-example-7": "Atur pemerian untuk nb, timpalah
jika ternyata sudah ada",
"apihelp-wbeditentity-example-8": "Membuat sebuah klaim baru pada butir
dari atribut P56 dan sebuah nilai \"ExampleString\"",
+ "apihelp-wbeditentity-example-9": "Hapus klaim dari butir dengan
Penanda Unik Global (GUID) Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F dan
Q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X",
"apihelp-wbeditentity-example-10": "Atur klaim dengan Penanda Unik
Global (GUID) ke nilai klaim",
"apihelp-wbeditentity-example-11": "Tambah label tanpa penimpaan, jika
sudah ada sebelumnya.",
"apihelp-wbeditentity-example-12": "Hapus label",
@@ -381,7 +384,11 @@
"apihelp-wbformatvalue-example-1": "Format sebuah nilai untai
(''string'') sederhana.",
"apihelp-wbformatvalue-example-2": "Format sebuah nilai untai
(''string'') sebagai sebuah Lokator Sumber Seragam (URL) dalam Bahasa Markah
Hiperteks (HTML).",
"apihelp-wbgetclaims-description": "Dapatkan klaim dari Wikibase.",
- "apihelp-wbgetclaims-param-entity": "Penanda entitas untuk mendapatkan
kalim. Dibutuhkan kecuali jika Penanda Unik Global (GUID) klaim disediakan.",
+ "apihelp-wbgetclaims-param-entity": "Penanda entitas untuk mendapatkan
kalim. Dibutuhkan kecuali jika Penanda Unik Global (GUID) klaim tersedia.",
+ "apihelp-wbgetclaims-param-property": "Penyaring pilihan yang
dipergunakan hanya untuk mengembalikan klaim dengan snak utama yang sudah
memiliki atribut tertentu",
+ "apihelp-wbgetclaims-param-claim": "Sebuah Penanda Unik Global (GUID)
sedang mengidentifikasikan klaim. Dibutuhkan kecuali jika entitas tersedia.
Penanda Unik Global (GUID) merupakan sebuah penanda unik secara global untuk
sebuah klaim, contohnya \"q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F\".",
+ "apihelp-wbgetclaims-param-rank": "Penyaring pilihan yang hanya
dipergunakan untuk mengembalikan klaim dengan peringkat tertentu",
+ "apihelp-wbgetclaims-param-props": "Beberapa bagian klaim akan
dikembalikan secara terpilih. Parameter ini akan mengendalikan klaim mana saja
yang akan dikembalikan.",
"apihelp-wbgetclaims-example-1": "Dapatkan klaim untuk butir dengan
penanda Q42",
"apihelp-wbgetclaims-example-2": "Dapatkan klaim untuk item dengan
penanda Q42 dan atribut dengan penanda P2",
"apihelp-wbgetclaims-example-3": "Peroleh klaim dari butir dengan
penanda Q42 yang memiliki peringat normal",
@@ -419,30 +426,56 @@
"apihelp-wbmergeitems-description": "Gabungkan beberapa butir.",
"apihelp-wbmergeitems-param-fromid": "Id untuk digabungkan dari",
"apihelp-wbmergeitems-param-toid": "Id untuk digabungkan ke",
+ "apihelp-wbmergeitems-param-ignoreconflicts": "Larik unsur pada butir,
untuk mengesampingkan konflik, hanya bisa mengandung nilai \"description\" dan
atau \"sitelink\" dan atau \"statement\"",
"apihelp-wbmergeitems-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
- "apihelp-wbmergeitems-example-1": "Gabungkan data dari Q42 ke Q222",
+ "apihelp-wbmergeitems-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
+ "apihelp-wbmergeitems-example-1": "Menggabungkan data dari Q42 ke dalam
Q222",
"apihelp-wbmergeitems-example-2": "Gabungkan data dari Q555 ke Q3",
- "apihelp-wbmergeitems-example-3": "Gabungkan data dari Q66 ke dalam Q99
dan abaikan semua pranala antarwiki yang bertentangan",
+ "apihelp-wbmergeitems-example-3": "Menggabungkan data dari Q66 ke dalam
Q99 dan abaikan semua pranala antarwiki yang bertentangan",
+ "apihelp-wbmergeitems-example-4": "Menggabungkan data dari Q66 ke dalam
Q99 dan abaikan semua pranala antarwiki dan pemerian yang bertentangan",
+ "apihelp-wbparsevalue-description": "Menguraikan nilai dengan
menggunakan sebuah ValueParser.",
+ "apihelp-wbparsevalue-param-parser": "Penanda ValueParser untuk
digunakan. <span class=\"apihelp-deprecated\">Usang</span>. Gunakan parameter
jenis data sebagai gantinya.",
+ "apihelp-wbparsevalue-param-datatype": "Jenis data dari nilai untuk
diurai. Tentukan parser yang dipergunakan.",
+ "apihelp-wbparsevalue-param-validate": "Apabila ingin memeriksa lebih
jauh lagi data yang sudah lolos.",
"apihelp-wbparsevalue-param-values": "Nilai untuk dipilah",
+ "apihelp-wbparsevalue-param-options": "Pilihan parser harus
dipergunakan. Sediakan sebagai sebuah objek Notasi Objek JavaScript (JSON)",
+ "apihelp-wbparsevalue-example-1": "Urai sebuah untai (''string'') biasa
menjadi sebuah obek StringValue",
+ "apihelp-wbparsevalue-example-2": "Urai 1994-02-08 menjadi sebuah objek
TimeValue dengan presisi 9 (tahun)",
+ "apihelp-wbparsevalue-example-3": "Urai 1994-02-08 ke sebuah objek
TimeValue dengan sebuah presisi senilai 14 (detik) dengan pengaktifan validasi
menyebabkan kegagalan validasi",
"apihelp-wbremoveclaims-description": "Hapus klaim Wikibase",
"apihelp-wbremoveclaims-param-baserevid": "Penanda angka untuk
perbaikan berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak
konflik yang terjadi saat penyimpanan.",
"apihelp-wbremoveclaims-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
+ "apihelp-wbremoveclaims-param-claim": "Satu buah Penanda Unik Global
(GUID) atau beberapa Penanda Unik Global (GUID) sedang mengidentifikasikan
klaim untuk dihapus. Semua klaim harus termasuk dalam entitas yang sama.",
+ "apihelp-wbremoveclaims-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
+ "apihelp-wbremoveclaims-example-1": "Hapus klaim dengan Penanda Unik
Global (GUID) \"Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0N\"",
"apihelp-wbremovequalifiers-description": "Hapus sebuah penjelas dari
sebuah klaim.",
"apihelp-wbremovequalifiers-param-baserevid": "Penanda angka untuk
perbaikan berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak
konflik yang terjadi saat penyimpanan.",
"apihelp-wbremovequalifiers-param-bot": "Tandai suntingan ini sebagai
bot. Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna
masuk ke kelompok \"bot\".",
+ "apihelp-wbremovequalifiers-param-claim": "Sebuah Penanda Unik Global
(GUID) sedang mengidentifikasikan klaim yang akan dihapus penjelas di
dalamnya",
+ "apihelp-wbremovequalifiers-param-qualifiers": "Hash snak dari penjelas
untuk penghapusan",
"apihelp-wbremovequalifiers-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
+ "apihelp-wbremovequalifiers-example-1": "Hapus penjelas dengan hash
\"1eb8793c002b1d9820c833d234a1b54c8e94187e\" dari klaim dengan Penanda Unik
Global (GUID) \"Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F\"",
+ "apihelp-wbremovereferences-description": "Hapus satu rujukan atau
lebih dari pernyataan yang sama.",
"apihelp-wbremovereferences-param-baserevid": "Penanda angka untuk
perbaikan berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak
konflik yang terjadi saat penyimpanan.",
"apihelp-wbremovereferences-param-bot": "Tandai suntingan ini sebagai
bot. Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna
masuk ke kelompok \"bot\".",
+ "apihelp-wbremovereferences-param-statement": "Sebuah Penanda Unik
Global (GUID) sedang mengidentifikasikan pernyataan untuk sebuah rujukan yang
sedang diatur",
"apihelp-wbremovereferences-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
+ "apihelp-wbremovereferences-param-references": "Hash rujukan yang harus
dihapus",
+ "apihelp-wbremovereferences-example-1": "Hapus rujukan dengan hash
\"455481eeac76e6a8af71a6b493c073d54788e7e9\" dari klaim dengan Penanda Unik
Global (GUID)\"Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F\"",
+ "apihelp-wbsearchentities-description": "Cari entitas dengan label dan
nama lain.\nKembali ke label dan pemerian untuk entitas dalam bahasa pengguna
jika memungkinkan.\nKembali ke rincian yang memiliki kata yang cocok.\nNaskah
dengan kata yang cocok juga ada dalam nama lain utama jika berbeda dari label
tertayang.",
"apihelp-wbsearchentities-param-search": "Cari untuk teks ini.",
"apihelp-wbsearchentities-param-language": "Cari untuk bahasa ini.",
+ "apihelp-wbsearchentities-param-strictlanguage": "Apabila ingin
menonaktifkan bahasa sekunder",
"apihelp-wbsearchentities-param-type": "Cari untuk jenis entitas ini.",
"apihelp-wbsearchentities-param-limit": "Jumlah hasil maksimal",
+ "apihelp-wbsearchentities-param-continue": "Ofset pada tempat untuk
melanjutkan sebuah pencarian",
+ "apihelp-wbsearchentities-example-1": "Cari \"abc\" dalam bahasa
Inggris dengan pengaturan standar untuk jenis dan batas",
"apihelp-wbsearchentities-example-2": "Cari \"abc\" dalam bahasa
Inggris dengan batas 50 hasil",
"apihelp-wbsearchentities-example-3": "Cari \"alphabet\" dalam bahasa
Inggris untuk jenis properti",
"apihelp-query+wbsearch-description": "Cari entitas dengan menggunakan
label dan nama lain.\nHal ini bisa dipergunakan sebagai sebuah pembangkit untuk
permintaan (''query'') lain.",
"apihelp-query+wbsearch-param-search": "Cari teks ini.",
"apihelp-query+wbsearch-param-language": "Cari dalam bahasa ini.",
+ "apihelp-query+wbsearch-param-strictlanguage": "Apabila ingin
menonaktifkan bahasa sekunder",
"apihelp-query+wbsearch-param-type": "Cari untuk jenis entitas ini.",
"apihelp-query+wbsearch-param-limit": "Jumlah hasil maksimal",
"apihelp-query+wbsearch-example-1": "Cari \"abc\" dalam bahasa Inggris
dengan pengaturan standar untuk jenis dan batas",
@@ -461,12 +494,17 @@
"apihelp-wbsetaliases-param-language": "Bahasa untuk pengaturan nama
lain",
"apihelp-wbsetaliases-example-1": "Atur nama lain berbahasa Inggris
untuk entitas dengan penanda Q1 ke Foo dan Bar",
"apihelp-wbsetaliases-example-2": "Tambah Foo dan Bar ke daftar nama
lain berbahasa Inggris untuk entitas dengan penanda Q1",
+ "apihelp-wbsetaliases-example-3": "Hapus Foo dan Bar dari daftar nama
lain berbahasa Inggris untuk entitas dengan penanda Q1",
+ "apihelp-wbsetaliases-example-4": "Hapus Foo dari daftar nama lain
berbahasa Inggris untuk entitas dengan penanda Q1 saat penambahan Bar ke
dalamnya",
"apihelp-wbsetclaim-description": "Buat atau perbaharui seluruh
Pernyataan atau Klaim.",
"apihelp-wbsetclaim-param-claim": "Serialisasi Pernyataan atau Klaim",
+ "apihelp-wbsetclaim-param-index": "Indeks dalam daftar pernyataan
entias untuk dipindahkan ke pernyataan. Bukan keharusan. Perhatikan saat
pengaturan penempatan sebuah indeks tidak boleh di samping sebuah pernyataan
yang snak utamanya tidak memiliki ciri atribut yang sama. Semua grup pernyataan
yang mempunyai ciri snak utama yang atributnya sama akan dipindah. Saat tidak
tersedia, sebuah pernyataan yang sudah ada akan tetap pada tempatnya, sedangkan
sebuah pernyataan baru akan ditambahkan ke posisi terakhir dari snak utama yang
memiliki atribut yang sama.",
"apihelp-wbsetclaim-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
"apihelp-wbsetclaim-param-baserevid": "Penanda angka untuk perbaikan
berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak konflik yang
terjadi saat penyimpanan.",
"apihelp-wbsetclaim-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
"apihelp-wbsetclaim-example-1": "Atur klaim dengan penanda tertenu
untuk atribut P1 dengan sebuah nilai untai (''string'') \"City\"",
+ "apihelp-wbsetclaim-example-2": "Atur klaim yang memiliki penanda
tertentu ke atribut P1 dengan sebuah nilai untai (''string'') \"City\".
Kemudian, pindahkan klaim ke posisi topmost dalam klaim subgrup entitas yang
memiliki ciri atribut utama snak P1. Sebagai tambahan, pindahkan seluruh
subgrup ke tempat teratas dari semua subgrup yang dikumpulkan oleh atribut.",
+ "apihelp-wbsetclaim-example-3": "Atur Pernyataan dengan penanda
tertentu ke Atribut P1 dengan nilai untai (''string'') \"City\" serta atur
Rujukan Pernyatan ke sebuah Rujukan tunggal yang memiliki ciri nilai untai
(''string'') \"The Economy of Cities\" yang ditetapkan ke Atribut P2.",
"apihelp-wbsetclaimvalue-description": "Atur nilai dari sebuah klaim
Wikibase",
"apihelp-wbsetclaimvalue-param-claim": "Sebuah Penanda Unik Global
(GUID) sedang mengidentifikasi klaim",
"apihelp-wbsetclaimvalue-param-snaktype": "Jenis snak",
@@ -474,6 +512,7 @@
"apihelp-wbsetclaimvalue-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
"apihelp-wbsetclaimvalue-param-baserevid": "Penanda angka untuk
perbaikan berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak
konflik yang terjadi saat penyimpanan.",
"apihelp-wbsetclaimvalue-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
+ "apihelp-wbsetclaimvalue-example-1": "Atur klaim dengan Penanda Unik
Global (GUID)Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F ke sebuah nilai pada Q1",
"apihelp-wbsetdescription-description": "Atur sebuah pemerian untuk
satu entitas tunggal Wikibase",
"apihelp-wbsetdescription-param-id": "Penanda untuk entitas ini,
termasuk awalan.\nGunakan salah satu antara 'id' atau 'site' dan bersama dengan
'title'.",
"apihelp-wbsetdescription-param-site": "Sebuah penanda untuk situs ini
terletak pada laman yang ada. Gunakan bersama dengan 'title' untuk membuat
pranala antarwiki yang lengkap.",
@@ -483,6 +522,8 @@
"apihelp-wbsetdescription-param-bot": "Tandai suntingan ini sebagai
bot. Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna
masuk ke kelompok \"bot\".",
"apihelp-wbsetdescription-param-language": "Bahasa pemerian",
"apihelp-wbsetdescription-param-value": "Nilai untuk diatur dalam
pemerian",
+ "apihelp-wbsetdescription-example-1": "Atur untai (''string'') \"An
encyclopedia that everyone can edit\" untuk laman dengan penanda \"Q42\"
sebagai sebuah pemerian dalam bahasa Inggris",
+ "apihelp-wbsetdescription-example-2": "Atur untai (''string'') \"An
encyclopedia that everyone can edit\" sebagai sebuah pemerian dalam bahasa
Inggris untuk laman dengan pranala antarwiki ke enwiki:Wikipedia",
"apihelp-wbsetlabel-description": "Atur sebuah label untuk satu entitas
tunggal Wikibase.",
"apihelp-wbsetlabel-param-id": "Penanda untuk entitas ini, termasuk
awalan.\nGunakan salah satu antara 'id' atau 'site' dan bersama dengan
'title'.",
"apihelp-wbsetlabel-param-site": "Sebuah penanda untuk situs ini
terletak pada laman yang ada. Gunakan bersama dengan 'title' untuk membuat
pranala antarwiki yang lengkap.",
@@ -492,16 +533,21 @@
"apihelp-wbsetlabel-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
"apihelp-wbsetlabel-param-language": "Bahasa pada label",
"apihelp-wbsetlabel-param-value": "Nilai pada label",
+ "apihelp-wbsetlabel-example-1": "Atur untai (''string'') \"Wikimedia\"
untuk laman dengan penanda \"Q42\" sebagai sebuah label dalam bahasa Inggris
dan laporkan dalam Notasi Objek JavaScript (JSON) cetak yang memadai",
"apihelp-wbsetlabel-example-2": "Atur label bahasa Inggris ke \"Earth\"
untuk butir yang pranala antarwiki enwiki => \"Earth\".",
"apihelp-wbsetqualifier-description": "Buat sebuah penjelas atau atur
nilai dari penjelas yang sudah ada.",
+ "apihelp-wbsetqualifier-param-claim": "Sebuah Penanda Unik Global
(GUID) sedang mengidentifikasikan klaim untuk sebuah penjelas yang sedang
diatur",
+ "apihelp-wbsetqualifier-param-property": "Penanda atribut
snak.\nSebaiknya hanya diberikan saat pembuatan sebuah penjelas baru atau
penggantian atribut yang sudah ada",
"apihelp-wbsetqualifier-param-value": "Nilai baru dari penjelas.\nHanya
dapat diberikan untuk penjelas PropertyValueSnak",
- "apihelp-wbsetqualifier-param-snaktype": "Jenis snak.\nHanya bisa
diberikan saat pembuatan sebuah penjelas baru atau penggantian jenis penjelas
yang sudah ada",
+ "apihelp-wbsetqualifier-param-snaktype": "Jenis snak.\nSebaiknya hanya
diberikan saat pembuatan sebuah penjelas baru atau penggantian jenis penjelas
yang sudah ada",
+ "apihelp-wbsetqualifier-param-snakhash": "''Hash'' snak untuk
pengubahan.\nSebaiknya hanya diberikan untuk penjelas yang sudah ada",
"apihelp-wbsetqualifier-param-summary": "Ringkasan untuk
penyuntingan.\nAkan dilampirkan dengan komentar yang dihasilkan secara
otomatis. Batas panjang dari komentar otomatis dengan ringkasannya adalah 260
huruf. Perhatikan bahwa pemotongan akan dilakukan jika sudah melebihi batas.",
"apihelp-wbsetqualifier-param-baserevid": "Penanda angka untuk
perbaikan berdasarkan perubahan yang terjadi.\nIni digunakan untuk melacak
konflik yang terjadi saat penyimpanan.",
"apihelp-wbsetqualifier-param-bot": "Tandai suntingan ini sebagai bot.
Panji Lokator Sumber Seragam (URL) hanya akan dipercaya jika pengguna masuk ke
kelompok \"bot\".",
"apihelp-wbsetqualifier-example-1": "Atur penjelas untuk klaim tertentu
dengan atribut P1 untuk nilai untai (''string'') GdyjxP8I6XB3",
"apihelp-wbsetreference-description": "Buat sebuah rujukan atau atur
nilai dari rujukan yang sudah ada.",
"apihelp-wbsetreference-param-statement": "Sebuah Penanda Unik Global
(GUID) sedang mengidentifikasikan pernyataan untuk sebuah rujukan yang sedang
diatur",
+ "apihelp-wbsetreference-param-snaks": "Snak untuk mengatur rujukan.
Objek Notasi Objek JavaScript (JSON) dengan penanda atribut yang merujuk pada
larik yang mengandung snak untuk atribut tersebut",
"apihelp-wbsetreference-param-snaks-order": "Urutan dari snak. Notasi
Objek JavaScript (JSON) menyusun untai (''string'') penanda atribut",
"apihelp-wbsetreference-param-reference": "Sebuah ''hash'' pada rujukan
harus diperbaharui. Bukan keharusan. Saat tidak disediakan, sebuah rujukan baru
akan dibuat.",
"apihelp-wbsetreference-param-index": "Indeks dalam daftar rujukan
pernyataan tempat untuk memindah rujukan. Bukan keharusan. Saat tidak tersedia,
sebuah rujukan yang sudah ada akan tetap pada tempatnya sedangkan rujukan baru
akan dibubuhkan.",
diff --git a/extensions/Wikibase/repo/i18n/pt.json
b/extensions/Wikibase/repo/i18n/pt.json
index 34eae36..b7390ed 100644
--- a/extensions/Wikibase/repo/i18n/pt.json
+++ b/extensions/Wikibase/repo/i18n/pt.json
@@ -60,7 +60,7 @@
"wikibase-description-input-help-message": "Introduza uma descrição
breve em $1.",
"wikibase-entitytermsview-input-help-message": "Insira um rótulo para
esta entidade, uma descrição breve e nomes alternativos por idioma.",
"wikibase-entitytermsforlanguageview-input-help-message": "Insira o
rótulo, uma breve descrição e nomes alternativos para esta entidade em $1.",
- "wikibase-statements": "Declarações",
+ "wikibase-statementsection-statements": "Declarações",
"wikibase-sitelinks": "Ligações de sítio",
"wikibase-sitelinkgroupview-input-help-message": "Adicione uma ligação
de sítio, especificando um sítio e uma respetiva página, edite ou remova
ligações de sítio existentes.",
"wikibase-sitelinks-empty": "Nenhuma página está ligada a este item.",
@@ -112,6 +112,7 @@
"wikibase-validator-sitelink-conflict": "A ligação $1 já está a ser
utilizada pelo item $2. Pode removê-la de $2 se não pertencer mais ou fundir os
itens se forem exatamente sobre o mesmo tópico.",
"wikibase-validator-label-conflict": "A propriedade $3 já possui a
etiqueta \"$1\" associada com o código de idioma $2.",
"wikibase-validator-label-with-description-conflict": "O item $3 já
possui o rótulo \"$1\" associado com o código de idioma $2, utilizando o mesmo
texto para a descrição.",
+ "wikibase-validator-no-such-media": "O ficheiro \"$1\" não existe no
[https://commons.wikimedia.org/ Wikimedia Commons].",
"wikibase-wikibaserepopage-not-itemid": "\"$1\" não é o ID de um item
válido.",
"wikibase-wikibaserepopage-invalid-langcode": "O identificador de
idioma \"$1\" é desconhecido. Por favor, utilize um identificador de idioma
reconhecido pelo sistema, como \"pt\".",
"wikibase-wikibaserepopage-invalid-id": "O identificador \"$1\" não é
conhecido pelo sistema. Utilize um identificador válido.",
diff --git a/extensions/Wikibase/repo/includes/ChangeDispatcher.php
b/extensions/Wikibase/repo/includes/ChangeDispatcher.php
index 37ad808..c181ccf 100644
--- a/extensions/Wikibase/repo/includes/ChangeDispatcher.php
+++ b/extensions/Wikibase/repo/includes/ChangeDispatcher.php
@@ -278,8 +278,8 @@
* collect the changes for the next batch. The number of requests
needed can be adjusted
* using $this->batchChunkFactor (via the 'dispatchBatchChunkFactor'
setting).
*
- * @param string $siteID: The client wiki's global site identifier,
as used by sitelinks.
- * @param int $after: The last change ID processed by a previous run.
All changes returned
+ * @param string $siteID The client wiki's global site identifier, as
used by sitelinks.
+ * @param int $after The last change ID processed by a previous run.
All changes returned
* will have an ID greater than $after.
*
* @return array( $batch, $seen ), where $batch is a list of Change
objects, and $seen
@@ -365,9 +365,9 @@
* Currently, we keep EntityChanges for entities the client wiki is
subscribed to, or
* that modify a sitelink to the client wiki.
*
- * @param string $siteID : The client wiki's global site identifier,
as used by sitelinks.
- * @param Change[] $changes: The list of changes to filter.
- * @param int $limit: The max number of changes to return
+ * @param string $siteID The client wiki's global site identifier, as
used by sitelinks.
+ * @param Change[] $changes The list of changes to filter.
+ * @param int $limit The max number of changes to return
*
* @return array( $batch, $seen ), where $batch is the filtered list of
Change objects,
* and $seen if the ID of the last change considered for the
batch
diff --git a/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php
b/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php
index de96ad3..4c6987c 100644
--- a/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php
+++ b/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php
@@ -128,7 +128,7 @@
* Get a header for a specified revision.
*
* @param $rev Revision
- * @param $complete String: 'complete' to get the header wrapped
depending
+ * @param string $complete 'complete' to get the header wrapped
depending
* the visibility of the revision and a link to edit the page.
*
* @return String HTML fragment
diff --git a/extensions/Wikibase/repo/includes/Hooks/EditFilterHookRunner.php
b/extensions/Wikibase/repo/includes/Hooks/EditFilterHookRunner.php
index 0c482c0..1de1a6d 100644
--- a/extensions/Wikibase/repo/includes/Hooks/EditFilterHookRunner.php
+++ b/extensions/Wikibase/repo/includes/Hooks/EditFilterHookRunner.php
@@ -6,7 +6,7 @@
use Hooks;
use IContextSource;
use InvalidArgumentException;
-use RequestContext;
+use MutableContext;
use RuntimeException;
use Status;
use Title;
@@ -38,26 +38,20 @@
private $entityContentFactory;
/**
- * @var RequestContext|DerivativeContext
+ * @var IContextSource
*/
private $context;
+ /**
+ * @param EntityTitleLookup $titleLookup
+ * @param EntityContentFactory $entityContentFactory
+ * @param IContextSource $context
+ */
public function __construct(
EntityTitleLookup $titleLookup,
EntityContentFactory $entityContentFactory,
- $context = null
+ IContextSource $context
) {
- if ( $context !== null
- && !( $context instanceof RequestContext )
- && !( $context instanceof DerivativeContext ) ) {
- throw new InvalidArgumentException( '$context must be
an instance of RequestContext'
- . ' or DerivativeContext' );
- }
-
- if ( $context === null ) {
- $context = RequestContext::getMain();
- }
-
$this->titleLookup = $titleLookup;
$this->entityContentFactory = $entityContentFactory;
$this->context = $context;
@@ -117,7 +111,7 @@
* @param EntityId|null $entityId
* @param string $entityType
*
- * @return IContextSource
+ * @return MutableContext
*/
private function getContextForEditFilter( EntityId $entityId = null,
$entityType ) {
if ( $entityId !== null ) {
@@ -139,6 +133,12 @@
$title = Title::makeTitle( $namespace, 'New' . ucfirst(
$entityType ) );
}
+ if ( !( $context instanceof MutableContext ) ) {
+ wfLogWarning( '$context is not an instanceof
MutableContext.' );
+
+ $context = new DerivativeContext( $context );
+ }
+
$context->setTitle( $title );
$context->setWikiPage( new WikiPage( $title ) );
diff --git
a/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
b/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
index ffda49f..ed11efe 100644
--- a/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
+++ b/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
@@ -3,6 +3,7 @@
namespace Wikibase\Repo\Interactors;
use User;
+use WatchedItem;
use Wikibase\ChangeOp\ChangeOpException;
use Wikibase\ChangeOp\ChangeOpsMerge;
use Wikibase\ChangeOp\MergeChangeOpsFactory;
@@ -14,6 +15,7 @@
use Wikibase\EntityContent;
use Wikibase\Lib\Store\EntityRevisionLookup;
use Wikibase\Lib\Store\EntityStore;
+use Wikibase\Lib\Store\EntityTitleLookup;
use Wikibase\Lib\Store\StorageException;
use Wikibase\Lib\Store\RevisionedUnresolvedRedirectException;
use Wikibase\Repo\Store\EntityPermissionChecker;
@@ -66,6 +68,11 @@
private $interactorRedirect;
/**
+ * @var EntityTitleLookup
+ */
+ private $entityTitleLookup;
+
+ /**
* @param MergeChangeOpsFactory $changeOpFactory
* @param EntityRevisionLookup $entityRevisionLookup
* @param EntityStore $entityStore
@@ -73,6 +80,7 @@
* @param SummaryFormatter $summaryFormatter
* @param User $user
* @param RedirectCreationInteractor $interactorRedirect
+ * @param EntityTitleLookup $entityTitleLookup
*/
public function __construct(
MergeChangeOpsFactory $changeOpFactory,
@@ -81,7 +89,8 @@
EntityPermissionChecker $permissionChecker,
SummaryFormatter $summaryFormatter,
User $user,
- RedirectCreationInteractor $interactorRedirect
+ RedirectCreationInteractor $interactorRedirect,
+ EntityTitleLookup $entityTitleLookup
) {
$this->changeOpFactory = $changeOpFactory;
@@ -91,6 +100,7 @@
$this->summaryFormatter = $summaryFormatter;
$this->user = $user;
$this->interactorRedirect = $interactorRedirect;
+ $this->entityTitleLookup = $entityTitleLookup;
}
/**
@@ -182,6 +192,7 @@
}
$result = $this->attemptSaveMerge( $fromItem, $toItem,
$summary, $bot );
+ $this->updateWatchlistEntries( $fromId, $toId );
$redirected = false;
@@ -305,4 +316,15 @@
}
}
+ /**
+ * @param ItemId $fromId
+ * @param ItemId $toId
+ */
+ private function updateWatchlistEntries( ItemId $fromId, ItemId $toId )
{
+ $fromTitle = $this->entityTitleLookup->getTitleForId( $fromId );
+ $toTitle = $this->entityTitleLookup->getTitleForId( $toId );
+
+ WatchedItem::duplicateEntries( $fromTitle, $toTitle );
+ }
+
}
diff --git
a/extensions/Wikibase/repo/includes/Notifications/ChangeNotificationSender.php
b/extensions/Wikibase/repo/includes/Notifications/ChangeNotificationSender.php
index f04f0d0..a8eda93 100644
---
a/extensions/Wikibase/repo/includes/Notifications/ChangeNotificationSender.php
+++
b/extensions/Wikibase/repo/includes/Notifications/ChangeNotificationSender.php
@@ -17,8 +17,8 @@
/**
* Notifies the client wiki of the given changes.
*
- * @param string $siteID: The client wiki's global site identifier,
as used by sitelinks.
- * @param Change[] $changes: The list of changes to post to the wiki.
+ * @param string $siteID The client wiki's global site identifier, as
used by sitelinks.
+ * @param Change[] $changes The list of changes to post to the wiki.
*/
public function sendNotification( $siteID, array $changes );
diff --git
a/extensions/Wikibase/repo/includes/Notifications/JobQueueChangeNotificationSender.php
b/extensions/Wikibase/repo/includes/Notifications/JobQueueChangeNotificationSender.php
index 0cf55db..1b523e3 100644
---
a/extensions/Wikibase/repo/includes/Notifications/JobQueueChangeNotificationSender.php
+++
b/extensions/Wikibase/repo/includes/Notifications/JobQueueChangeNotificationSender.php
@@ -38,8 +38,8 @@
/**
* @see ChangeNotificationSender::sendNotification
*
- * @param string $siteID: The client wiki's global site identifier,
as used by sitelinks.
- * @param Change[] $changes: The list of changes to post to the wiki.
+ * @param string $siteID The client wiki's global site identifier, as
used by sitelinks.
+ * @param Change[] $changes The list of changes to post to the wiki.
*/
public function sendNotification( $siteID, array $changes ) {
if ( empty( $changes ) ) {
diff --git a/extensions/Wikibase/repo/includes/WikibaseRepo.php
b/extensions/Wikibase/repo/includes/WikibaseRepo.php
index 3297c5f..9d21949 100644
--- a/extensions/Wikibase/repo/includes/WikibaseRepo.php
+++ b/extensions/Wikibase/repo/includes/WikibaseRepo.php
@@ -12,6 +12,7 @@
use IContextSource;
use Language;
use MediaWiki\Site\MediaWikiPageNameNormalizer;
+use RequestContext;
use Serializers\Serializer;
use SiteSQLStore;
use SiteStore;
@@ -19,39 +20,39 @@
use User;
use ValueFormatters\FormatterOptions;
use ValueFormatters\ValueFormatter;
-use Wikibase\DataModel\Entity\PropertyId;
-use Wikibase\DataModel\Services\Lookup\InProcessCachingDataTypeLookup;
-use Wikibase\Lib\DataTypeDefinitions;
use Wikibase\ChangeOp\ChangeOpFactoryProvider;
use Wikibase\DataModel\DeserializerFactory;
-use Wikibase\DataModel\Entity\Item;
-use Wikibase\DataModel\Entity\Property;
-use Wikibase\DataModel\Services\Diff\EntityDiffer;
use Wikibase\DataModel\Entity\BasicEntityIdParser;
use Wikibase\DataModel\Entity\DispatchingEntityIdParser;
use Wikibase\DataModel\Entity\EntityIdParser;
+use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\Entity\Property;
+use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\DataModel\Services\Diff\EntityDiffer;
use Wikibase\DataModel\Services\EntityId\SuffixEntityIdParser;
use Wikibase\DataModel\Services\Lookup\EntityLookup;
use Wikibase\DataModel\Services\Lookup\EntityRetrievingDataTypeLookup;
+use Wikibase\DataModel\Services\Lookup\InProcessCachingDataTypeLookup;
use Wikibase\DataModel\Services\Lookup\PropertyDataTypeLookup;
use Wikibase\DataModel\Services\Lookup\TermLookup;
use Wikibase\DataModel\Services\Statement\GuidGenerator;
use Wikibase\DataModel\Services\Statement\StatementGuidParser;
use Wikibase\DataModel\Services\Statement\StatementGuidValidator;
+use Wikibase\DataModel\Services\Term\TermBuffer;
use Wikibase\EditEntityFactory;
use Wikibase\EntityFactory;
-use Wikibase\Lib\WikibaseSnakFormatterBuilders;
-use Wikibase\Repo\ParserOutput\EntityParserOutputGeneratorFactory;
use Wikibase\InternalSerialization\DeserializerFactory as
InternalDeserializerFactory;
use Wikibase\InternalSerialization\SerializerFactory as
InternalSerializerFactory;
use Wikibase\LabelDescriptionDuplicateDetector;
use Wikibase\LanguageFallbackChainFactory;
use Wikibase\Lib\Changes\EntityChangeFactory;
use Wikibase\Lib\ContentLanguages;
+use Wikibase\Lib\DataTypeDefinitions;
use Wikibase\Lib\EntityIdLinkFormatter;
use Wikibase\Lib\EntityIdPlainLinkFormatter;
use Wikibase\Lib\EntityIdValueFormatter;
use Wikibase\Lib\FormatterLabelDescriptionLookupFactory;
+use Wikibase\Lib\Interactors\TermIndexSearchInteractor;
use Wikibase\Lib\LanguageNameLookup;
use Wikibase\Lib\MediaWikiContentLanguages;
use Wikibase\Lib\OutputFormatSnakFormatterFactory;
@@ -66,16 +67,17 @@
use Wikibase\Lib\Store\EntityTitleLookup;
use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
use Wikibase\Lib\UnionContentLanguages;
+use Wikibase\Lib\WikibaseSnakFormatterBuilders;
use Wikibase\Lib\WikibaseValueFormatterBuilders;
-use Wikibase\Lib\Interactors\TermIndexSearchInteractor;
-use Wikibase\Rdf\ValueSnakRdfBuilderFactory;
use Wikibase\PropertyInfoBuilder;
+use Wikibase\Rdf\ValueSnakRdfBuilderFactory;
use Wikibase\Repo\Api\ApiHelperFactory;
use Wikibase\Repo\CachingCommonsMediaFileNameLookup;
use Wikibase\Repo\Content\EntityContentFactory;
use Wikibase\Repo\Content\ItemHandler;
use Wikibase\Repo\Content\PropertyHandler;
use Wikibase\Repo\Hooks\EditFilterHookRunner;
+use Wikibase\Repo\Interactors\ItemMergeInteractor;
use Wikibase\Repo\Interactors\RedirectCreationInteractor;
use Wikibase\Repo\LinkedData\EntityDataFormatProvider;
use Wikibase\Repo\Localizer\ChangeOpValidationExceptionLocalizer;
@@ -89,6 +91,7 @@
use Wikibase\Repo\Notifications\ChangeTransmitter;
use Wikibase\Repo\Notifications\DatabaseChangeTransmitter;
use Wikibase\Repo\Notifications\HookChangeTransmitter;
+use Wikibase\Repo\ParserOutput\EntityParserOutputGeneratorFactory;
use Wikibase\Repo\Store\EntityPermissionChecker;
use Wikibase\Repo\Validators\EntityConstraintProvider;
use Wikibase\Repo\Validators\SnakValidator;
@@ -100,7 +103,6 @@
use Wikibase\Store;
use Wikibase\Store\BufferingTermLookup;
use Wikibase\Store\EntityIdLookup;
-use Wikibase\DataModel\Services\Term\TermBuffer;
use Wikibase\StringNormalizer;
use Wikibase\SummaryFormatter;
use Wikibase\View\EntityViewFactory;
@@ -241,9 +243,14 @@
Hooks::run( 'WikibaseRepoDataTypes', array(
&$dataTypeDefinitions ) );
if ( $instance === null ) {
+ $settings = new SettingsArray( $wgWBRepoSettings );
+
$instance = new self(
- new SettingsArray( $wgWBRepoSettings ),
- new DataTypeDefinitions( $dataTypeDefinitions ),
+ $settings,
+ new DataTypeDefinitions(
+ $dataTypeDefinitions,
+ $settings->getSetting(
'disabledDataTypes' )
+ ),
$wgContLang
);
}
@@ -520,11 +527,11 @@
}
/**
- * @param IContextSource|null $context
+ * @param IContextSource $context
*
* @return EditFilterHookRunner
*/
- private function newEditFilterHookRunner( IContextSource $context =
null ) {
+ private function newEditFilterHookRunner( IContextSource $context ) {
return new EditFilterHookRunner(
$this->getEntityTitleLookup(),
$this->getEntityContentFactory(),
@@ -1296,11 +1303,11 @@
}
/**
- * @param IContextSource|null $context
+ * @param IContextSource $context
*
* @return ApiHelperFactory
*/
- public function getApiHelperFactory( IContextSource $context = null ) {
+ public function getApiHelperFactory( IContextSource $context ) {
return new ApiHelperFactory(
$this->getEntityTitleLookup(),
$this->getExceptionLocalizer(),
@@ -1319,6 +1326,10 @@
* @return EditEntityFactory
*/
public function newEditEntityFactory( IContextSource $context = null ) {
+ if ( $context === null ) {
+ $context = RequestContext::getMain();
+ }
+
return new EditEntityFactory(
$this->getEntityTitleLookup(),
$this->getEntityRevisionLookup( 'uncached' ),
@@ -1330,6 +1341,26 @@
}
/**
+ * @param IContextSource $context
+ *
+ * @return ItemMergeInteractor
+ */
+ public function newItemMergeInteractor( IContextSource $context ) {
+ $user = $context->getUser();
+
+ return new ItemMergeInteractor(
+
$this->getChangeOpFactoryProvider()->getMergeChangeOpFactory(),
+ $this->getEntityRevisionLookup( 'uncached' ),
+ $this->getEntityStore(),
+ $this->getEntityPermissionChecker(),
+ $this->getSummaryFormatter(),
+ $user,
+ $this->newRedirectCreationInteractor( $user, $context ),
+ $this->getEntityTitleLookup()
+ );
+ }
+
+ /**
* @return EntityNamespaceLookup
*/
public function getEntityNamespaceLookup() {
diff --git a/extensions/Wikibase/repo/includes/api/MergeItems.php
b/extensions/Wikibase/repo/includes/api/MergeItems.php
index 33c573a..083a4d2 100644
--- a/extensions/Wikibase/repo/includes/api/MergeItems.php
+++ b/extensions/Wikibase/repo/includes/api/MergeItems.php
@@ -65,15 +65,7 @@
$wikibaseRepo->getEntityIdParser(),
$apiHelperFactory->getErrorReporter( $this ),
$apiHelperFactory->getResultBuilder( $this ),
- new ItemMergeInteractor(
-
$wikibaseRepo->getChangeOpFactoryProvider()->getMergeChangeOpFactory(),
- $wikibaseRepo->getEntityRevisionLookup(
'uncached' ),
- $wikibaseRepo->getEntityStore(),
- $wikibaseRepo->getEntityPermissionChecker(),
- $wikibaseRepo->getSummaryFormatter(),
- $this->getUser(),
- $wikibaseRepo->newRedirectCreationInteractor(
$this->getUser(), $this->getContext() )
- )
+ $wikibaseRepo->newItemMergeInteractor(
$this->getContext() )
);
}
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialMergeItems.php
b/extensions/Wikibase/repo/includes/specials/SpecialMergeItems.php
index 47ec779..475622e 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialMergeItems.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialMergeItems.php
@@ -59,15 +59,7 @@
new TokenCheckInteractor(
$this->getUser()
),
- new ItemMergeInteractor(
-
$wikibaseRepo->getChangeOpFactoryProvider()->getMergeChangeOpFactory(),
- $wikibaseRepo->getEntityRevisionLookup(
'uncached' ),
- $wikibaseRepo->getEntityStore(),
- $wikibaseRepo->getEntityPermissionChecker(),
- $wikibaseRepo->getSummaryFormatter(),
- $this->getUser(),
- $wikibaseRepo->newRedirectCreationInteractor(
$this->getUser(), $this->getContext() )
- )
+ $wikibaseRepo->newItemMergeInteractor(
$this->getContext() )
);
}
diff --git
a/extensions/Wikibase/repo/includes/store/ChangeDispatchCoordinator.php
b/extensions/Wikibase/repo/includes/store/ChangeDispatchCoordinator.php
index ce1211d..babda7d 100644
--- a/extensions/Wikibase/repo/includes/store/ChangeDispatchCoordinator.php
+++ b/extensions/Wikibase/repo/includes/store/ChangeDispatchCoordinator.php
@@ -73,7 +73,7 @@
* Its structure must be the one returned by selectClient(), with the
chd_seen and
* field updated to reflect any dispatch activity.
*
- * @param array $state : associative array representing the client
wiki's state after the
+ * @param array $state Associative array representing the client wiki's
state after the
* update pass.
*
* @throws Exception
diff --git a/extensions/Wikibase/repo/includes/store/sql/DispatchStats.php
b/extensions/Wikibase/repo/includes/store/sql/DispatchStats.php
index fc107ea..1fd77a9 100644
--- a/extensions/Wikibase/repo/includes/store/sql/DispatchStats.php
+++ b/extensions/Wikibase/repo/includes/store/sql/DispatchStats.php
@@ -33,7 +33,7 @@
* Loads the current dispatch status from the database and calculates
statistics.
* Before this method is called, the behavior of the getters is
undefined.
*
- * @param int|string $now: Timestamp to consider the current time.
Mostly useful for testing.
+ * @param int|string $now Timestamp to consider the current time.
Mostly useful for testing.
*
* @return int the number of client wikis.
*/
diff --git
a/extensions/Wikibase/repo/includes/store/sql/SqlChangeDispatchCoordinator.php
b/extensions/Wikibase/repo/includes/store/sql/SqlChangeDispatchCoordinator.php
index aca8d36..ff29bb9 100644
---
a/extensions/Wikibase/repo/includes/store/sql/SqlChangeDispatchCoordinator.php
+++
b/extensions/Wikibase/repo/includes/store/sql/SqlChangeDispatchCoordinator.php
@@ -294,7 +294,7 @@
}
/**
- * @param DatabaseBase $db: the repo database connection to release for
re-use.
+ * @param DatabaseBase $db The repo database connection to release for
re-use.
*/
private function releaseRepoMaster( DatabaseBase $db ) {
$this->getRepoLB()->reuseConnection( $db );
@@ -556,7 +556,7 @@
* Updates the given client wiki's entry in the dispatch table and
* releases the global lock on that wiki.
*
- * @param array $state : associative array representing the client
wiki's state before the
+ * @param array $state Associative array representing the client wiki's
state before the
* update pass, as returned by selectWiki().
*
* @throws Exception
@@ -599,7 +599,7 @@
/**
* Determines the name of the global lock that should be used to lock
the given client.
*
- * @param string $siteID: The site ID of the wiki to lock
+ * @param string $siteID The site ID of the wiki to lock
*
* @return string the lock name to use.
*/
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php
index c1efb0e..ab2773d 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/Interactors/ItemMergeInteractorTest.php
@@ -2,10 +2,12 @@
namespace Wikibase\Test\Interactors;
+use ContentHandler;
use HashSiteStore;
use Status;
use TestSites;
use User;
+use WatchedItem;
use Wikibase\ChangeOp\MergeChangeOpsFactory;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\ItemId;
@@ -98,6 +100,22 @@
}
/**
+ * @return EntityTitleLookup
+ */
+ private function getEntityTitleLookup() {
+ $mock = $this->getMock( 'Wikibase\Lib\Store\EntityTitleLookup'
);
+
+ $mock->expects( $this->any() )
+ ->method( 'getTitleForId' )
+ ->will( $this->returnCallback( function( EntityId $id )
{
+ $contentHandler =
ContentHandler::getForModelID( CONTENT_MODEL_WIKIBASE_ITEM );
+ return $contentHandler->getTitleForId( $id );
+ } ) );
+
+ return $mock;
+ }
+
+ /**
* @param User|null $user
*
* @return ItemMergeInteractor
@@ -132,7 +150,8 @@
$user,
$this->getMockEditFilterHookRunner(),
$this->mockRepository
- )
+ ),
+ $this->getEntityTitleLookup()
);
return $interactor;
@@ -294,6 +313,9 @@
$ignoreConflicts = explode( '|', $ignoreConflicts );
}
+ $watchedItem = $this->getWatchedItemForId( $fromId );
+ $watchedItem->addWatch();
+
$interactor->mergeItems( $fromId, $toId, $ignoreConflicts,
'CustomSummary' );
$actualTo = $this->testHelper->getEntity( $toId );
@@ -307,6 +329,8 @@
$toRevId,
'summary for target item'
);
+
+ $this->assertItemMergedIntoIsWatched( $toId );
}
private function assertRedirectWorks( $expectedFrom, $fromId, $toId ) {
@@ -324,6 +348,18 @@
}
}
+ private function assertItemMergedIntoIsWatched( ItemId $toId ) {
+ $watchedItem = $this->getWatchedItemForId( $toId );
+ $this->assertTrue( $watchedItem->isWatched(), 'Item merged into
is being watched' );
+ }
+
+ private function getWatchedItemForId( ItemId $itemId ) {
+ return WatchedItem::fromUserTitle(
+ User::newFromName( 'UTSysop' ),
+ $this->getEntityTitleLookup()->getTitleForId( $itemId )
+ );
+ }
+
public function mergeFailureProvider() {
return array(
'missing from' => array( new ItemId( 'Q100' ), new
ItemId( 'Q2' ), array(), 'no-such-entity' ),
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
index cdca0ab..c0ac38e 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
@@ -14,7 +14,6 @@
use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataModel\SerializerFactory;
-use Wikibase\DataModel\Services\Lookup\EntityLookup;
use Wikibase\DataModel\Snak\PropertyValueSnak;
use Wikibase\EntityRevision;
use Wikibase\RedirectRevision;
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
index a8b71df..130254f 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
@@ -300,6 +300,16 @@
$this->assertInstanceOf( 'Wikibase\EditEntityFactory', $factory
);
}
+ public function testNewEditEntityFactory_withoutContextParam() {
+ $factory = $this->getWikibaseRepo()->newEditEntityFactory();
+ $this->assertInstanceOf( 'Wikibase\EditEntityFactory', $factory
);
+ }
+
+ public function testNewItemMergeInteractor() {
+ $interactor = $this->getWikibaseRepo()->newItemMergeInteractor(
new RequestContext() );
+ $this->assertInstanceOf(
'Wikibase\Repo\Interactors\ItemMergeInteractor', $interactor );
+ }
+
public function testGetTermLookup() {
$service = $this->getWikibaseRepo()->getTermLookup();
$this->assertInstanceOf(
'Wikibase\DataModel\Services\Lookup\TermLookup', $service );
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
index f98113b..736e13b 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
@@ -11,11 +11,15 @@
use User;
use Wikibase\ChangeOp\ChangeOpFactoryProvider;
use Wikibase\DataModel\Entity\EntityRedirect;
-use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\BasicEntityIdParser;
+use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\Entity\ItemId;
+use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Services\Statement\GuidGenerator;
+use Wikibase\Lib\Store\EntityTitleLookup;
use Wikibase\Repo\Api\ApiErrorReporter;
use Wikibase\Repo\Api\MergeItems;
+use Wikibase\Repo\Content\EntityContentFactory;
use Wikibase\Repo\Interactors\ItemMergeInteractor;
use Wikibase\Repo\Interactors\RedirectCreationInteractor;
use Wikibase\Repo\Store\EntityPermissionChecker;
@@ -123,6 +127,18 @@
}
/**
+ * @return EntityTitleLookup
+ */
+ private function getEntityTitleLookup() {
+ $contentModelMappings = array(
+ Item::ENTITY_TYPE => CONTENT_MODEL_WIKIBASE_ITEM,
+ Property::ENTITY_TYPE => CONTENT_MODEL_WIKIBASE_PROPERTY
+ );
+
+ return new EntityContentFactory( $contentModelMappings );
+ }
+
+ /**
* @param MergeItems $module
* @param EntityRedirect|null $expectedRedirect
*/
@@ -161,7 +177,8 @@
$this->getPermissionCheckers(),
$wikibaseRepo->getSummaryFormatter(),
$module->getUser(),
- $this->getMockRedirectCreationInteractor(
$expectedRedirect )
+ $this->getMockRedirectCreationInteractor(
$expectedRedirect ),
+ $this->getEntityTitleLookup()
)
);
}
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialMergeItemsTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialMergeItemsTest.php
index f15e5c6..55e2180 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialMergeItemsTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialMergeItemsTest.php
@@ -12,7 +12,11 @@
use User;
use Wikibase\ChangeOp\MergeChangeOpsFactory;
use Wikibase\DataModel\Entity\EntityId;
+use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\Entity\Property;
use Wikibase\Lib\MessageException;
+use Wikibase\Lib\Store\EntityTitleLookup;
+use Wikibase\Repo\Content\EntityContentFactory;
use Wikibase\Repo\Hooks\EditFilterHookRunner;
use Wikibase\Repo\Interactors\ItemMergeException;
use Wikibase\Repo\Interactors\ItemMergeInteractor;
@@ -98,6 +102,18 @@
}
/**
+ * @return EntityTitleLookup
+ */
+ private function getEntityTitleLookup() {
+ $contentModelMappings = array(
+ Item::ENTITY_TYPE => CONTENT_MODEL_WIKIBASE_ITEM,
+ Property::ENTITY_TYPE => CONTENT_MODEL_WIKIBASE_PROPERTY
+ );
+
+ return new EntityContentFactory( $contentModelMappings );
+ }
+
+ /**
* @param SpecialMergeItems $page
* @param User $user
*/
@@ -153,7 +169,8 @@
$user,
$this->getMockEditFilterHookRunner(),
$this->mockRepository
- )
+ ),
+ $this->getEntityTitleLookup()
)
);
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index b687d6d..dbe8e49 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1236,12 +1236,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "a898b774afea645b3c17330723294fc6dd359ad4"
+ "reference": "2657287244ce617a9525cc4222a0e54d4b06e002"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/a898b774afea645b3c17330723294fc6dd359ad4",
- "reference": "a898b774afea645b3c17330723294fc6dd359ad4",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2657287244ce617a9525cc4222a0e54d4b06e002",
+ "reference": "2657287244ce617a9525cc4222a0e54d4b06e002",
"shasum": ""
},
"require": {
@@ -1273,7 +1273,7 @@
"jakub-onderka/php-parallel-lint": "0.9.2",
"mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
},
- "time": "2016-01-11 21:54:58",
+ "time": "2016-01-13 08:07:49",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
@@ -1407,7 +1407,7 @@
"source": {
"type": "git",
"url":
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityExternalValidation",
- "reference": "a69f33f6fa1820a063c3c006f1dc20ba6db9a2a4"
+ "reference": "17b1d8644a10776ecf0921ab69d743763896a032"
},
"require": {
"php": ">=5.3.0",
@@ -1420,7 +1420,7 @@
"phpunit/phpunit": "~3.7,>=3.7.37",
"satooshi/php-coveralls": "dev-master"
},
- "time": "2016-01-02 00:03:11",
+ "time": "2016-01-12 21:49:33",
"type": "mediawiki-extension",
"installation-source": "source",
"autoload": {
--
To view, visit https://gerrit.wikimedia.org/r/263826
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia83ce5a9811f241ec1f672518851ffa3a4a71f38
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits