forked from Cyber/archwiki
Update to MediaWiki 1.36.1
This commit is contained in:
parent
cfc8fe0a63
commit
67d3d9cad3
42
CREDITS
42
CREDITS
|
@ -1,5 +1,5 @@
|
|||
{{int:version-credits-summary}} <!--
|
||||
MediaWiki 1.35 is a collaborative project released under the
|
||||
MediaWiki 1.36 is a collaborative project released under the
|
||||
GNU General Public License v2. We would like to recognize the
|
||||
following names for their contribution to the product.
|
||||
|
||||
|
@ -8,6 +8,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
== Contributors ==
|
||||
<!-- Updates to this list made with maintenance/updateCredits.php -->
|
||||
<!-- BEGIN CONTRIBUTOR LIST -->
|
||||
* [[mw:User:ST47]]
|
||||
* 4shadoww
|
||||
* aalekhN
|
||||
* Aaron Ball
|
||||
|
@ -35,6 +36,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Agabi10
|
||||
* Agbad
|
||||
* Ahmad Sherif
|
||||
* Ahmon Dancy
|
||||
* Ajayrahul P
|
||||
* Akinwale Alagbe
|
||||
* Alangi Derick
|
||||
|
@ -42,6 +44,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Alejandro Mery
|
||||
* Aleksey Bekh-Ivanov
|
||||
* AlephNull
|
||||
* Alex Dean
|
||||
* Alex Ezell
|
||||
* Alex Ivanov
|
||||
* Alex Shih-Han Lin
|
||||
|
@ -60,11 +63,13 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Ammar
|
||||
* Ammar Abdulhamid
|
||||
* Ammarpad
|
||||
* Amorymeltzer
|
||||
* amritsreekumar
|
||||
* ananay
|
||||
* Anders Wegge Jakobsen
|
||||
* Andre Engels
|
||||
* Andre Klapper
|
||||
* Andreas P
|
||||
* Andrew Bogott
|
||||
* Andrew Dunbar
|
||||
* Andrew Garrett
|
||||
|
@ -75,8 +80,10 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Andrius R
|
||||
* andymw
|
||||
* Angela Beesley Starling
|
||||
* anjali041
|
||||
* ankit
|
||||
* ankur
|
||||
* AntiCompositeNumber
|
||||
* Antoine Musso
|
||||
* Antoni Siek
|
||||
* Antonio Ospite
|
||||
|
@ -202,6 +209,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* David Causse
|
||||
* David Chan
|
||||
* David E. Narváez
|
||||
* David Kamholz
|
||||
* David Lynch
|
||||
* David McCabe
|
||||
* David Mudrák
|
||||
|
@ -220,8 +228,10 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* didicodes
|
||||
* Diederik van Liere
|
||||
* divadsn
|
||||
* diwanshu885
|
||||
* Domas Mituzas
|
||||
* Douglas Gardner
|
||||
* Dov Alperin
|
||||
* DPStokesNZ
|
||||
* dr0ptp4kt
|
||||
* Ebrahim Byagowi
|
||||
|
@ -231,6 +241,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Eddie Greiner-Petter
|
||||
* Edward Chernenko
|
||||
* Edward Z. Yang
|
||||
* edwintam
|
||||
* Egbe Eugene
|
||||
* Elisabeth Bauer
|
||||
* Elliott Eggleston
|
||||
|
@ -262,6 +273,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Federico Leva
|
||||
* Felipe L. Ewald
|
||||
* Fenzik Joseph
|
||||
* Ferran Tufan
|
||||
* Filippo Giunchedi
|
||||
* firebus
|
||||
* Florian Schmidt
|
||||
|
@ -304,6 +316,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Hank Hulet
|
||||
* Happy-melon
|
||||
* haritha28
|
||||
* Harriet Ayugi
|
||||
* Harry Burt
|
||||
* Hazard-SJ
|
||||
* Hector A Escobedo
|
||||
|
@ -319,6 +332,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Ian Marlier
|
||||
* IijimaYun
|
||||
* Ilmari Karonen
|
||||
* Inductiveload
|
||||
* Inez Korczyński
|
||||
* IoannisKydonis
|
||||
* Ireas
|
||||
|
@ -395,7 +409,9 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Justin Du
|
||||
* Kai Nissen
|
||||
* Kai_WMDE
|
||||
* Kaleem Bhatti
|
||||
* kaligula
|
||||
* kalle
|
||||
* Karsten Hoffmeyer
|
||||
* Kartik Mistry
|
||||
* Karun Dambiec
|
||||
|
@ -416,6 +432,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Kunal Grover
|
||||
* Kunal Mehta
|
||||
* Kwan Ting Chan
|
||||
* Labdajiwa
|
||||
* Laurence Parry
|
||||
* Lee Bousfield
|
||||
* Lee Daniel Crocker
|
||||
|
@ -439,6 +456,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Liuxinyu970226
|
||||
* Ljudusika
|
||||
* Lojjik Braughler
|
||||
* lokal-profil
|
||||
* Louperivois
|
||||
* Ltrlg
|
||||
* Luc Van Oostenryck
|
||||
|
@ -447,6 +465,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Luigi Corsaro
|
||||
* Luis Felipe Schenone
|
||||
* LukBukkit
|
||||
* Luke
|
||||
* Luke Faraone
|
||||
* Luke Welling
|
||||
* Lupin
|
||||
|
@ -456,6 +475,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* m4tx
|
||||
* Madman
|
||||
* madurangasiriwardena
|
||||
* Maggie Epps
|
||||
* Magnus Manske
|
||||
* Mahuton
|
||||
* mainframe98
|
||||
|
@ -482,6 +502,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Markus Krötzsch
|
||||
* Marooned
|
||||
* Martin Urbanec
|
||||
* Maryum Styles
|
||||
* Massaf
|
||||
* Máté Szabó
|
||||
* Matěj Grabovský
|
||||
|
@ -502,6 +523,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Max Semenik
|
||||
* Max Sikström
|
||||
* mayankmadan
|
||||
* mech
|
||||
* Mehmet Mert Yıldıran
|
||||
* Melos
|
||||
* Memmie Lenglet
|
||||
|
@ -523,8 +545,10 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Michał Zieliński
|
||||
* Mike Horvath
|
||||
* Mikhail Popov
|
||||
* Mikko Miettinen
|
||||
* Minh Nguyễn
|
||||
* MinuteElectron
|
||||
* misdre
|
||||
* Misza13
|
||||
* mjbmr
|
||||
* moejoe0000
|
||||
|
@ -550,6 +574,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* nadeesha
|
||||
* Nakon
|
||||
* Namit
|
||||
* Nardog
|
||||
* Nathan Larson
|
||||
* Nathaniel Herman
|
||||
* navisk13
|
||||
|
@ -557,6 +582,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Nemo bis
|
||||
* nephele
|
||||
* Nicholas Pisarro, Jr
|
||||
* Nicholas Ray
|
||||
* Nick Jenkins
|
||||
* nicoco007
|
||||
* Nicolaie Constantinescu
|
||||
|
@ -609,6 +635,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Petar Petković
|
||||
* Peter Coombe
|
||||
* Peter Gehres
|
||||
* Peter Grassberger
|
||||
* Peter Hedenskog
|
||||
* Peter Ovchyn
|
||||
* Peter Potrowl
|
||||
|
@ -618,6 +645,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Petr Pchelko
|
||||
* Phantom42
|
||||
* Philip Tzou
|
||||
* Phuedx
|
||||
* physikerwelt (Moritz Schubotz)
|
||||
* Pierre Boutet
|
||||
* PieRRoMaN
|
||||
|
@ -646,6 +674,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Quim Gil
|
||||
* Rafid Aslam
|
||||
* rahul21
|
||||
* rail
|
||||
* Raimond Spekking
|
||||
* Ramunas Geciauskas
|
||||
* Remember the dot
|
||||
|
@ -690,6 +719,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* ryan10145
|
||||
* S Page
|
||||
* Sahajsk`
|
||||
* sahil
|
||||
* Saint Johann
|
||||
* Sakretsu
|
||||
* Salvatore Ingala
|
||||
|
@ -710,6 +740,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Sean Pringle
|
||||
* Seb35
|
||||
* Sebastian Brückner
|
||||
* Sébastien Beyou
|
||||
* Sébastien Santoro
|
||||
* Sergio Santoro
|
||||
* Serhio Magpie
|
||||
|
@ -725,6 +756,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Shinjiman
|
||||
* shirayuki
|
||||
* Shreyas Minocha
|
||||
* shubham656
|
||||
* Sidhant Gupta
|
||||
* Siebrand Mazeland
|
||||
* Simeon Dahl
|
||||
|
@ -735,10 +767,10 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Solitarius
|
||||
* Sorawee Porncharoenwase
|
||||
* Søren Løvborg
|
||||
* Southparkfan
|
||||
* Soxred93
|
||||
* SQL
|
||||
* Srikanth Lakshmanan
|
||||
* ST47
|
||||
* Stanislav Malyshev
|
||||
* Stefano Codari
|
||||
* Steinsplitter
|
||||
|
@ -754,6 +786,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Storm1seven
|
||||
* Str4nd
|
||||
* Strainu
|
||||
* STran
|
||||
* Subin Siby
|
||||
* Subramanya Sastry
|
||||
* suecarmol
|
||||
|
@ -806,6 +839,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Tpt
|
||||
* Trevor Parscal
|
||||
* Trey Jones
|
||||
* tsepothoabala
|
||||
* TyA
|
||||
* Tychay
|
||||
* Tyler Anthony Romeo
|
||||
|
@ -816,6 +850,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* UltrasonicNXT
|
||||
* Umherirrender
|
||||
* utkarsh95
|
||||
* Vadim Kovalenko
|
||||
* Valerio Bozzolan
|
||||
* Van de Bugger
|
||||
* Varun Das
|
||||
|
@ -832,6 +867,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* vishnu
|
||||
* Vitaliy Filippov
|
||||
* Vivek Ghaisas
|
||||
* vladshapik
|
||||
* vlakoff
|
||||
* Volker E
|
||||
* Waldir Pimenta
|
||||
|
@ -845,6 +881,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* XP1
|
||||
* Yaron Koren
|
||||
* Yaroslav Melnychuk
|
||||
* yash9265
|
||||
* Yesid Carrillo
|
||||
* Yifei He
|
||||
* Yogesh K S
|
||||
|
@ -854,6 +891,7 @@ The following list can be found parsed under Special:Version/Credits -->
|
|||
* Yuriy Shnitkovskiy
|
||||
* Yusuke Matsubara
|
||||
* Yuvi Panda
|
||||
* Zabe
|
||||
* Zachary Hauri
|
||||
* Zak Greant
|
||||
* Željko Filipin
|
||||
|
|
7
INSTALL
7
INSTALL
|
@ -5,19 +5,22 @@ Installing MediaWiki
|
|||
Starting with MediaWiki 1.2.0, it's possible to install and configure the wiki
|
||||
"in-place", as long as you have the necessary prerequisites available.
|
||||
|
||||
Required software as of MediaWiki 1.35.0:
|
||||
Required software as of MediaWiki 1.36.0:
|
||||
|
||||
* Web server with PHP 7.3.19 or higher, plus the following extensions:
|
||||
** ctype
|
||||
** dom
|
||||
** fileinfo
|
||||
** iconv
|
||||
** intl
|
||||
** json
|
||||
** libxml
|
||||
** mbstring
|
||||
** xml
|
||||
** xmlreader
|
||||
* A SQL server, the following types are supported
|
||||
** MySQL 5.5.8 or higher
|
||||
** PostgreSQL 9.2 or higher
|
||||
** PostgreSQL 9.4 or higher
|
||||
** SQLite 3.8.0 or higher
|
||||
|
||||
MediaWiki is developed and tested mainly on Unix/Linux platforms, but should
|
||||
|
|
1815
RELEASE-NOTES-1.35
1815
RELEASE-NOTES-1.35
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,881 @@
|
|||
= MediaWiki 1.36 =
|
||||
|
||||
== MediaWiki 1.36.1 ==
|
||||
|
||||
This is a security and maintenance release of the MediaWiki 1.36 branch.
|
||||
|
||||
=== Changes since MediaWiki 1.36.0 ===
|
||||
* (T283942) DatabaseInstaller.php: Only run core schema file if specified table
|
||||
doesn't already exist.
|
||||
* (T247223) Optimise MessageCache::isMainCacheable() for the single-message
|
||||
case.
|
||||
* (T283244) JavaScriptMinifer: Fix handling of "delete" as object property.
|
||||
* (T284391) Fix SkinModule to correctly prepend remote path on document root
|
||||
installs.
|
||||
* (T235554) Disable DEFER_SET_LENGTH_AND_FLUSH headers to avoid HTTP errors.
|
||||
* (T278579) Don't send headers on ob_end_clean().
|
||||
* (T285287) MultiHttpClient: Replace PHP version check with defined().
|
||||
* (T280226, CVE-2021-35197) SECURITY: Prevent blocked users from purging pages.
|
||||
|
||||
== MediaWiki 1.36.0 ==
|
||||
|
||||
=== Changes since MediaWiki 1.36.0-rc.0 ===
|
||||
* (T248481) rdbms: Use server time in
|
||||
DatabaseMysqlBase::getLagFromPtHeartbeat().
|
||||
* (T281549) WebInstaller: Don't show the announce-l subscribe checkbox for now.
|
||||
* (T264214) Follow-ups for UserGroupManager.
|
||||
* (T282280) resourceloader: Fix path-only URLs in wiki modules when script path
|
||||
is docroot.
|
||||
* (T281972) UserIdentityValue: Introduce convenience static factory methods.
|
||||
* (T230428) Make page_is_redirect and page_is_new unsigned.
|
||||
* (T280292) Legacy feature should not load thumbnail style rules (only layout).
|
||||
* (T283247) Freenode -> Libera per wikimedia moving from freenode to libera.
|
||||
* (T280270) composer: Lock Parsoid version to specific 0.13.0 release.
|
||||
* (T142663) Add extension.json merge strategy "provide_default".
|
||||
* (T283540) HookContainer: Fix normalization of callback for static handler.
|
||||
* (T283464) registration: Fix array order for array_replace_recursive merge
|
||||
strategy.
|
||||
* (T283539) Interwiki: Fix calling "onInterwikiLoadPrefix" hook.
|
||||
* (T282594) Timeless: Re-branch to 40eb3dad1for REL1_36.
|
||||
|
||||
== MediaWiki 1.36.0-rc.0 ==
|
||||
|
||||
== Upgrading notes for 1.36 ==
|
||||
Don't forget to always back up your database before upgrading!
|
||||
|
||||
See the file UPGRADE for more detailed per-version upgrade instructions from the
|
||||
oldest supported upgrading version, MediaWiki 1.27.
|
||||
|
||||
Some specific notes for MediaWiki 1.36 upgrades are below:
|
||||
* MediaWiki 1.36 now requires the PHP internationalization extension (commonly
|
||||
referred to as Intl, ext-intl, or php-intl).
|
||||
* The MediaWiki:Autoblock_whitelist block exemption control has been moved to
|
||||
MediaWiki:Block-autoblock-exemptionlist. If you use this feature, please move
|
||||
the MediaWiki:Autoblock_whitelist page.
|
||||
* (T275334) $wgExtensionFunctions is sometimes used to change configuration
|
||||
settings. This is not safe; extension functions are run relatively late, some
|
||||
services are already initialized by that point and so they use the old
|
||||
configuration. Changes in 1.36 make this kind of breakage even more common.
|
||||
You can use the MediaWikiServices hook instead. (In the future there might be
|
||||
a dedicated hook for configuration changes.)
|
||||
|
||||
For notes on 1.35.x and older releases, see HISTORY.
|
||||
|
||||
=== Configuration changes for system administrators in 1.36 ===
|
||||
The MediaWiki update script, maintenance/update.php, used to accept `--nopurge`
|
||||
as an option to prevent clearing caches stored in the database during upgrade.
|
||||
This is no longer encouraged, and the option has been removed.
|
||||
|
||||
==== New configuration ====
|
||||
* (T256001) $wgManualRevertSearchRadius – This setting controls a new feature
|
||||
that marks edits as reverts if they restore the page to an exact previous
|
||||
state. This configuration variable sets the maximum number of revisions of a
|
||||
page that will be checked against every new edit. Set this to 0 to disable the
|
||||
feature entirely.
|
||||
* (T244058) $wgOldRevisionParserCacheExpireTime — This setting was added to
|
||||
control caching of ParserOutput for old (non-current) revisions.
|
||||
* (T265263) $wgRememberMe - This setting configures the "remember me" checkbox
|
||||
on account log-in systems via RememberMeAuthenticationRequest.
|
||||
* (T157145) $wgSkinMetaTags – This setting lets sysadmins configure skins that
|
||||
support meta tags. These tags make sharing of MediaWiki pages on a variety of
|
||||
social platforms more contentful and thus useful.
|
||||
* (T280944) $wgIncludejQueryMigrate - This setting lets sysadmins disable the
|
||||
jQuery Migrate plugin. It has been enabled by default since MediaWiki 1.27.
|
||||
In future releases it will be disabled by default.
|
||||
|
||||
==== Changed configuration ====
|
||||
* $wgLogos – This setting selects the logo shown on the site. The default value
|
||||
for the site logo, which is shown in an install if you have not set one, will
|
||||
now be the new logo of MediaWiki.
|
||||
* (T274695) $wgAjaxEditStash — This setting, to disable the edit stashing
|
||||
feature when users start writing an edit summary, has been deprecated. In
|
||||
future releases, this feature will always be enabled.
|
||||
* $wgUploadStashScalerBaseUrl – This setting, to enable remote on-demand media
|
||||
scaling, was deprecated. Use the `thumbProxyUrl` setting in $wgLocalFileRepo
|
||||
instead.
|
||||
* $wgSlaveLagWarning and $wgSlaveLagCritical – These settings have been renamed,
|
||||
to $wgDatabaseReplicaLagWarning & $wgDatabaseReplicaLagCritical respectively.
|
||||
The former configuration variable names are deprecated, but will be used as
|
||||
the fall back if they are still set, and remain temporarily available for
|
||||
extensions which try to read them.
|
||||
* $wgWANObjectCaches - The "coalesceKeys" option was removed without deprecation
|
||||
and replaced by a new "coalesceScheme" option, set to "hash_stop" by default.
|
||||
If you use Dynomite, then set the new "coalesceKeys" option to "hash_tag". The
|
||||
"cluster" and "mcrouterAware" options were also removed without deprecation.
|
||||
Use "broadcastRoutingPrefix" instead.
|
||||
|
||||
==== Removed configuration ====
|
||||
* $wgUseTwoButtonsSearchForm — This setting, deprecated in 1.35, has been
|
||||
removed.
|
||||
* $wgAllowImageMoving — This setting, deprecated in 1.35, has been removed. Use
|
||||
group permission settings instead. For example, to prevent sysops from
|
||||
moving files, set `$wgGroupPermissions['sysop']['movefile'] = false;`
|
||||
* $wgExtNewTables, $wgExtNewFields, $wgExtNewIndexes, $wgExtPGNewFields,
|
||||
$wgExtPGAlteredFields, $wgExtModifiedFields — These settings were removed.
|
||||
They became obsolete after 1.17 overhauled the database updater, but were kept
|
||||
for backwards compatibility. The LoadExtensionSchemaUpdates hook should be
|
||||
used instead.
|
||||
* $wgParserConf - This setting, deprecated in 1.35, has been removed. The last
|
||||
use of this setting was for pre-processor configuration, which was deprecated
|
||||
in 1.34 and removed in 1.35.
|
||||
* $wgEnableRestAPI - This setting, ignored since 1.35, has been removed.
|
||||
* $wgPagePropsHaveSortkey – This temporary setting has been removed, along with
|
||||
the schema change upgrade path it controlled. If your site is still using it,
|
||||
meaning you have not yet applied the `pp_sortkey` schema change from 1.24, you
|
||||
must now apply it before upgrading.
|
||||
* The deprecated password policies PasswordCannotMatchBlacklist and
|
||||
PasswordNotInLargeBlacklist were removed. Please use
|
||||
PasswordCannotMatchDefaults and PasswordNotInCommonList respectively instead.
|
||||
|
||||
=== New user-facing features in 1.36 ===
|
||||
* The logo of MediaWiki has changed. This means that the "Powered By MediaWiki"
|
||||
button shown in the skin footer will be different.
|
||||
* All HTML5 named entities are now accepted in wikitext.
|
||||
* (T106263) The file description page's alternate sizes now include 2048px.
|
||||
|
||||
=== New developer features in 1.36 ===
|
||||
* Parser test files can now declare a dependency on a specific extension being
|
||||
loaded, not just on the presence of a certain extension tag hook. This is a
|
||||
better fit for extensions like TimedMediaHandler, which affect the output but
|
||||
don't register parser hooks. Use `extension:Foo` in the `!! hooks` section of
|
||||
your parser test file to declare a dependency on the `Foo` extension being
|
||||
loaded.
|
||||
* To expose code previously present in SpecialBlock/SpecialUnblock to other
|
||||
parts of the code, or to extensions, the new BlockUser and UnblockUser command
|
||||
objects were added. Use the BlockUserFactory and UnblockUserFactory services
|
||||
to create them.
|
||||
* The hook UsersPagerDoBatchLookupsHook takes now a \Wikimedia\Rdbms\IDatabase,
|
||||
instead of \Wikimedia\Rdbms\DBConnRef, as the first parameter.
|
||||
* MediaHandlers can now customize the formatting of the metadata they emit by
|
||||
over-riding MediaHandler::formatTag( $key, $value ). The default for unknown
|
||||
tags is numeric formatting; non-EXIF tags which are non-numeric should always
|
||||
use this method to specify the desired formatting.
|
||||
* The new 'title' type can be used to validate action API and REST API inputs.
|
||||
* The new ArticleParserOptions hook allows customizing the parser options used
|
||||
to parse wikitext for an article, based on user preferences, title, etc.
|
||||
* The new 'raw' type can be used to validate action API inputs. It bypasses the
|
||||
Unicode NFC normalization done on inputs of type 'string', so it more suitable
|
||||
when the input is binary or may contain deprecated Unicode sequences or
|
||||
characters (such as U+2001) that should be passed unmodified.
|
||||
* (T260330) A new abstraction for running shell commands has been introduced,
|
||||
called BoxedCommand. A BoxedCommand object can be obtained with
|
||||
MediaWikiServices::getInstance()->getCommandFactory()->createBoxed().
|
||||
* ResourceLoader modules can now mark themselves as ES6-only by setting
|
||||
`'es6' => true` in their module definition. ES6-only modules will not be
|
||||
executed in browsers that don't support ES6, such as IE11.
|
||||
|
||||
=== External library changes in 1.36 ===
|
||||
|
||||
==== New external libraries ====
|
||||
* Added wikimedia/minify 2.2.2.
|
||||
* Added wikimedia/request-timeout 1.1.0.
|
||||
* Added wikimedia/shellbox 1.0.4.
|
||||
* Added WVUI 0.1.0.
|
||||
|
||||
==== Changed external libraries ====
|
||||
* Updated composer/semver from 1.5.1 to 3.2.4.
|
||||
* Updated guzzlehttp/guzzle from 6.5.4 to 7.2.0.
|
||||
* Updated jQuery from v3.4.1 to v3.6.0.
|
||||
* Updated jQuery Migrate from v3.1.0 to v3.3.2.
|
||||
* Updated jquery.client from 2.0.2 to 3.0.0.
|
||||
* Updated OOUI from 0.39.3 to 0.41.3.
|
||||
* Updated pear/mail_mime from 1.10.8 to 1.10.9.
|
||||
* Updated pear/net_smtp from 1.9.1 to 1.9.2.
|
||||
* Updated pimple/pimple from 3.3.0 to 3.3.1.
|
||||
* Updated wikimedia/at-ease from 2.0.0 to 2.1.0.
|
||||
* Updated wikimedia/cldr-plural-rule-parser from 1.0.0 to 2.0.0.
|
||||
* Updated wikimedia/common-passwords from 0.2.0 to 0.3.0.
|
||||
* Updated wikimedia/composer-merge-plugin from 1.4.1 to 2.0.1.
|
||||
* Updated wikimedia/html-formatter from 1.0.2 to 3.0.1.
|
||||
* Updated wikimedia/ip-set from 2.1.0 to 3.0.0.
|
||||
* Updated wikimedia/ip-utils from 1.0.0 to 3.0.2.
|
||||
* Updated wikimedia/less.php from 3.0.0 to 3.1.0.
|
||||
* Updated wikimedia/object-factory from 2.1.0 to 3.0.0.
|
||||
* Updated wikimedia/php-session-serializer from 1.0.7 to 2.0.0.
|
||||
* Updated wikimedia/remex-html from 2.2.0 to 2.2.2.
|
||||
* Updated wikimedia/utfnormal from 2.0.0 to 3.0.2.
|
||||
* Updated wikimedia/wait-condition-loop from 1.0.1 to 2.0.1.
|
||||
* Updated wikimedia/xmp-reader from 0.7.0 to 0.8.1.
|
||||
|
||||
===== Changed development-only external libraries =====
|
||||
* Updated composer/spdx-licenses from 1.5.3 to 1.5.4.
|
||||
* Updated doctrine/dbal from 2.10.2 to 3.0.0.
|
||||
* Updated doctrine/sql-formatter from 1.1.0 to 1.1.1.
|
||||
* Updated mediawiki/mediawiki-phan-config from 0.10.2 to 0.10.6.
|
||||
* Updated monolog/monolog from 1.25.3 to 2.2.0.
|
||||
* Updated nikic/php-parser from 4.4.0 to 4.10.2.
|
||||
* Updated psy/psysh from 0.10.4 to 0.10.5.
|
||||
* Updated seld/jsonlint from 1.7.1 to 1.8.3.
|
||||
* Updated symfony/yaml from ~3.4|~4.3|~5.0.5 to ~3.4|~5.1.
|
||||
* Updated wikimedia/testing-access-wrapper from 1.0.0 to 2.0.0.
|
||||
|
||||
==== Removed external libraries ====
|
||||
* The html5shiv library has been removed, as support for Internet Explorer 8 has
|
||||
been dropped.
|
||||
* The wikimedia/avro suggested development-only library has been removed, as the
|
||||
support for logging in Avro format has been dropped.
|
||||
|
||||
=== Bug fixes in 1.36 ===
|
||||
* (T190285) ApiEditPage module used to switch 'undo' and 'undoafter' parameters,
|
||||
if it founds you reversed them (based on assumption that higher revision ID
|
||||
indicates a later revision). The assumption is not always true, and is
|
||||
hindering proper edit undoing in some cases, hence the logic has been removed.
|
||||
Reversing the parameters will now lead to edit conflict or undefined behavior.
|
||||
* (T263340) In history merging, pages with a content model that does not support
|
||||
redirects will now be recorded as deleted if no revision is being left in the
|
||||
source page (that's if all revisions of the page have been merged to another).
|
||||
|
||||
=== Action API changes in 1.36 ===
|
||||
* (T269636) `Access-Control-Max-Age` was added to the default list of headers
|
||||
allowed for cross-origin API requests ($wgAllowedCorsHeaders).
|
||||
* (T258108) Accounts with the 'bot' right no longer have pages automatically
|
||||
added to the watchlist when making API edits, regardless of their preferences.
|
||||
This is to reduce the size of the watchlist data in the database. To add API
|
||||
bot edits to the watchlist, explicitly set the 'watch' option.
|
||||
|
||||
=== Languages updated in 1.36 ===
|
||||
MediaWiki supports over 350 languages. Many localisations are updated regularly.
|
||||
Below only new and removed languages are listed, as well as changes to languages
|
||||
because of Phabricator reports.
|
||||
|
||||
* (T258975) Added a Latin/Cyrillic script converter for the Talysh language.
|
||||
* (T245359) Split Bali script locale from "ban" (Balinese) (ban-bali).
|
||||
* (T264582) Added language support for Madurese (mad).
|
||||
* (T259330) Added language support for Mara (mrh).
|
||||
* (T263968) Added language support for Nias (nia).
|
||||
* (T270365) Added language support for Tyap (kcg).
|
||||
* (T276745) Added language support for Wayuu (guc).
|
||||
|
||||
=== Breaking changes in 1.36 ===
|
||||
* Grade C (non-JavaScript) support for Internet Explorer 8 has been dropped.
|
||||
* (T249459) wfIsBadImage(), deprecated in 1.34, has been removed.
|
||||
* (T176526) EditPage::getContextTitle() will now throw an exception if a context
|
||||
title was not set using setContextTitle(). Previously, this mis-use would only
|
||||
cause a deprecation warning to be emitted.
|
||||
* The DeferredStringifier class, deprecated since 1.31, was removed.
|
||||
* Multiple methods that fell back to the $wgUser global variable were
|
||||
individually hard deprecated previously. The following have now been removed:
|
||||
- ApiTestCase::doLogin
|
||||
- Article::doDeleteArticle
|
||||
- Article::doDeleteArticleReal
|
||||
- Article::getComment
|
||||
- Article::getCreator
|
||||
- Article::getUser
|
||||
- Article::getUserText
|
||||
- Article::insertProtectNullRevision
|
||||
- File::delete
|
||||
- File::recordUpload
|
||||
- ForeignDBFile::delete
|
||||
- ForeignDBFile::recordUpload
|
||||
- LocalFile::delete
|
||||
- LocalFile::deleteOld
|
||||
- LocalFile::recordUpload
|
||||
- PageArchive::undelete
|
||||
- RecentChange::markPatrolled
|
||||
- Title::getUserPermissionsErrors
|
||||
- Title::quickUserCan
|
||||
- Title::userCan
|
||||
- WebRequest::getLimitOffset
|
||||
- WikiPage::doDeleteArticle
|
||||
- WikiPage::insertProtectNullRevision
|
||||
* The SpecialPageFactory class, deprecated in 1.32, has been removed. Use the
|
||||
SpecialPageFactory service instead.
|
||||
* Multiple methods previously had optional User parameters, with fallbacks
|
||||
to the $wgUser global variable. Not passing a User to those methods was
|
||||
previously hard deprecated, and support for not passing a User has now
|
||||
been removed:
|
||||
- ArchivedFile::userCan
|
||||
- File::userCan
|
||||
- FileDeleteForm::__construct
|
||||
- FileDeleteForm::doDelete
|
||||
- LocalFileDeleteBatch::__construct
|
||||
- LogEventsList::getExcludeClause (only needed for the 'user' audience)
|
||||
- LogEventsList::userCan
|
||||
- LogEventsList::userCanBitfield
|
||||
- LogEventsList::userCanViewLogType
|
||||
- LogPage::addEntry (also accepts user id instead)
|
||||
- OldLocalFile::userCan
|
||||
- PatrolLog::record
|
||||
- Title::getNotificationTimestamp (though the entire method is deprecated)
|
||||
- WikiPage::getComment (only needed for the FOR_THIS_USER audience)
|
||||
- WikiPage::getCreator (only needed for the FOR_THIS_USER audience)
|
||||
- WikiPage::getUser (only needed for the FOR_THIS_USER audience)
|
||||
- WikiPage::getUserText (only needed for the FOR_THIS_USER audience)
|
||||
* The following hooks have been removed:
|
||||
- APIQueryInfoTokens
|
||||
- APIQueryRecentChangesTokens
|
||||
- APIQueryRevisionsTokens
|
||||
- APIQueryUsersTokens
|
||||
- ApiTokensGetTokenTypes
|
||||
* LogEventsList::typeAction previously accepted an optional right parameter, and
|
||||
checked if the context user ($wgUser) had that right. Passing a right was hard
|
||||
deprecated in 1.35, and support for passing a right has now been removed.
|
||||
* WikiPage::doDeleteArticleReal previously accepted an optional user as its
|
||||
fifth parameter, and fell back to $wgUser if not user was provided. The
|
||||
signature changed to have the user as the second parameter, and the old
|
||||
signature was hard deprecated in 1.35. Support for the old signature has now
|
||||
been removed.
|
||||
* User::addNewUserLogEntry, deprecated since 1.27, was removed.
|
||||
* As part of refactoring the EditPage class, EditPage::setPreloadedContent,
|
||||
which had no known callers was removed entirely. Additionally, the following
|
||||
public methods were made private:
|
||||
- ::extractSectionTitle
|
||||
- ::getSummaryInputWidget
|
||||
- ::noSuchSectionPage
|
||||
- ::initialiseForm
|
||||
* EditPage::matchSpamRegex and ::matchSummarySpamRegex, deprecated in 1.35,
|
||||
were removed. Use the SpamChecker service instead.
|
||||
* The global function `wfWaitForSlaves`, deprecated in 1.27 and hard-deprecated
|
||||
in 1.35, has been removed. Use LBFactory::waitForReplication() instead.
|
||||
* Calling Action::factory() with null as the first parameter, rather than a
|
||||
string, was deprecated in 1.35 and support was now removed.
|
||||
* Calling Action::factory() with an object that wasn't an Article as the second
|
||||
parameter was deprecated in 1.35 and support was now removed.
|
||||
* The global variable $wgMemc, deprecated since 1.35, has been removed. Usage
|
||||
should generally be migrated to WANObjectCache, or if you really need the
|
||||
internal object, use ObjectCache::getLocalClusterInstance instead.
|
||||
* The preprocessDump.php maintenance script was removed.
|
||||
* CategoryFinder, which was deprecated in 1.31 and hard-deprecated in 1.35,
|
||||
has been removed.
|
||||
* GenderCache::singleton(), which was deprecated in 1.28 and hard-deprecated
|
||||
in 1.35, has been removed.
|
||||
* Sanitizer::escapeId(), deprecated in 1.30, has been removed.
|
||||
* Direct invocation of Parser::__construct() (instead of via a ParserFactory)
|
||||
now throws an exception; support has also been removed for several
|
||||
deprecated variants on the arguments passed to Parser::__construct.
|
||||
Direct invocation of Parser::__construct was deprecated in 1.34.
|
||||
* Parser::setFunctionTagHook(), deprecated in 1.35, has been removed.
|
||||
* The following properties of Parser, deprecated in 1.35, have been made
|
||||
private:
|
||||
- $mTagHooks - use Parser::getTags()
|
||||
- $mFunctionHooks - use Parser::getFunctionHooks()
|
||||
- $mOutput - use Parser::getOutput()
|
||||
- $mPreprocessor - use Parser::getPreprocessor()
|
||||
* The ParserBeforeTidy hook, deprecated in 1.35, has been removed.
|
||||
* The ParserBeforeTidy, ParserBeforeStrip, and ParserAfterStrip hooks,
|
||||
deprecated in 1.35, have been removed.
|
||||
* All methods of MWTidy except for MW::tidy() have been removed. These were each
|
||||
either marked as @internal or deprecated in 1.35.
|
||||
* (T248062) Mixins `.background-image-svg()` and `.background-image-svg-quick()`
|
||||
(provided by mediawiki.mixins.less), which have been deprecated since 1.35,
|
||||
have now been removed. MediaWiki no longer supports any browser which would
|
||||
require this SVG-fallback PNG support, so you can simply use the regular CSS
|
||||
`background-image:` declaration instead.
|
||||
* The ResourceLoader module `mediawiki.legacy.oldshared` and its file
|
||||
'oldshared.css', deprecated since 1.35 has been removed (T248357).
|
||||
* `ResourceLoader::__construct` now requires a Config parameter. The optional
|
||||
nature of this parameter was deprecated in 1.34.
|
||||
* The LinkBegin and LinkEnd hooks, deprecated in 1.28, have been removed. You
|
||||
can instead use the HtmlPageLinkRendererBegin and HtmlPageLinkRendererEnd
|
||||
hooks, respectively.
|
||||
* The EmailUser hook passes its fifth param, $error, by reference, to allow
|
||||
hook handlers to add error messages, indicate that they have sent the email
|
||||
instead of core, etc. Setting the parameter to something other than a
|
||||
Status object, true, false, an empty string, an array, or a MessageSpecifier,
|
||||
object, which had been deprecated in 1.29, is no longer supported, and now
|
||||
results in an MWException being thrown.
|
||||
* Skin::getDynamicStylesheetQuery(), deprecated in 1.32, has been removed. You
|
||||
should use action=raw&ctype=text/css directly.
|
||||
* Skin::makeI18nUrl(), deprecated in 1.35, has been removed.
|
||||
* The following User methods, deprecated and moved to BlockManager in 1.34, were
|
||||
removed:
|
||||
- ::isDnsBlacklisted
|
||||
- ::inDnsBlacklist
|
||||
- ::isLocallyBlockedProxy
|
||||
- ::trackBlockWithCookie
|
||||
* Support for v1 of the parser tests file format has been removed; it was
|
||||
deprecated in 1.35. (T174199)
|
||||
* SpecialUnblockUser::processUIUnblock() now returns a Status object instead of
|
||||
an array of messages or a boolean value. This function was also marked as
|
||||
@internal and is no longer safe to call it publicly.
|
||||
* mw.Title.getDotExtension() from the 'mediawiki.Title' module was removed
|
||||
without deprecation. You should use mw.Title.getExtension() and prepend the
|
||||
dot if need be.
|
||||
* Profiler::getTemplated and Profiler::setTemplated, deprecated in 1.34, have
|
||||
been removed.
|
||||
* DatabaseMysqlBase now requires MySQL version 5.6.4+ when "lagDetectionMethod"
|
||||
is set to "pt-heartbeat".
|
||||
* Removed HookContainer::getOriginalHooksForTest() without deprecation. This
|
||||
method was introduced in 1.35 for internal use, and appears unused outside of
|
||||
MediaWiki core.
|
||||
* ParserCache::__construct() now requires three parameters.
|
||||
* Message->getFormat(), deprecated in 1.29, has been removed.
|
||||
* Support for passing Article to ParserCache::get, deprecated in 1.35, has been
|
||||
removed.
|
||||
* ParserCache::singleton(), deprecated in 1.30, has been removed.
|
||||
* DatabaseBlock::deleteIfExpired and ::fromMaster, deprecated in 1.35, have been
|
||||
removed.
|
||||
* Some deprecated AbstractBlock methods have been removed:
|
||||
- ::prevents, deprecated in 1.33
|
||||
- ::shouldTrackWithCookie, deprecated in 1.34
|
||||
- ::getBlocker, deprecated in 1.35
|
||||
- ::setBlocker, deprecated in 1.35
|
||||
- ::getBlockErrorParams, deprecated in 1.35
|
||||
* Multiple DatabaseBlock methods dealing with cookies, deprecated in 1.34,
|
||||
have been removed:
|
||||
- ::setCookie
|
||||
- ::clearCookie
|
||||
- ::getCookieValue
|
||||
- ::getIdFromCookieValue
|
||||
- ::shouldTrackWithCookie
|
||||
* The public static callback function SpecialUnblock::processUIUnblock has been
|
||||
removed. This method was for internal use only, and appears unused outside of
|
||||
MediaWiki core.
|
||||
* ChangeTags::truncateTagDescription, deprecated in 1.35, has been removed.
|
||||
* Deprecated null fallbacks in PasswordReset constructor have been removed.
|
||||
* User::isEveryoneAllowed and User::getAllRights, deprecated in 1.34, has been
|
||||
removed.
|
||||
* The following methods of the UserGroupMembership class, deprecated in 1.35,
|
||||
has been removed:
|
||||
- ::initFromRow
|
||||
- ::newFromRow - use UserGroupManager::newGroupMembershipFromRow
|
||||
- ::selectFields - use UserGroupManager::getQueryInfo
|
||||
- ::delete - use UserGroupManager::removeUserFromGroup
|
||||
- ::insert - use UserGroupManager::addUserToGroup
|
||||
- ::purgeExpired - use UserGroupManager::purgeExpired
|
||||
- ::getMembershipsForUser - use UserGroupManager::getUserGroupMemberships
|
||||
- ::getMembership - use UserGroupManager::getUserGroupMemberships
|
||||
* The public static callback function SpecialBlock::validateTargetField has been
|
||||
removed. This method was for internal use only, and appears unused outside of
|
||||
MediaWiki core.
|
||||
* The public static callback function SpecialUploadStash::tryClearStashedUploads
|
||||
has been removed. This method was for internal use only, and appears unused
|
||||
outside of MediaWiki core.
|
||||
* SpecialComparePages::showDiff() ::revOrTitle(), ::checkExistingTitle(), and
|
||||
::checkExistingRevision() were marked as @internal to allow for breaking
|
||||
changes. They are no longer safe to call. The methods were unused outside of
|
||||
MediaWiki core.
|
||||
* Each special page within core now uses service injection via it constructor.
|
||||
When extending these special pages, a call to the grandparent constructor
|
||||
(`SpecialPage::__construct()`) in the sub-class would now break the derived
|
||||
special page, as the fallback code in the parent constructor cannot set the
|
||||
services as needed. Be sure to call the parent constructor when extending
|
||||
core special pages. Extending core's special pages is not part of the stable
|
||||
interface, and should generally be avoided.
|
||||
* Language::getExtraUserToggles and ::viewPrevNext, deprecated in 1.34, have
|
||||
been removed.
|
||||
* StreamFile::send404Message and ::parseRange, deprecated in 1.34, have been
|
||||
removed.
|
||||
* SVGMetadataExtractor class, deprecated in 1.34, has been removed.
|
||||
* ProcessCacheLRU class, deprecated in 1.32, has been removed.
|
||||
* wfForeignMemcKey(), deprecated in 1.35, has been removed.
|
||||
* LoadBalancer::safeWaitForMasterPos(), deprecated in 1.34, has been removed.
|
||||
* JobQueue::factory() now requires its `idGenerator` option. The optional
|
||||
nature of this option was deprecated in 1.35.
|
||||
* ApiFeedRecentChanges::getFeedObject has been changed to private, and appears
|
||||
unused outside of MediaWiki core.
|
||||
* Skin::subPageSubtitle() has been changed to private method. Callers should
|
||||
use Skin::prepareSubtitle().
|
||||
* RevisionDeleter::checkRevisionExistence was removed without deprecation.
|
||||
It had no known callers.
|
||||
* wfForeignMemcKey() and wfMemcKey(), deprecated in 1.35, have been removed.
|
||||
* MediaWiki now also requires the php-intl extension.
|
||||
* BotPassword::save() now returns a Status object for the result rather than
|
||||
a bool.
|
||||
* The methods in CoreTagHooks have been marked @internal and type hints have
|
||||
been added. The methods appeared to be unused outside of MediaWiki core.
|
||||
* SquidPurgeClient and SquidPurgeClientPool, deprecated since 1.35, have been
|
||||
removed.
|
||||
* Several methods on WikiPage will now throw an exception when called on a
|
||||
WikiPage instance that where constructed on a title that does not refer to a
|
||||
proper page (but rather a special page or interwiki link). The behavior was
|
||||
previously undefined and could in some cases lead to data corruption. Affected
|
||||
methods are: getId(), insertOn(), newPageUpdater(), doUpdateRestrictions(),
|
||||
doDeleteArticleReal(), doRollback(), and doEditContent().
|
||||
* The ParserTestRunner no longer invokes the ParserTestTables hook. Instead, it
|
||||
clones all database tables before running tests, like MediaWikiIntegrationTest
|
||||
does. If an extension was mis-using the hook to *exclude* tables from the
|
||||
clone, that will no longer occur, and tests may fail.
|
||||
* The following classes, which were only loaded for tests and had no uses found
|
||||
in public MediaWiki-related git, were removed:
|
||||
- MockWebRequest
|
||||
- UserWrapper
|
||||
* Passing Title as a second parameter to RevisionStore::getPreviousRevision and
|
||||
getNextRevision, hard deprecated since 1.31, was prohibited.
|
||||
* (T275619) Maintenance::hasOption and Maintenance::getOption now behave as
|
||||
documented and are not altered by previous calls to these methods.
|
||||
* The internal class FirejailCommand was removed.
|
||||
* Command::execute() now returns a Shellbox\Command\UnboxedResult instead of a
|
||||
MediaWiki\Shell\Result. Any type hints should be updated.
|
||||
* WikiPage::$mIsRedirect was removed.
|
||||
* ObjectCache::detectLocalServerCache(), deprecated in 1.35, was removed.
|
||||
* The following functions from the Title class have been removed:
|
||||
- countRevisionsBetween
|
||||
- getAuthorsBetween
|
||||
* The PageProps class was converted to a service. PageProps::overrideInstance
|
||||
was removed, and MediaWikiServices::redefineService should be used
|
||||
instead.
|
||||
* Support for creating a MediaWikiTitleCodec object without the InterwikiLookup
|
||||
and NamespaceInfo services, deprecated in 1.34, was removed. Note that the
|
||||
MediaWikiTitleCodec class is not @newable or @stable to create, and should
|
||||
be retrieved from MediaWikiServices instead.
|
||||
* The $wgContLang variable, deprecated in 1.32, was removed. You can instead use
|
||||
MediaWikiServices::getInstance()->getContentLanguage().
|
||||
* User::clearAllNotifications(), hard deprecated in 1.35, was removed. Use
|
||||
WatchlistManager::clearAllUserNotifications() instead.
|
||||
* DatabaseBlock::getBlocker can return any UserIdentity instance, not just User.
|
||||
* MediaWiki::triggerJobs(), deprecated in 1.34, was removed.
|
||||
* The following Article methods, deprecated in 1.35, were removed:
|
||||
- checkFlags
|
||||
- checkTouched
|
||||
- clearPreparedEdit
|
||||
- doDeleteUpdates
|
||||
- doEditUpdates
|
||||
- doPurge
|
||||
- doViewUpdates
|
||||
- exists
|
||||
- followRedirect
|
||||
- getAutoDeleteReason
|
||||
- getCategories
|
||||
- getContentHandler
|
||||
- getContentModel
|
||||
- getContributors
|
||||
- getDeletionUpdates
|
||||
- getHiddenCategories
|
||||
- getId
|
||||
- getLatest
|
||||
- getLinksTimestamp
|
||||
- getMinorEdit
|
||||
- getOldestRevision
|
||||
- getRedirectTarget
|
||||
- getRedirectURL
|
||||
- getRevision
|
||||
- getTouched
|
||||
- getUndoContent
|
||||
- hasViewableContent
|
||||
- insertOn
|
||||
- insertRedirect
|
||||
- insertRedirectEntry
|
||||
- isCountable
|
||||
- isRedirect
|
||||
- loadFromRow
|
||||
- loadPageData
|
||||
- lockAndGetLatest
|
||||
- makeParserOptions
|
||||
- pageDataFromId
|
||||
- pageDataFromTitle
|
||||
- prepareContentForEdit
|
||||
- protectDescription
|
||||
- protectDescriptionLog
|
||||
- replaceSectionAtRev
|
||||
- replaceSectionContent
|
||||
- setTimestamp
|
||||
- shouldCheckParserCache
|
||||
- supportsSections
|
||||
- triggerOpportunisticLinksUpdate
|
||||
- updateCategoryCounts
|
||||
- updateIfNewerOn
|
||||
- updateRedirectOn
|
||||
- updateRevisionOn
|
||||
- doUpdateRestrictions
|
||||
- updateRestrictions
|
||||
- doRollback
|
||||
- commitRollback
|
||||
- generateReason
|
||||
* The monolog-based logging system has dropped the Avro format. Because of this,
|
||||
the AvroFormatter class and the AvroValidator utility class have been removed
|
||||
without deprecation.
|
||||
* AbstractBlock::$mReason, deprecated in 1.34, was removed.
|
||||
Use AbstractBlock::getReasonComment and AbstractBlock::setReason instead.
|
||||
|
||||
=== Deprecations in 1.36 ===
|
||||
* (T278026) The DB_MASTER constant has been deprecated in favour of DB_PRIMARY.
|
||||
* (T245963) User::getGrantName() is now hard deprecated and will be removed in
|
||||
a subsequent release. Use MWGrants::grantName() instead.
|
||||
* wfIncrStats() is now deprecated. Use MediaWikiServices::getInstance()
|
||||
->getStatsdDataFactory()->updateCount() instead.
|
||||
* WikiPage::doEditContent() is now deprecated. Use
|
||||
WikiPage::doUserEditContent() instead. Note that doEditContent() was also
|
||||
deprecated in 1.32 for unrelated reasons and doUserEditContent() is
|
||||
deprecated for other reasons, however, using doUserEditContent() is
|
||||
recommended over using doEditContent().
|
||||
* WikiPage::doUserEditContent() is now deprecated. Use
|
||||
PageUpdater::saveRevision instead. Note that the new method expects callers
|
||||
to take care of checking EDIT_MINOR against the minoredit right, and to apply
|
||||
the autopatrol right as appropriate.
|
||||
* LocalFile::recordUpload2, soft deprecated in 1.35, now emits deprecation
|
||||
warnings. Use ::recordUpload3 instead.
|
||||
* Constructing a new instance of the ParserOptions class without providing
|
||||
a User object, which falls back to the global $wgUser, is now deprecated.
|
||||
* The User class, which was marked as @newable in 1.35, is no longer newable,
|
||||
meaning that it is no longer safe to manually call the constructor via
|
||||
`new User`. Instead, use the UserFactory service. Additionally, the
|
||||
following static constructor methods were deprecated in favor of using the
|
||||
UserFactory service:
|
||||
- User::newFromName
|
||||
- User::newFromId
|
||||
- User::newFromActorId
|
||||
- User::newFromIdentity
|
||||
- User::newFromAnyId
|
||||
- User::newFromConfirmationCode
|
||||
* The following User methods have been hard deprecated in favor of the new
|
||||
UserEditTracker service:
|
||||
- User::getFirstEditTimestamp
|
||||
- User::getLatestEditTimestamp
|
||||
* The confusingly-named User->isLoggedIn() method has been deprecated in favour
|
||||
of the method it wraps, User->isRegistered().
|
||||
* Use of the `preprocessor=Preprocessor_DOM` option in parser test files has
|
||||
been deprecated. Preprocessor_DOM was removed in 1.35.
|
||||
* ParserOptions::setTidy() has been deprecated. It has had no effect since
|
||||
1.35.
|
||||
* Sanitizer::escapeIdReferenceList() has been deprecated; it will eventually
|
||||
be made private to the class, as it appears to have no uses outside the
|
||||
Sanitizer class.
|
||||
* Sanitizer::hackDocType() is deprecated; it will eventually be made private.
|
||||
* Skin::getIndicatorsHTML() is deprecated. The functionality can be retained
|
||||
by reimplementing the method using the raw indicators data from
|
||||
OutputPage::getIndicators.
|
||||
* Skin::makeVariablesScript() has been deprecated. Use
|
||||
ResourceLoader::makeInlineScript() instead.
|
||||
* SpecialPageFactory::getRestrictedPages() has been deprecated.
|
||||
Use SpecialPageFactory::getUsablePages() instead.
|
||||
* Title::nameOf() is deprecated; use Title::newFromID()->getPrefixedDBkey()
|
||||
instead.
|
||||
* DatabaseBlock::insert, DatabaseBlock::update, DatabaseBlock::purgeExpired and
|
||||
DatabaseBlock::delete are deprecated. Use DatabaseBlockStore::insertBlock,
|
||||
DatabaseBlockStore::updateBlock, DatabaseBlockStore::purgeExpiredBlocks and
|
||||
DatabaseBlockStore::deleteBlock instead.
|
||||
* SpecialBlock::getTargetAndType and AbstractBlock::parseTarget are deprecated.
|
||||
Call BlockUtils::parseBlockTarget instead.
|
||||
* SpecialUnblock::processUnblock was deprecated - use UnblockUserFactory
|
||||
service instead.
|
||||
* Deprecated MediaWikiIntegrationtestCase::removeTemporaryHook() in favor of
|
||||
MediaWikiIntegrationtestCase::clearHook().
|
||||
* Skin::getSearchLink(), also exposed as 'searchaction' option in SkinTemplate,
|
||||
has been deprecated. Use Title or SpecialPage methods directly.
|
||||
* Skin::getAllowedSkins and ::getSkinNames have been deprecated. Use their
|
||||
respective equivalents in SkinFactory instead.
|
||||
* The RollbackComplete hook has been deprecated, use the PageSaveComplete hook
|
||||
instead.
|
||||
* Skin::makeUrl() has been deprecated. Title methods should be used instead.
|
||||
* Skin::privacyLink(), Skin::disclaimerLink() and Skin::aboutLink() have been
|
||||
deprecated. Please use Skin::footerLink() instead.
|
||||
* Skin::getLogo() has been deprecated. Use ResourceLoaderSkinModule instead.
|
||||
* The module `mediawiki.toc.styles` has been replaced by
|
||||
ResourceLoaderSkinModule. If you are having problems styling table of contents
|
||||
ensure you have an updated skin.
|
||||
* Skin::mainPageLink() has been deprecated. Use LinkRenderer service instead.
|
||||
* BaseTemplate::getToolbox() method has been hard deprecated. The toolbox data
|
||||
is now available in a sidebar data array which you can get from any class
|
||||
that's extending QuickTemplate class.
|
||||
* Constructing a DefaultPreferencesFactory, LinkHolderArray or PasswordReset
|
||||
without a $hookContainer parameter is deprecated.
|
||||
* Autopromote class, soft deprecated since 1.35, now emits deprecation warnings.
|
||||
Use UserGroupManager instead.
|
||||
* SpecialBlock::canBlockEmail has been deprecated. Please use
|
||||
BlockPermissionChecker::checkEmailPermissions instead.
|
||||
* SpecialBlock::checkUnblockSelf has been deprecated. Please use
|
||||
BlockPermissionChecker::checkBlockPermissions instead.
|
||||
* SpecialBlock::parseExpiryInput was deprecated - use
|
||||
BlockUser::parseExpiryInput instead.
|
||||
* SpecialBlock::validateTarget has been deprecated, use BlockUtils instead.
|
||||
* SpecialBlock::validateTargetField has been deprecated for external use,
|
||||
use BlockUtils instead.
|
||||
* SpecialPage::getLanguageConverter has been deprecated, use
|
||||
LanguageConverterFactory::getLanguageConverter() directly.
|
||||
* ParserCache::getKey has been deprecated. Use ParserCache::getMetadata and
|
||||
ParserCache::makeParserOutputKey instead.
|
||||
* The PHPUnit4And6Compat class, used to provide compatibility with PHPUnit 4,
|
||||
was removed. MediaWiki support for PHPUnit 4 ended with the removal of HHVM
|
||||
support.
|
||||
* The PHPUnit6And8Compat class, used to provide compatibility with PHPUnit 6,
|
||||
was removed without deprecation. This class was introduced during the
|
||||
upgrade to PHPUnit 8, but never used.
|
||||
* MediaWikiIntegrationTestCase::assertType, hard-deprecated in 1.35 due to
|
||||
incompatibility with PHPUnit 8, was removed.
|
||||
* ParserCache::getETag has been deprecated, instead build suitable etag
|
||||
explicitly.
|
||||
* The following functions from the Language class have been hard deprecated
|
||||
and will be removed in a subsequent release:
|
||||
- findVariantLink
|
||||
- convertTitle
|
||||
- updateConversionTable
|
||||
- commafy
|
||||
* The following functions from the Title class have been hard deprecated:
|
||||
- getPreviousRevisionID
|
||||
- getNextRevisionID
|
||||
- getEarliestRevTime
|
||||
* The following functions from the User class have been hard deprecated:
|
||||
- getDefaultOptions
|
||||
- getDefaultOption
|
||||
* The mw.language.commafy client-side method has been deprecated, to match
|
||||
the deprecation of Language::commafy. Use mw.language.convertNumber
|
||||
instead.
|
||||
* The "es6-promise" module has been deprecated. Use "es6-polyfills" instead.
|
||||
* Title::isDeleted() and Title::isDeletedQuick() have been deprecated. Please
|
||||
use Title::getDeletedEditsCount() and Title::hasDeletedEdits() instead.
|
||||
* Article::getContentObject, soft-deprecated since 1.32, was hard-deprecated.
|
||||
* WikiRevision::importUpload, soft-deprecated since 1.31, was hard-deprecated.
|
||||
* Html::infoBox() has been deprecated. There's no replacement.
|
||||
* Message::toString() without a $format parameter, soft-deprecated since 1.28,
|
||||
was hard-deprecated. Use explicit formatting methods instead, such as
|
||||
Message::text() and Message::escaped().
|
||||
* BagOStuff::makeKeyInternal() usage outside of BagOStuff has been deprecated.
|
||||
* BagOStuff::setDebug() is deprecated and calls to it are ignored. Debug logs
|
||||
are now unconditionally enabled.
|
||||
* The following global functions have been hard deprecated:
|
||||
- wfAppendToArrayIfNotDefault
|
||||
- wfAcceptToPrefs
|
||||
- wfClearOutputBuffers
|
||||
- wfConfiguredReadOnlyReason
|
||||
- wfDebugMem
|
||||
- wfGetPrecompiledData
|
||||
- wfNegotiateType
|
||||
* BeforeParserFetchTemplateAndtitleHook has been deprecated; replace
|
||||
with the new BeforeParserFetchTemplateRevisionRecord hook. (The
|
||||
similar ParserFetchTemplateHook was deprecated in 1.35; the new hook
|
||||
replaces both.)
|
||||
* The InterwikiLoadPrefix hook has been deprecated; it is not compatible
|
||||
with future wikitext parsers (which need to enumerate all interwiki
|
||||
prefixes). In test cases please use $wgInterwikiCache instead.
|
||||
* WikiPage instances should no longer be constructed for titles that do not
|
||||
represent editable pages (e.g. special pages). WikiPages were always
|
||||
documented to represent "MediaWiki article and history".
|
||||
* Skin::getSkinStylePath() has been deprecated. Please replace usages with
|
||||
the direct path to the resources.
|
||||
* The second argument of EnhancedChangesList::getDiffHistLinks, $query, has
|
||||
been deprecated.
|
||||
* The ParserTestTables hook has been deprecated; it is no longer necessary
|
||||
after a ParserTestRunner refactoring.
|
||||
* The following classes have been hard deprecated: CachedAction,
|
||||
SpecialCachedPage, CacheHelper, ICacheHelper. They were unused in MediaWiki
|
||||
ecosystem, so no replacement was provided.
|
||||
* The ProtectionForm::buildForm hook has been deprecated. Please use the
|
||||
ProtectionFormAddFormFields hook instead.
|
||||
* RevisionStore::newMutableRevisionFromArray has been hard deprecated. Instead,
|
||||
MutableRevisionRecord should be constructed directly via constructor.
|
||||
* UserIdentity::getActorId() is deprecated. The actor ID should not be exposed
|
||||
to application logic. Storage layer code should use the ActorNormalization
|
||||
service for normalizing and denormalizing user names.
|
||||
* Constructing a UserIdentityValue with an actor ID as the third parameter is
|
||||
deprecated. The parameter should be omitted. Storage layer code should use
|
||||
the ActorNormalization service for normalizing and denormalizing user names.
|
||||
* Command::cgroup() is deprecated and no longer functional. $wgShellCgroup is
|
||||
now implemented as an Executor option.
|
||||
* Command::restrict() is deprecated. Instead use the new separate accessors.
|
||||
* MWTidy::tidy() is deprecated. Use MediaWikiServices::getTidy()-tidy() instead.
|
||||
* TidyDriverBase::supportsValidate() is deprecated; it has always returned
|
||||
false since 1.33.
|
||||
* WatchedItem::getUser hard-deprecated in favor of ::getUserIdentity.
|
||||
* WatchedItemStoreInterface::enqueueWatchlistExpiryJob was hard deprecated in
|
||||
favor of the new method maybeEnqueueWatchlistExpiryJob that takes care of
|
||||
relevant configuration checks.
|
||||
* LogEntry::getPerformer() and its implementations have been hard-deprecated, in
|
||||
favor of ::getPerformerIdentity().
|
||||
* AuthManager::singleton(), deprecated in 1.35, is hard deprecated. Use
|
||||
MediaWikiServices::getAuthManager() instead.
|
||||
* User::clearNotification(), deprecated in 1.35, is hard deprecated. Use
|
||||
WatchlistManager::clearTitleUserNotification() instead.
|
||||
* Passing string to DatabaseBlock::setBlocker was deprecated. Only UserIdentity
|
||||
is now allowed.
|
||||
* DatabaseBlock constructor 'byText' option was deprecated in favour of 'by'
|
||||
option, which now accepts UserIdentity. Passing user ID is deprecated.
|
||||
* Parser::getUser was deprecated. Use Parser::getUserIdentity instead.
|
||||
* DatabaseBlock::isWhitelistedFromAutoblocks was deprecated. Use
|
||||
DatabaseBlock::isExemptedFromAutoblocks instead.
|
||||
* User::isIPRange(), deprecated in 1.35, is hard deprecated.
|
||||
Use the UserNameUtils service or IPUtils directly.
|
||||
* BaseTemplate::getFooterIcons(), deprecated in 1.35, is hard deprecated. Read
|
||||
footer icons from template data requested via $this->get('footericons').
|
||||
* `box-shadow()` LESS mixin from mediawiki.mixins is deprecated due to updated
|
||||
basic browser support. Use unprefixed property `box-shadow:` instead.
|
||||
* MergeHistory::checkPermissions was deprecated. Use ::probablyCanMerge or
|
||||
::authorizeMerge instead.
|
||||
* User::isValidUserName(), deprecated in 1.35, is hard deprecated.
|
||||
Use the UserNameUtils service instead.
|
||||
* The TitleArrayFromResult hook has been deprecated.
|
||||
* The EditPageBeforeEditToolbar hook has been deprecated; it has become
|
||||
defunct after the classic edit toolbar was removed. Use one of the many
|
||||
other EditPage hooks instead.
|
||||
* Deprecated the class name MediaWiki\User\WatchlistNotificationManager; use
|
||||
MediaWiki\Watchlist\WatchlistManager instead. Deprecated the method
|
||||
MediaWikiServices->getWatchlistNotificationManager(); use
|
||||
MediaWikiServices->getWatchlistManager() instead.
|
||||
* The "ArticleEditUpdatesDeleteFromRecentchanges" hook, deprecated in 1.35, has
|
||||
been removed. Other hooks like "RecentChange_save" can be used instead.
|
||||
|
||||
=== Other changes in 1.36 ===
|
||||
* The 'tidy' key in ParserOptions (used in the parser cache) has been removed.
|
||||
It has had no effect since 1.35.
|
||||
* A future release of MediaWiki will make `{{=}}` a built-in parser function,
|
||||
for use when automatically escaping the `=` character in template arguments.
|
||||
A tracking category and parser warning have been added to this release when
|
||||
`{{=}}` is used and it expands to something other than `=`.
|
||||
* The implementation of TestFileReader::read has been changed to use Parsoid's
|
||||
parser test file parser. This should be compatible with existing code, but it
|
||||
only supports version 2 of the test file specification and may be more strict
|
||||
when parsing invalid input, including duplicate tests.
|
||||
* BeforeParserFetchTemplateRevisionRecord, a new hook, unifies and replaces the
|
||||
old BeforeParserFetchTemplateAndtitleHook and ParserFetchTemplateHook.
|
||||
* The SkinLessImportPaths attribute was added, allowing skins to add a directory
|
||||
to the import path for LESS stylesheets. Skins can use this to provide a
|
||||
custom version of mediawiki.skin.variables.less, setting skin-specific values
|
||||
for certain LESS variables.
|
||||
* The interaction between ContentHandler::getParserOutputForIndexing() and
|
||||
ContentHandler::getDataForSearchIndex() has been clarified (the latter should
|
||||
only be called with the result of the former). Extensions may override
|
||||
getParserOutputForIndexing() to skip generating HTML, which may improve
|
||||
indexing performance. (The default implementation still generates HTML, and
|
||||
getDataForSearchIndex() implementations can still rely on it if they do not
|
||||
over-ride getParserOutputForIndexing().)
|
||||
* Article::fetchContentObject, ::mContentObject, ::mContentLoaded,
|
||||
::mRevIdFetched, all deprecated since 1.32, were removed.
|
||||
* Article::mParserOptions and ::setParserOptions were removed.
|
||||
* Article and ImagePage::getEmptyPageParserOutput, unused, were removed.
|
||||
* ParserCache's default serialization format was changed from PHP serialization
|
||||
to JSON serialization. In case some installed extension do not support JSON
|
||||
yet, $wgParserCacheUseJson can be used to revert back to PHP serialization.
|
||||
* PermissionManager::groupHasPermission, ::getGroupPermissions and
|
||||
::getGroupsWithPermission were deprecated, use GroupPermissionsLookup
|
||||
service instead.
|
||||
* WatchedItemStoreInterface now accepts PageIdentity where it accepted
|
||||
LinkTarget, calling with LinkTarget was deprecated.
|
||||
* 'movable' attribute has been added to the 'namespaces' property of
|
||||
extension.json schema. Extensions that define namespaces can set it to
|
||||
`false` to disallow moving pages in the specified namespace. Extensions
|
||||
should either use this or NamespaceIsMovableHook, but not both. The hook
|
||||
overrides the attribute.
|
||||
|
||||
== Compatibility ==
|
||||
|
||||
MediaWiki 1.36 requires PHP 7.3.19 or later and the following PHP extensions:
|
||||
|
||||
* ctype
|
||||
* dom
|
||||
* fileinfo
|
||||
* iconv
|
||||
* intl
|
||||
* json
|
||||
* mbstring
|
||||
* xml
|
||||
|
||||
MySQL/MariaDB is the recommended DBMS. PostgreSQL or SQLite can also be used,
|
||||
but support for them is somewhat less mature.
|
||||
|
||||
The supported versions are:
|
||||
|
||||
* MySQL 5.5.8 or later
|
||||
* PostgreSQL 9.4 or later
|
||||
* SQLite 3.8.0 or later
|
||||
|
||||
== Online documentation ==
|
||||
Documentation for both end-users and site administrators is available on
|
||||
MediaWiki.org, and is covered under the GNU Free Documentation License (except
|
||||
for pages that explicitly state that their contents are in the public domain):
|
||||
|
||||
https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation
|
||||
|
||||
== Mailing list ==
|
||||
A mailing list is available for MediaWiki user support and discussion:
|
||||
|
||||
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
|
||||
|
||||
A low-traffic announcements-only list is also available:
|
||||
|
||||
https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
|
||||
|
||||
It's highly recommended that you sign up for one of these lists if you're
|
||||
going to run a public MediaWiki, so you can be notified of security fixes.
|
||||
|
||||
== IRC help ==
|
||||
There's usually someone online in #mediawiki on irc.libera.chat.
|
195
UPGRADE
195
UPGRADE
|
@ -13,6 +13,12 @@ specific problems, you should check:
|
|||
We provide comprehensive documentation on upgrading to the latest version of the
|
||||
software at https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Upgrading.
|
||||
|
||||
Important: Upgrading from releases older than two LTS release is not supported anymore.
|
||||
If you want to upgrade from an old version, please upgrade to a more recent LTS version first,
|
||||
then to this version.
|
||||
|
||||
Currently any upgrade from any version older than 1.27 will fail.
|
||||
|
||||
=== Consult the release notes ===
|
||||
|
||||
Before doing anything, stop and consult the release notes supplied with the new
|
||||
|
@ -96,192 +102,3 @@ normally, that special pages continue to function, etc., and correct any errors
|
|||
and quirks which reveal themselves.
|
||||
|
||||
You should also test any extensions, and upgrade these if necessary.
|
||||
|
||||
== Upgrading from 1.16 or earlier ==
|
||||
|
||||
If you have a Chinese or Japanese wiki ($wgLanguageCode is set to one of "zh",
|
||||
"ja", or "yue") and you are using MySQL fulltext search, you will probably want
|
||||
to update the search index.
|
||||
|
||||
In the "maintenance" directory, run the updateDoubleWidthSearch.php script. This
|
||||
will update the searchindex table for those pages that contain double-byte Latin
|
||||
characters.
|
||||
|
||||
== Upgrading from 1.10 or earlier ==
|
||||
|
||||
If upgrading from before 1.11, and you are using a wiki as a commons repository,
|
||||
make sure that it is updated as well. Otherwise, errors may arise due to
|
||||
database schema changes.
|
||||
|
||||
== Upgrading from 1.8 or earlier ==
|
||||
|
||||
MediaWiki 1.9 and later no longer keep default localized message text in the
|
||||
database; 'MediaWiki:'-namespace pages that do not exist in the database are
|
||||
simply transparently filled-in on demand.
|
||||
|
||||
The upgrade process will delete any 'MediaWiki:' pages which are left in the
|
||||
default state (last edited by 'MediaWiki default'). This may take a few moments,
|
||||
similar to the old initial setup.
|
||||
|
||||
Note that the large number of deletions may cause older edits to expire from the
|
||||
list on Special:Recentchanges, although the deletions themselves will be hidden
|
||||
by default. (Click "show bot edits" to list them.)
|
||||
|
||||
See RELEASE-NOTES for more details about new and changed options.
|
||||
|
||||
== Upgrading from 1.7 or earlier ==
|
||||
|
||||
$wgDefaultUserOptions now contains all the defaults, not only overrides. If you
|
||||
are setting this as a complete array(), you may need to change it to set only
|
||||
specific items as recommended in DefaultSettings.php.
|
||||
|
||||
== Upgrading from 1.6 or earlier ==
|
||||
|
||||
$wgLocalTZoffset was in hours, it is now using minutes.
|
||||
|
||||
If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
|
||||
new database fields are filled with data.
|
||||
|
||||
== Upgrading from 1.5 or earlier ==
|
||||
|
||||
Major changes have been made to the schema from 1.4.x. The updater has not been
|
||||
fully tested for all conditions, and might well break.
|
||||
|
||||
On a large site, the schema update might take a long time. It might explode, or
|
||||
leave your database half-done or otherwise badly hurting.
|
||||
|
||||
Among other changes, note that Latin-1 encoding (ISO-8859-1) is no longer
|
||||
supported. Latin-1 wikis will need to be upgraded to UTF-8; an experimental
|
||||
command-line upgrade helper script, 'upgrade1_5.php', can do this -- run it
|
||||
prior to 'update.php' or the Web upgrader.
|
||||
|
||||
NOTE that upgrade1_5.php does not work properly with recent versions of
|
||||
MediaWiki. If upgrading a 1.4.x wiki, you should upgrade to 1.5 first.
|
||||
upgrade1_5.php has been removed from MediaWiki 1.21.
|
||||
|
||||
If you absolutely cannot make the UTF-8 upgrade work, you can try doing it by
|
||||
hand: dump your old database, convert the dump file using iconv as described
|
||||
here: http://portal.suse.com/sdb/en/2004/05/jbartsh_utf-8.html
|
||||
and then re-import it. You can also convert filenames using convmv, but note
|
||||
that the old directory hashes will no longer be valid, so you will also have to
|
||||
move them to new destinations.
|
||||
|
||||
Message changes:
|
||||
* A number of additional UI messages have been changed from HTML to wikitext,
|
||||
and will need to be manually fixed if customized.
|
||||
|
||||
=== Configuration changes from 1.4.x: ===
|
||||
|
||||
$wgDisableUploads has been replaced with $wgEnableUploads.
|
||||
|
||||
$wgWhitelistAccount has been replaced by the 'createaccount' permission key in
|
||||
$wgGroupPermissions. To emulate the old effect of setting:
|
||||
$wgWhitelistAccount['user'] = 0;
|
||||
set:
|
||||
$wgGroupPermissions['*']['createaccount'] = false;
|
||||
|
||||
$wgWhitelistEdit has been replaced by the 'edit' permission key. To emulate the
|
||||
old effect of setting:
|
||||
$wgWhitelistEdit = true;
|
||||
set:
|
||||
$wgGroupPermissions['*']['edit'] = false;
|
||||
|
||||
If $wgWhitelistRead is set, you must also disable the 'read' permission for it
|
||||
to take affect on anonymous users:
|
||||
$wgWhitelistRead = array( "Main Page", "Special:Userlogin" );
|
||||
$wgGroupPermissions['*']['read'] = false;
|
||||
|
||||
Note that you can disable/enable several other permissions by modifying this
|
||||
configuration array in your LocalSettings.php; see DefaultSettings.php for the
|
||||
complete default permission set.
|
||||
|
||||
If using Memcached, you must enabled it differently now:
|
||||
$wgUseMemCached = true;
|
||||
should be replaced with:
|
||||
$wgMainCacheType = CACHE_MEMCACHED;
|
||||
|
||||
== Upgrading from 1.4.2 or earlier ==
|
||||
|
||||
1.4.3 has added new fields to the sitestats table. These fields are optional and
|
||||
help to speed Special:Statistics on large sites. If you choose not to run the
|
||||
database upgrades, everything will continue to work in 1.4.3.
|
||||
|
||||
You can apply the update by running maintenance/update.php, or manually run the
|
||||
SQL commands from this file:
|
||||
maintenance/archives/patch-ss_total_articles.sql
|
||||
|
||||
== Upgrading from 1.4rc1 or earlier betas ==
|
||||
|
||||
The logging table has been altered from 1.4beta4 to 1.4beta5 and again in 1.4.0
|
||||
final. Copy in the new files and use the Web installer to upgrade, or the
|
||||
command-line maintenance/update.php.
|
||||
|
||||
If you cannot use the automated installers/updaters, you may update the table by
|
||||
manually running the SQL commands in these files:
|
||||
maintenance/archives/patch-log_params.sql
|
||||
maintenance/archives/patch-logging-title.sql
|
||||
|
||||
== Upgrading from 1.3 or earlier ==
|
||||
|
||||
This should generally go smoothly.
|
||||
|
||||
If you keep your LocalSettings.php, you may need to change the style paths to
|
||||
match the newly rearranged skin modules. Change these lines:
|
||||
$wgStylePath = "$wgScriptPath/stylesheets";
|
||||
$wgStyleDirectory = "$IP/stylesheets";
|
||||
$wgLogo = "$wgStylePath/images/wiki.png";
|
||||
|
||||
to this:
|
||||
$wgStylePath = "$wgScriptPath/skins";
|
||||
$wgStyleDirectory = "$IP/skins";
|
||||
$wgLogo = "$wgStylePath/common/images/wiki.png";
|
||||
|
||||
As well as new messages, the processing of some messages has changed. If you
|
||||
have customized them, please compare the new format using Special:Allmessages or
|
||||
the relevant LanguageXX.php files:
|
||||
|
||||
* copyrightwarning
|
||||
* editingcomment (was named commentedit)
|
||||
* editingsection (was named sectionedit)
|
||||
* protectedarticle
|
||||
* unprotectedarticle
|
||||
|
||||
Note that the 1.3 beta releases included a potential vulnerability if PHP is
|
||||
configured with register_globals on and the includes directory is served to the
|
||||
Web. For general safety, turn register_globals *off* if you don't _really_ need
|
||||
it for another package.
|
||||
|
||||
If your hosting provider turns it on and you can't turn it off yourself, send
|
||||
them a kind note explaining that it can expose their servers and their customers
|
||||
to attacks.
|
||||
|
||||
== Upgrading from 1.2 or earlier ==
|
||||
|
||||
If you've been using the MediaWiki: namespace for custom page templates, note
|
||||
that things are a little different. The Template: namespace has been added which
|
||||
is more powerful -- templates can include parameters for instance.
|
||||
|
||||
If you were using custom MediaWiki: entries for text inclusions, they will *not*
|
||||
automatically be moved to Template: entries at upgrade time. Be sure to go
|
||||
through and check that everything is working properly; you can move them
|
||||
manually or you can try using moveCustomMessages.php in maintenance/archives to
|
||||
do it automatically, but this might break things.
|
||||
|
||||
Also, be sure to pick the correct character encoding -- some languages were only
|
||||
available in Latin-1 on 1.2.x and are now available for Unicode as well. If you
|
||||
want to upgrade an existing wiki from Latin-1 to Unicode you'll have to dump the
|
||||
database to SQL, run it through iconv or another conversion tool, and restore
|
||||
it. Sorry.
|
||||
|
||||
== Upgrading from 1.1 or earlier ==
|
||||
|
||||
This is less thoroughly tested, but should work.
|
||||
|
||||
You need to specify the *admin* database username and password to the installer
|
||||
in order for it to successfully upgrade the database structure. You may wish to
|
||||
manually change the GRANTs later.
|
||||
|
||||
If you have a very old database (earlier than organized MediaWiki releases in
|
||||
late August 2003) you may need to manually run some of the update SQL scripts in
|
||||
maintenance/archives before the installer is able to pick up with remaining
|
||||
updates.
|
||||
|
|
93
autoload.php
93
autoload.php
|
@ -169,10 +169,8 @@ $wgAutoloadLocalClasses = [
|
|||
'AugmentPageProps' => __DIR__ . '/includes/search/AugmentPageProps.php',
|
||||
'AuthManagerSpecialPage' => __DIR__ . '/includes/specialpage/AuthManagerSpecialPage.php',
|
||||
'AutoCommitUpdate' => __DIR__ . '/includes/deferred/AutoCommitUpdate.php',
|
||||
'AutoLoader' => __DIR__ . '/includes/AutoLoader.php',
|
||||
'AutoloadGenerator' => __DIR__ . '/includes/utils/AutoloadGenerator.php',
|
||||
'Autopromote' => __DIR__ . '/includes/Autopromote.php',
|
||||
'AvroValidator' => __DIR__ . '/includes/utils/AvroValidator.php',
|
||||
'BacklinkCache' => __DIR__ . '/includes/cache/BacklinkCache.php',
|
||||
'BacklinkJobUtils' => __DIR__ . '/includes/jobqueue/utils/BacklinkJobUtils.php',
|
||||
'BackupDumper' => __DIR__ . '/maintenance/includes/BackupDumper.php',
|
||||
|
@ -180,6 +178,7 @@ $wgAutoloadLocalClasses = [
|
|||
'BadRequestError' => __DIR__ . '/includes/exception/BadRequestError.php',
|
||||
'BadTitleError' => __DIR__ . '/includes/exception/BadTitleError.php',
|
||||
'BagOStuff' => __DIR__ . '/includes/libs/objectcache/BagOStuff.php',
|
||||
'BanConverter' => __DIR__ . '/includes/language/converters/BanConverter.php',
|
||||
'BaseDump' => __DIR__ . '/includes/export/BaseDump.php',
|
||||
'BaseSearchResultSet' => __DIR__ . '/includes/search/BaseSearchResultSet.php',
|
||||
'BaseTemplate' => __DIR__ . '/includes/skins/BaseTemplate.php',
|
||||
|
@ -192,11 +191,9 @@ $wgAutoloadLocalClasses = [
|
|||
'BenchIfSwitch' => __DIR__ . '/maintenance/benchmarks/bench_if_switch.php',
|
||||
'BenchUtf8TitleCheck' => __DIR__ . '/maintenance/benchmarks/bench_utf8_title_check.php',
|
||||
'BenchWikimediaBaseConvert' => __DIR__ . '/maintenance/benchmarks/bench_Wikimedia_base_convert.php',
|
||||
'BenchmarkCSSMin' => __DIR__ . '/maintenance/benchmarks/benchmarkCSSMin.php',
|
||||
'BenchmarkDeleteTruncate' => __DIR__ . '/maintenance/benchmarks/bench_delete_truncate.php',
|
||||
'BenchmarkHooks' => __DIR__ . '/maintenance/benchmarks/benchmarkHooks.php',
|
||||
'BenchmarkJSMinPlus' => __DIR__ . '/maintenance/benchmarks/benchmarkJSMinPlus.php',
|
||||
'BenchmarkJavaScriptMinifier' => __DIR__ . '/maintenance/benchmarks/benchmarkJavaScriptMinifier.php',
|
||||
'BenchmarkLruHash' => __DIR__ . '/maintenance/benchmarks/benchmarkLruHash.php',
|
||||
'BenchmarkParse' => __DIR__ . '/maintenance/benchmarks/benchmarkParse.php',
|
||||
'BenchmarkPurge' => __DIR__ . '/maintenance/benchmarks/benchmarkPurge.php',
|
||||
|
@ -218,7 +215,6 @@ $wgAutoloadLocalClasses = [
|
|||
'BotPassword' => __DIR__ . '/includes/user/BotPassword.php',
|
||||
'BufferingStatsdDataFactory' => __DIR__ . '/includes/libs/stats/BufferingStatsdDataFactory.php',
|
||||
'CLIParser' => __DIR__ . '/maintenance/parse.php',
|
||||
'CSSMin' => __DIR__ . '/includes/libs/CSSMin.php',
|
||||
'CacheDependency' => __DIR__ . '/includes/cache/dependency/CacheDependency.php',
|
||||
'CacheHelper' => __DIR__ . '/includes/cache/CacheHelper.php',
|
||||
'CacheTime' => __DIR__ . '/includes/parser/CacheTime.php',
|
||||
|
@ -229,7 +225,6 @@ $wgAutoloadLocalClasses = [
|
|||
'CategoriesRdf' => __DIR__ . '/includes/CategoriesRdf.php',
|
||||
'Category' => __DIR__ . '/includes/Category.php',
|
||||
'CategoryChangesAsRdf' => __DIR__ . '/maintenance/categoryChangesAsRdf.php',
|
||||
'CategoryFinder' => __DIR__ . '/includes/CategoryFinder.php',
|
||||
'CategoryMembershipChange' => __DIR__ . '/includes/changes/CategoryMembershipChange.php',
|
||||
'CategoryMembershipChangeJob' => __DIR__ . '/includes/jobqueue/jobs/CategoryMembershipChangeJob.php',
|
||||
'CategoryPage' => __DIR__ . '/includes/page/CategoryPage.php',
|
||||
|
@ -238,7 +233,6 @@ $wgAutoloadLocalClasses = [
|
|||
'CdnCacheUpdate' => __DIR__ . '/includes/deferred/CdnCacheUpdate.php',
|
||||
'CdnPurgeJob' => __DIR__ . '/includes/jobqueue/jobs/CdnPurgeJob.php',
|
||||
'CentralIdLookup' => __DIR__ . '/includes/user/CentralIdLookup.php',
|
||||
'CgzCopyTransaction' => __DIR__ . '/maintenance/storage/recompressTracked.php',
|
||||
'ChangePassword' => __DIR__ . '/maintenance/changePassword.php',
|
||||
'ChangeTags' => __DIR__ . '/includes/changetags/ChangeTags.php',
|
||||
'ChangeTagsList' => __DIR__ . '/includes/changetags/ChangeTagsList.php',
|
||||
|
@ -261,7 +255,6 @@ $wgAutoloadLocalClasses = [
|
|||
'CheckDependencies' => __DIR__ . '/maintenance/checkDependencies.php',
|
||||
'CheckImages' => __DIR__ . '/maintenance/checkImages.php',
|
||||
'CheckLess' => __DIR__ . '/maintenance/checkLess.php',
|
||||
'CheckStorage' => __DIR__ . '/maintenance/storage/checkStorage.php',
|
||||
'CheckUsernames' => __DIR__ . '/maintenance/checkUsernames.php',
|
||||
'ClassCollector' => __DIR__ . '/includes/utils/ClassCollector.php',
|
||||
'CleanupBlocks' => __DIR__ . '/maintenance/cleanupBlocks.php',
|
||||
|
@ -281,13 +274,11 @@ $wgAutoloadLocalClasses = [
|
|||
'ClearWatchlistNotificationsJob' => __DIR__ . '/includes/jobqueue/jobs/ClearWatchlistNotificationsJob.php',
|
||||
'CliInstaller' => __DIR__ . '/includes/installer/CliInstaller.php',
|
||||
'CloneDatabase' => __DIR__ . '/includes/db/CloneDatabase.php',
|
||||
'CodeCleanerGlobalsPass' => __DIR__ . '/maintenance/CodeCleanerGlobalsPass.inc',
|
||||
'CodeCleanerGlobalsPass' => __DIR__ . '/maintenance/CodeCleanerGlobalsPass.php',
|
||||
'CodeContentHandler' => __DIR__ . '/includes/content/CodeContentHandler.php',
|
||||
'CollapsibleFieldsetLayout' => __DIR__ . '/includes/htmlform/CollapsibleFieldsetLayout.php',
|
||||
'Collation' => __DIR__ . '/includes/collation/Collation.php',
|
||||
'CollationCkb' => __DIR__ . '/includes/collation/CollationCkb.php',
|
||||
'CommandLineInc' => __DIR__ . '/maintenance/commandLine.inc',
|
||||
'CommandLineInstaller' => __DIR__ . '/maintenance/install.php',
|
||||
'CommentStore' => __DIR__ . '/includes/CommentStore.php',
|
||||
'CommentStoreComment' => __DIR__ . '/includes/CommentStoreComment.php',
|
||||
'CompareParserCache' => __DIR__ . '/maintenance/compareParserCache.php',
|
||||
|
@ -315,8 +306,6 @@ $wgAutoloadLocalClasses = [
|
|||
'ContextSource' => __DIR__ . '/includes/context/ContextSource.php',
|
||||
'ContribsPager' => __DIR__ . '/includes/specials/pagers/ContribsPager.php',
|
||||
'ConvertExtensionToRegistration' => __DIR__ . '/maintenance/convertExtensionToRegistration.php',
|
||||
'ConvertLinks' => __DIR__ . '/maintenance/convertLinks.php',
|
||||
'ConvertUserOptions' => __DIR__ . '/maintenance/convertUserOptions.php',
|
||||
'ConverterRule' => __DIR__ . '/includes/language/ConverterRule.php',
|
||||
'Cookie' => __DIR__ . '/includes/libs/Cookie.php',
|
||||
'CookieJar' => __DIR__ . '/includes/libs/CookieJar.php',
|
||||
|
@ -370,8 +359,9 @@ $wgAutoloadLocalClasses = [
|
|||
'DeduplicateArchiveRevId' => __DIR__ . '/maintenance/deduplicateArchiveRevId.php',
|
||||
'DeferrableCallback' => __DIR__ . '/includes/deferred/DeferrableCallback.php',
|
||||
'DeferrableUpdate' => __DIR__ . '/includes/deferred/DeferrableUpdate.php',
|
||||
'DeferredStringifier' => __DIR__ . '/includes/libs/DeferredStringifier.php',
|
||||
'DeferredUpdates' => __DIR__ . '/includes/deferred/DeferredUpdates.php',
|
||||
'DeferredUpdatesScope' => __DIR__ . '/includes/deferred/DeferredUpdatesScope.php',
|
||||
'DeferredUpdatesScopeStack' => __DIR__ . '/includes/deferred/DeferredUpdatesScopeStack.php',
|
||||
'Deflate' => __DIR__ . '/includes/libs/Deflate.php',
|
||||
'DeleteAction' => __DIR__ . '/includes/actions/DeleteAction.php',
|
||||
'DeleteArchivedFiles' => __DIR__ . '/maintenance/deleteArchivedFiles.php',
|
||||
|
@ -496,6 +486,8 @@ $wgAutoloadLocalClasses = [
|
|||
'FakeConverter' => __DIR__ . '/includes/language/TrivialLanguageConverter.php',
|
||||
'FakeMaintenance' => __DIR__ . '/maintenance/includes/FakeMaintenance.php',
|
||||
'FakeResultWrapper' => __DIR__ . '/includes/libs/rdbms/database/resultwrapper/FakeResultWrapper.php',
|
||||
'FallbackContent' => __DIR__ . '/includes/content/FallbackContent.php',
|
||||
'FallbackContentHandler' => __DIR__ . '/includes/content/FallbackContentHandler.php',
|
||||
'FatalError' => __DIR__ . '/includes/exception/FatalError.php',
|
||||
'FauxRequest' => __DIR__ . '/includes/FauxRequest.php',
|
||||
'FauxResponse' => __DIR__ . '/includes/FauxResponse.php',
|
||||
|
@ -563,6 +555,7 @@ $wgAutoloadLocalClasses = [
|
|||
'GenerateNormalizerDataAr' => __DIR__ . '/maintenance/language/generateNormalizerDataAr.php',
|
||||
'GenerateNormalizerDataMl' => __DIR__ . '/maintenance/language/generateNormalizerDataMl.php',
|
||||
'GeneratePhpCharToUpperMappings' => __DIR__ . '/maintenance/mediawiki.Title/generatePhpCharToUpperMappings.php',
|
||||
'GenerateSchemaChangeSql' => __DIR__ . '/maintenance/generateSchemaChangeSql.php',
|
||||
'GenerateSchemaSql' => __DIR__ . '/maintenance/generateSchemaSql.php',
|
||||
'GenerateSitemap' => __DIR__ . '/maintenance/generateSitemap.php',
|
||||
'GenerateUcfirstOverrides' => __DIR__ . '/maintenance/language/generateUcfirstOverrides.php',
|
||||
|
@ -589,6 +582,7 @@ $wgAutoloadLocalClasses = [
|
|||
'HTMLEditTools' => __DIR__ . '/includes/htmlform/fields/HTMLEditTools.php',
|
||||
'HTMLExpiryField' => __DIR__ . '/includes/htmlform/fields/HTMLExpiryField.php',
|
||||
'HTMLFileCache' => __DIR__ . '/includes/cache/HTMLFileCache.php',
|
||||
'HTMLFileField' => __DIR__ . '/includes/htmlform/fields/HTMLFileField.php',
|
||||
'HTMLFloatField' => __DIR__ . '/includes/htmlform/fields/HTMLFloatField.php',
|
||||
'HTMLForm' => __DIR__ . '/includes/htmlform/HTMLForm.php',
|
||||
'HTMLFormActionFieldLayout' => __DIR__ . '/includes/htmlform/HTMLFormActionFieldLayout.php',
|
||||
|
@ -616,6 +610,7 @@ $wgAutoloadLocalClasses = [
|
|||
'HTMLSizeFilterField' => __DIR__ . '/includes/htmlform/fields/HTMLSizeFilterField.php',
|
||||
'HTMLSubmitField' => __DIR__ . '/includes/htmlform/fields/HTMLSubmitField.php',
|
||||
'HTMLTagFilter' => __DIR__ . '/includes/htmlform/fields/HTMLTagFilter.php',
|
||||
'HTMLTagMultiselectField' => __DIR__ . '/includes/htmlform/fields/HTMLTagMultiselectField.php',
|
||||
'HTMLTextAreaField' => __DIR__ . '/includes/htmlform/fields/HTMLTextAreaField.php',
|
||||
'HTMLTextField' => __DIR__ . '/includes/htmlform/fields/HTMLTextField.php',
|
||||
'HTMLTextFieldWithButton' => __DIR__ . '/includes/htmlform/fields/HTMLTextFieldWithButton.php',
|
||||
|
@ -707,7 +702,6 @@ $wgAutoloadLocalClasses = [
|
|||
'JSTokenizer' => __DIR__ . '/includes/libs/jsminplus.php',
|
||||
'JavaScriptContent' => __DIR__ . '/includes/content/JavaScriptContent.php',
|
||||
'JavaScriptContentHandler' => __DIR__ . '/includes/content/JavaScriptContentHandler.php',
|
||||
'JavaScriptMinifier' => __DIR__ . '/includes/libs/JavaScriptMinifier.php',
|
||||
'Job' => __DIR__ . '/includes/jobqueue/Job.php',
|
||||
'JobQueue' => __DIR__ . '/includes/jobqueue/JobQueue.php',
|
||||
'JobQueueConnectionError' => __DIR__ . '/includes/jobqueue/exception/JobQueueConnectionError.php',
|
||||
|
@ -739,8 +733,9 @@ $wgAutoloadLocalClasses = [
|
|||
'LanguageBe_tarask' => __DIR__ . '/languages/classes/LanguageBe_tarask.php',
|
||||
'LanguageBs' => __DIR__ . '/languages/classes/LanguageBs.php',
|
||||
'LanguageCode' => __DIR__ . '/includes/language/LanguageCode.php',
|
||||
'LanguageConverter' => __DIR__ . '/languages/LanguageConverter.php',
|
||||
'LanguageConverterSpecific' => __DIR__ . '/languages/LanguageConverterSpecific.php',
|
||||
'LanguageConverter' => __DIR__ . '/includes/language/LanguageConverter.php',
|
||||
'LanguageConverterIcu' => __DIR__ . '/includes/language/LanguageConverterIcu.php',
|
||||
'LanguageConverterSpecific' => __DIR__ . '/includes/language/LanguageConverterSpecific.php',
|
||||
'LanguageCu' => __DIR__ . '/languages/classes/LanguageCu.php',
|
||||
'LanguageDsb' => __DIR__ . '/languages/classes/LanguageDsb.php',
|
||||
'LanguageEn' => __DIR__ . '/languages/classes/LanguageEn.php',
|
||||
|
@ -860,6 +855,8 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWikiSite' => __DIR__ . '/includes/site/MediaWikiSite.php',
|
||||
'MediaWikiTitleCodec' => __DIR__ . '/includes/title/MediaWikiTitleCodec.php',
|
||||
'MediaWikiVersionFetcher' => __DIR__ . '/includes/MediaWikiVersionFetcher.php',
|
||||
'MediaWiki\\DAO\\WikiAwareEntity' => __DIR__ . '/includes/dao/WikiAwareEntity.php',
|
||||
'MediaWiki\\DAO\\WikiAwareEntityTrait' => __DIR__ . '/includes/dao/WikiAwareEntityTrait.php',
|
||||
'MediaWiki\\Debug\\DeprecatablePropertyArray' => __DIR__ . '/includes/debug/DeprecatablePropertyArray.php',
|
||||
'MediaWiki\\FileBackend\\FSFile\\TempFSFileFactory' => __DIR__ . '/includes/libs/filebackend/fsfile/TempFSFileFactory.php',
|
||||
'MediaWiki\\Hook\\AbortEmailNotificationHook' => __DIR__ . '/includes/changes/Hook/AbortEmailNotificationHook.php',
|
||||
|
@ -876,6 +873,7 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Hook\\BaseTemplateToolboxHook' => __DIR__ . '/includes/skins/Hook/BaseTemplateToolboxHook.php',
|
||||
'MediaWiki\\Hook\\BeforeParserFetchFileAndTitleHook' => __DIR__ . '/includes/parser/Hook/BeforeParserFetchFileAndTitleHook.php',
|
||||
'MediaWiki\\Hook\\BeforeParserFetchTemplateAndtitleHook' => __DIR__ . '/includes/parser/Hook/BeforeParserFetchTemplateAndtitleHook.php',
|
||||
'MediaWiki\\Hook\\BeforeParserFetchTemplateRevisionRecordHook' => __DIR__ . '/includes/parser/Hook/BeforeParserFetchTemplateRevisionRecordHook.php',
|
||||
'MediaWiki\\Hook\\BeforeParserrenderImageGalleryHook' => __DIR__ . '/includes/parser/Hook/BeforeParserrenderImageGalleryHook.php',
|
||||
'MediaWiki\\Hook\\BeforeResetNotificationTimestampHook' => __DIR__ . '/includes/watcheditem/Hook/BeforeResetNotificationTimestampHook.php',
|
||||
'MediaWiki\\Hook\\BeforeWelcomeCreationHook' => __DIR__ . '/includes/specials/Hook/BeforeWelcomeCreationHook.php',
|
||||
|
@ -921,6 +919,7 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Hook\\HistoryRevisionToolsHook' => __DIR__ . '/includes/actions/Hook/HistoryRevisionToolsHook.php',
|
||||
'MediaWiki\\Hook\\HistoryToolsHook' => __DIR__ . '/includes/actions/Hook/HistoryToolsHook.php',
|
||||
'MediaWiki\\Hook\\IRCLineURLHook' => __DIR__ . '/includes/rcfeed/Hook/IRCLineURLHook.php',
|
||||
'MediaWiki\\Hook\\ImportHandleContentXMLTagHook' => __DIR__ . '/includes/import/Hook/ImportHandleContentXMLTagHook.php',
|
||||
'MediaWiki\\Hook\\ImportHandleLogItemXMLTagHook' => __DIR__ . '/includes/import/Hook/ImportHandleLogItemXMLTagHook.php',
|
||||
'MediaWiki\\Hook\\ImportHandlePageXMLTagHook' => __DIR__ . '/includes/import/Hook/ImportHandlePageXMLTagHook.php',
|
||||
'MediaWiki\\Hook\\ImportHandleRevisionXMLTagHook' => __DIR__ . '/includes/import/Hook/ImportHandleRevisionXMLTagHook.php',
|
||||
|
@ -965,12 +964,9 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Hook\\PageHistoryPager__getQueryInfoHook' => __DIR__ . '/includes/actions/Hook/PageHistoryPager__getQueryInfoHook.php',
|
||||
'MediaWiki\\Hook\\PageRenderingHashHook' => __DIR__ . '/includes/parser/Hook/PageRenderingHashHook.php',
|
||||
'MediaWiki\\Hook\\ParserAfterParseHook' => __DIR__ . '/includes/parser/Hook/ParserAfterParseHook.php',
|
||||
'MediaWiki\\Hook\\ParserAfterStripHook' => __DIR__ . '/includes/parser/Hook/ParserAfterStripHook.php',
|
||||
'MediaWiki\\Hook\\ParserAfterTidyHook' => __DIR__ . '/includes/parser/Hook/ParserAfterTidyHook.php',
|
||||
'MediaWiki\\Hook\\ParserBeforeInternalParseHook' => __DIR__ . '/includes/parser/Hook/ParserBeforeInternalParseHook.php',
|
||||
'MediaWiki\\Hook\\ParserBeforePreprocessHook' => __DIR__ . '/includes/parser/Hook/ParserBeforePreprocessHook.php',
|
||||
'MediaWiki\\Hook\\ParserBeforeStripHook' => __DIR__ . '/includes/parser/Hook/ParserBeforeStripHook.php',
|
||||
'MediaWiki\\Hook\\ParserBeforeTidyHook' => __DIR__ . '/includes/parser/Hook/ParserBeforeTidyHook.php',
|
||||
'MediaWiki\\Hook\\ParserCacheSaveCompleteHook' => __DIR__ . '/includes/parser/Hook/ParserCacheSaveCompleteHook.php',
|
||||
'MediaWiki\\Hook\\ParserClearStateHook' => __DIR__ . '/includes/parser/Hook/ParserClearStateHook.php',
|
||||
'MediaWiki\\Hook\\ParserClonedHook' => __DIR__ . '/includes/parser/Hook/ParserClonedHook.php',
|
||||
|
@ -1102,8 +1098,9 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Languages\\LanguageFactory' => __DIR__ . '/includes/language/LanguageFactory.php',
|
||||
'MediaWiki\\Languages\\LanguageFallback' => __DIR__ . '/includes/language/LanguageFallback.php',
|
||||
'MediaWiki\\Languages\\LanguageNameUtils' => __DIR__ . '/includes/language/LanguageNameUtils.php',
|
||||
'MediaWiki\\Mail\\Emailer' => __DIR__ . '/includes/mail/Emailer.php',
|
||||
'MediaWiki\\Mail\\IEmailer' => __DIR__ . '/includes/mail/IEmailer.php',
|
||||
'MediaWiki\\Parser\\ParserCacheFactory' => __DIR__ . '/includes/parser/ParserCacheFactory.php',
|
||||
'MediaWiki\\Parser\\ParserCacheMetadata' => __DIR__ . '/includes/parser/ParserCacheMetadata.php',
|
||||
'MediaWiki\\Parser\\RevisionOutputCache' => __DIR__ . '/includes/parser/RevisionOutputCache.php',
|
||||
'MediaWiki\\ProcOpenError' => __DIR__ . '/includes/exception/ProcOpenError.php',
|
||||
'MediaWiki\\ShellDisabledError' => __DIR__ . '/includes/exception/ShellDisabledError.php',
|
||||
'MediaWiki\\Skins\\Hook\\SkinAfterPortletHook' => __DIR__ . '/includes/skins/Hook/SkinAfterPortletHook.php',
|
||||
|
@ -1122,6 +1119,8 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Storage\\RevisionStoreRecord' => __DIR__ . '/includes/Revision/RevisionStoreRecord.php',
|
||||
'MediaWiki\\Storage\\SlotRecord' => __DIR__ . '/includes/Revision/SlotRecord.php',
|
||||
'MediaWiki\\Storage\\SuppressedDataException' => __DIR__ . '/includes/Revision/SuppressedDataException.php',
|
||||
'MediaWiki\\User\\WatchlistNotificationManager' => __DIR__ . '/includes/watchlist/WatchlistManager.php',
|
||||
'MediaWiki\\Watchlist\\WatchlistManager' => __DIR__ . '/includes/watchlist/WatchlistManager.php',
|
||||
'MediumSpecificBagOStuff' => __DIR__ . '/includes/libs/objectcache/MediumSpecificBagOStuff.php',
|
||||
'MemcLockManager' => __DIR__ . '/includes/libs/lockmanager/MemcLockManager.php',
|
||||
'MemcachedBagOStuff' => __DIR__ . '/includes/libs/objectcache/MemcachedBagOStuff.php',
|
||||
|
@ -1133,7 +1132,6 @@ $wgAutoloadLocalClasses = [
|
|||
'MergeHistory' => __DIR__ . '/includes/MergeHistory.php',
|
||||
'MergeHistoryPager' => __DIR__ . '/includes/specials/pagers/MergeHistoryPager.php',
|
||||
'MergeLogFormatter' => __DIR__ . '/includes/logging/MergeLogFormatter.php',
|
||||
'MergeMessageFileList' => __DIR__ . '/maintenance/mergeMessageFileList.php',
|
||||
'MergeableUpdate' => __DIR__ . '/includes/deferred/MergeableUpdate.php',
|
||||
'Message' => __DIR__ . '/includes/language/Message.php',
|
||||
'MessageBlobStore' => __DIR__ . '/includes/resourceloader/MessageBlobStore.php',
|
||||
|
@ -1149,7 +1147,6 @@ $wgAutoloadLocalClasses = [
|
|||
'MigrateImageCommentTemp' => __DIR__ . '/maintenance/migrateImageCommentTemp.php',
|
||||
'MigrateUserGroup' => __DIR__ . '/maintenance/migrateUserGroup.php',
|
||||
'MimeAnalyzer' => __DIR__ . '/includes/libs/mime/MimeAnalyzer.php',
|
||||
'MinifyScript' => __DIR__ . '/maintenance/minify.php',
|
||||
'MostimagesPage' => __DIR__ . '/includes/specials/SpecialMostimages.php',
|
||||
'MoveBatch' => __DIR__ . '/maintenance/moveBatch.php',
|
||||
'MoveFileOp' => __DIR__ . '/includes/libs/filebackend/fileop/MoveFileOp.php',
|
||||
|
@ -1209,9 +1206,6 @@ $wgAutoloadLocalClasses = [
|
|||
'PPDStack_Hash' => __DIR__ . '/includes/parser/PPDStack_Hash.php',
|
||||
'PPFrame' => __DIR__ . '/includes/parser/PPFrame.php',
|
||||
'PPFrame_Hash' => __DIR__ . '/includes/parser/PPFrame_Hash.php',
|
||||
'PPFuzzTest' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
||||
'PPFuzzTester' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
||||
'PPFuzzUser' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
||||
'PPNode' => __DIR__ . '/includes/parser/PPNode.php',
|
||||
'PPNode_Hash_Array' => __DIR__ . '/includes/parser/PPNode_Hash_Array.php',
|
||||
'PPNode_Hash_Attr' => __DIR__ . '/includes/parser/PPNode_Hash_Attr.php',
|
||||
|
@ -1257,9 +1251,10 @@ $wgAutoloadLocalClasses = [
|
|||
'PoolCounterWork' => __DIR__ . '/includes/poolcounter/PoolCounterWork.php',
|
||||
'PoolCounterWorkViaCallback' => __DIR__ . '/includes/poolcounter/PoolCounterWorkViaCallback.php',
|
||||
'PoolWorkArticleView' => __DIR__ . '/includes/poolcounter/PoolWorkArticleView.php',
|
||||
'PoolWorkArticleViewCurrent' => __DIR__ . '/includes/poolcounter/PoolWorkArticleViewCurrent.php',
|
||||
'PoolWorkArticleViewOld' => __DIR__ . '/includes/poolcounter/PoolWorkArticleViewOld.php',
|
||||
'PopulateArchiveRevId' => __DIR__ . '/maintenance/populateArchiveRevId.php',
|
||||
'PopulateBacklinkNamespace' => __DIR__ . '/maintenance/populateBacklinkNamespace.php',
|
||||
'PopulateCategory' => __DIR__ . '/maintenance/populateCategory.php',
|
||||
'PopulateChangeTagDef' => __DIR__ . '/maintenance/populateChangeTagDef.php',
|
||||
'PopulateContentTables' => __DIR__ . '/maintenance/populateContentTables.php',
|
||||
'PopulateExternallinksIndex60' => __DIR__ . '/maintenance/populateExternallinksIndex60.php',
|
||||
|
@ -1267,10 +1262,7 @@ $wgAutoloadLocalClasses = [
|
|||
'PopulateImageSha1' => __DIR__ . '/maintenance/populateImageSha1.php',
|
||||
'PopulateInterwiki' => __DIR__ . '/maintenance/populateInterwiki.php',
|
||||
'PopulateIpChanges' => __DIR__ . '/maintenance/populateIpChanges.php',
|
||||
'PopulateLogSearch' => __DIR__ . '/maintenance/populateLogSearch.php',
|
||||
'PopulateLogUsertext' => __DIR__ . '/maintenance/populateLogUsertext.php',
|
||||
'PopulatePPSortKey' => __DIR__ . '/maintenance/populatePPSortKey.php',
|
||||
'PopulateParentId' => __DIR__ . '/maintenance/populateParentId.php',
|
||||
'PopulateRecentChangesSource' => __DIR__ . '/maintenance/populateRecentChangesSource.php',
|
||||
'PopulateRevisionLength' => __DIR__ . '/maintenance/populateRevisionLength.php',
|
||||
'PopulateRevisionSha1' => __DIR__ . '/maintenance/populateRevisionSha1.php',
|
||||
|
@ -1280,10 +1272,8 @@ $wgAutoloadLocalClasses = [
|
|||
'PreferencesFormOOUI' => __DIR__ . '/includes/specials/forms/PreferencesFormOOUI.php',
|
||||
'PrefixSearch' => __DIR__ . '/includes/search/PrefixSearch.php',
|
||||
'PrefixingStatsdDataFactoryProxy' => __DIR__ . '/includes/libs/stats/PrefixingStatsdDataFactoryProxy.php',
|
||||
'PreprocessDump' => __DIR__ . '/maintenance/preprocessDump.php',
|
||||
'Preprocessor' => __DIR__ . '/includes/parser/Preprocessor.php',
|
||||
'Preprocessor_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
||||
'ProcessCacheLRU' => __DIR__ . '/includes/libs/ProcessCacheLRU.php',
|
||||
'Processor' => __DIR__ . '/includes/registration/Processor.php',
|
||||
'Profiler' => __DIR__ . '/includes/profiler/Profiler.php',
|
||||
'ProfilerExcimer' => __DIR__ . '/includes/profiler/ProfilerExcimer.php',
|
||||
|
@ -1311,6 +1301,7 @@ $wgAutoloadLocalClasses = [
|
|||
'PurgeExpiredWatchlistItems' => __DIR__ . '/maintenance/purgeExpiredWatchlistItems.php',
|
||||
'PurgeJobUtils' => __DIR__ . '/includes/jobqueue/utils/PurgeJobUtils.php',
|
||||
'PurgeList' => __DIR__ . '/maintenance/purgeList.php',
|
||||
'PurgeMessageBlobStore' => __DIR__ . '/maintenance/purgeMessageBlobStore.php',
|
||||
'PurgeModuleDeps' => __DIR__ . '/maintenance/purgeModuleDeps.php',
|
||||
'PurgeOldText' => __DIR__ . '/maintenance/purgeOldText.php',
|
||||
'PurgePage' => __DIR__ . '/maintenance/purgePage.php',
|
||||
|
@ -1342,7 +1333,6 @@ $wgAutoloadLocalClasses = [
|
|||
'RebuildTextIndex' => __DIR__ . '/maintenance/rebuildtextindex.php',
|
||||
'RecentChange' => __DIR__ . '/includes/changes/RecentChange.php',
|
||||
'RecentChangesUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/RecentChangesUpdateJob.php',
|
||||
'RecompressTracked' => __DIR__ . '/maintenance/storage/recompressTracked.php',
|
||||
'RecountCategories' => __DIR__ . '/maintenance/recountCategories.php',
|
||||
'RedirectSpecialArticle' => __DIR__ . '/includes/specialpage/RedirectSpecialArticle.php',
|
||||
'RedirectSpecialPage' => __DIR__ . '/includes/specialpage/RedirectSpecialPage.php',
|
||||
|
@ -1418,6 +1408,7 @@ $wgAutoloadLocalClasses = [
|
|||
'ReverseArrayIterator' => __DIR__ . '/includes/libs/ReverseArrayIterator.php',
|
||||
'ReverseChronologicalPager' => __DIR__ . '/includes/pager/ReverseChronologicalPager.php',
|
||||
'RevertAction' => __DIR__ . '/includes/actions/RevertAction.php',
|
||||
'RevertedTagUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/RevertedTagUpdateJob.php',
|
||||
'Revision' => __DIR__ . '/includes/Revision.php',
|
||||
'RevisionDeleteUser' => __DIR__ . '/includes/revisiondelete/RevisionDeleteUser.php',
|
||||
'RevisionDeleter' => __DIR__ . '/includes/revisiondelete/RevisionDeleter.php',
|
||||
|
@ -1435,7 +1426,6 @@ $wgAutoloadLocalClasses = [
|
|||
'RunBatchedQuery' => __DIR__ . '/maintenance/runBatchedQuery.php',
|
||||
'RunJobs' => __DIR__ . '/maintenance/runJobs.php',
|
||||
'RunnableJob' => __DIR__ . '/includes/jobqueue/RunnableJob.php',
|
||||
'SVGMetadataExtractor' => __DIR__ . '/includes/media/SVGMetadataExtractor.php',
|
||||
'SVGReader' => __DIR__ . '/includes/media/SVGReader.php',
|
||||
'SamplingStatsdClient' => __DIR__ . '/includes/libs/stats/SamplingStatsdClient.php',
|
||||
'Sanitizer' => __DIR__ . '/includes/parser/Sanitizer.php',
|
||||
|
@ -1566,7 +1556,6 @@ $wgAutoloadLocalClasses = [
|
|||
'SpecialPage' => __DIR__ . '/includes/specialpage/SpecialPage.php',
|
||||
'SpecialPageAction' => __DIR__ . '/includes/actions/SpecialPageAction.php',
|
||||
'SpecialPageData' => __DIR__ . '/includes/specials/SpecialPageData.php',
|
||||
'SpecialPageFactory' => __DIR__ . '/includes/specialpage/SpecialPageFactory_deprecated.php',
|
||||
'SpecialPageHistory' => __DIR__ . '/includes/specials/SpecialPageHistory.php',
|
||||
'SpecialPageInfo' => __DIR__ . '/includes/specials/SpecialPageInfo.php',
|
||||
'SpecialPageLanguage' => __DIR__ . '/includes/specials/SpecialPageLanguage.php',
|
||||
|
@ -1623,12 +1612,10 @@ $wgAutoloadLocalClasses = [
|
|||
'SqlBagOStuff' => __DIR__ . '/includes/objectcache/SqlBagOStuff.php',
|
||||
'SqlSearchResult' => __DIR__ . '/includes/search/SqlSearchResult.php',
|
||||
'SqlSearchResultSet' => __DIR__ . '/includes/search/SqlSearchResultSet.php',
|
||||
'Sqlite' => __DIR__ . '/maintenance/sqlite.inc',
|
||||
'Sqlite' => __DIR__ . '/maintenance/Sqlite.php',
|
||||
'SqliteInstaller' => __DIR__ . '/includes/installer/SqliteInstaller.php',
|
||||
'SqliteMaintenance' => __DIR__ . '/maintenance/sqlite.php',
|
||||
'SqliteMaintenance' => __DIR__ . '/maintenance/SqliteMaintenance.php',
|
||||
'SqliteUpdater' => __DIR__ . '/includes/installer/SqliteUpdater.php',
|
||||
'SquidPurgeClient' => __DIR__ . '/includes/clientpool/SquidPurgeClient.php',
|
||||
'SquidPurgeClientPool' => __DIR__ . '/includes/clientpool/SquidPurgeClientPool.php',
|
||||
'SrConverter' => __DIR__ . '/includes/language/converters/SrConverter.php',
|
||||
'StatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
|
||||
'StatsdAwareInterface' => __DIR__ . '/includes/libs/stats/StatsdAwareInterface.php',
|
||||
|
@ -1652,7 +1639,7 @@ $wgAutoloadLocalClasses = [
|
|||
'SwiftFileOpHandle' => __DIR__ . '/includes/libs/filebackend/fileophandle/SwiftFileOpHandle.php',
|
||||
'SwiftVirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/SwiftVirtualRESTService.php',
|
||||
'SyncFileBackend' => __DIR__ . '/maintenance/syncFileBackend.php',
|
||||
'TableCleanup' => __DIR__ . '/maintenance/cleanupTable.inc',
|
||||
'TableCleanup' => __DIR__ . '/maintenance/TableCleanup.php',
|
||||
'TableDiffFormatter' => __DIR__ . '/includes/diff/TableDiffFormatter.php',
|
||||
'TablePager' => __DIR__ . '/includes/pager/TablePager.php',
|
||||
'TagLogFormatter' => __DIR__ . '/includes/logging/TagLogFormatter.php',
|
||||
|
@ -1681,7 +1668,7 @@ $wgAutoloadLocalClasses = [
|
|||
'TitleParser' => __DIR__ . '/includes/title/TitleParser.php',
|
||||
'TitlePrefixSearch' => __DIR__ . '/includes/search/TitlePrefixSearch.php',
|
||||
'TitleValue' => __DIR__ . '/includes/title/TitleValue.php',
|
||||
'TrackBlobs' => __DIR__ . '/maintenance/storage/trackBlobs.php',
|
||||
'TlyConverter' => __DIR__ . '/includes/language/converters/TlyConverter.php',
|
||||
'TrackingCategories' => __DIR__ . '/includes/TrackingCategories.php',
|
||||
'TraditionalImageGallery' => __DIR__ . '/includes/gallery/TraditionalImageGallery.php',
|
||||
'TransactionRoundAwareUpdate' => __DIR__ . '/includes/deferred/TransactionRoundAwareUpdate.php',
|
||||
|
@ -1696,8 +1683,8 @@ $wgAutoloadLocalClasses = [
|
|||
'UcdXmlReader' => __DIR__ . '/maintenance/language/generateCollationData.php',
|
||||
'Undelete' => __DIR__ . '/maintenance/undelete.php',
|
||||
'UnifiedDiffFormatter' => __DIR__ . '/includes/diff/UnifiedDiffFormatter.php',
|
||||
'UnknownContent' => __DIR__ . '/includes/content/UnknownContent.php',
|
||||
'UnknownContentHandler' => __DIR__ . '/includes/content/UnknownContentHandler.php',
|
||||
'UnknownContent' => __DIR__ . '/includes/content/FallbackContent.php',
|
||||
'UnknownContentHandler' => __DIR__ . '/includes/content/FallbackContentHandler.php',
|
||||
'UnlistedSpecialPage' => __DIR__ . '/includes/specialpage/UnlistedSpecialPage.php',
|
||||
'UnprotectAction' => __DIR__ . '/includes/actions/UnprotectAction.php',
|
||||
'UnregisteredLocalFile' => __DIR__ . '/includes/filerepo/file/UnregisteredLocalFile.php',
|
||||
|
@ -1705,10 +1692,7 @@ $wgAutoloadLocalClasses = [
|
|||
'UnwatchAction' => __DIR__ . '/includes/actions/UnwatchAction.php',
|
||||
'UpdateArticleCount' => __DIR__ . '/maintenance/updateArticleCount.php',
|
||||
'UpdateCollation' => __DIR__ . '/maintenance/updateCollation.php',
|
||||
'UpdateDoubleWidthSearch' => __DIR__ . '/maintenance/updateDoubleWidthSearch.php',
|
||||
'UpdateExtensionJsonSchema' => __DIR__ . '/maintenance/updateExtensionJsonSchema.php',
|
||||
'UpdateLogging' => __DIR__ . '/maintenance/archives/upgradeLogging.php',
|
||||
'UpdateMediaWiki' => __DIR__ . '/maintenance/update.php',
|
||||
'UpdateRestrictions' => __DIR__ . '/maintenance/updateRestrictions.php',
|
||||
'UpdateSearchIndex' => __DIR__ . '/maintenance/updateSearchIndex.php',
|
||||
'UpdateSpecialPages' => __DIR__ . '/maintenance/updateSpecialPages.php',
|
||||
|
@ -1742,12 +1726,12 @@ $wgAutoloadLocalClasses = [
|
|||
'UserArrayFromResult' => __DIR__ . '/includes/user/UserArrayFromResult.php',
|
||||
'UserBlockedError' => __DIR__ . '/includes/exception/UserBlockedError.php',
|
||||
'UserCache' => __DIR__ . '/includes/cache/UserCache.php',
|
||||
'UserDupes' => __DIR__ . '/maintenance/userDupes.inc',
|
||||
'UserEditCountInitJob' => __DIR__ . '/includes/jobqueue/jobs/UserEditCountInitJob.php',
|
||||
'UserEditCountUpdate' => __DIR__ . '/includes/deferred/UserEditCountUpdate.php',
|
||||
'UserGroupExpiryJob' => __DIR__ . '/includes/jobqueue/jobs/UserGroupExpiryJob.php',
|
||||
'UserGroupMembership' => __DIR__ . '/includes/user/UserGroupMembership.php',
|
||||
'UserMailer' => __DIR__ . '/includes/mail/UserMailer.php',
|
||||
'UserNamePrefixSearch' => __DIR__ . '/includes/user/UserNamePrefixSearch.php',
|
||||
'UserNamePrefixSearch' => __DIR__ . '/includes/user/UserNamePrefixSearch_deprecated.php',
|
||||
'UserNotLoggedIn' => __DIR__ . '/includes/exception/UserNotLoggedIn.php',
|
||||
'UserOptionsMaintenance' => __DIR__ . '/maintenance/userOptions.php',
|
||||
'UserOptionsUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/UserOptionsUpdateJob.php',
|
||||
|
@ -1758,6 +1742,7 @@ $wgAutoloadLocalClasses = [
|
|||
'UzConverter' => __DIR__ . '/includes/language/converters/UzConverter.php',
|
||||
'VFormHTMLForm' => __DIR__ . '/includes/htmlform/VFormHTMLForm.php',
|
||||
'ValidateRegistrationFile' => __DIR__ . '/maintenance/validateRegistrationFile.php',
|
||||
'Version' => __DIR__ . '/maintenance/version.php',
|
||||
'VersionChecker' => __DIR__ . '/includes/registration/VersionChecker.php',
|
||||
'ViewAction' => __DIR__ . '/includes/actions/ViewAction.php',
|
||||
'ViewCLI' => __DIR__ . '/maintenance/view.php',
|
||||
|
@ -1817,6 +1802,7 @@ $wgAutoloadLocalClasses = [
|
|||
'Wikimedia\\LightweightObjectStore\\StorageAwareness' => __DIR__ . '/includes/libs/objectcache/utils/StorageAwareness.php',
|
||||
'Wikimedia\\Mime\\MimeMap' => __DIR__ . '/includes/libs/mime/MimeMap.php',
|
||||
'Wikimedia\\Mime\\MimeMapMinimal' => __DIR__ . '/includes/libs/mime/MimeMapMinimal.php',
|
||||
'Wikimedia\\NonSerializable\\NonSerializableTrait' => __DIR__ . '/includes/libs/NonSerializableTrait.php',
|
||||
'Wikimedia\\Rdbms\\AtomicSectionIdentifier' => __DIR__ . '/includes/libs/rdbms/database/utils/AtomicSectionIdentifier.php',
|
||||
'Wikimedia\\Rdbms\\Blob' => __DIR__ . '/includes/libs/rdbms/encasing/Blob.php',
|
||||
'Wikimedia\\Rdbms\\ChronologyProtector' => __DIR__ . '/includes/libs/rdbms/ChronologyProtector.php',
|
||||
|
@ -1843,8 +1829,11 @@ $wgAutoloadLocalClasses = [
|
|||
'Wikimedia\\Rdbms\\DatabaseMysqli' => __DIR__ . '/includes/libs/rdbms/database/DatabaseMysqli.php',
|
||||
'Wikimedia\\Rdbms\\DatabasePostgres' => __DIR__ . '/includes/libs/rdbms/database/DatabasePostgres.php',
|
||||
'Wikimedia\\Rdbms\\DatabaseSqlite' => __DIR__ . '/includes/libs/rdbms/database/DatabaseSqlite.php',
|
||||
'Wikimedia\\Rdbms\\DoctrineAbstractSchemaTrait' => __DIR__ . '/includes/libs/rdbms/database/DoctrineAbstractSchemaTrait.php',
|
||||
'Wikimedia\\Rdbms\\DoctrineSchemaBuilder' => __DIR__ . '/includes/libs/rdbms/database/DoctrineSchemaBuilder.php',
|
||||
'Wikimedia\\Rdbms\\DoctrineSchemaBuilderFactory' => __DIR__ . '/includes/libs/rdbms/database/DoctrineSchemaBuilderFactory.php',
|
||||
'Wikimedia\\Rdbms\\DoctrineSchemaChangeBuilder' => __DIR__ . '/includes/libs/rdbms/database/DoctrineSchemaChangeBuilder.php',
|
||||
'Wikimedia\\Rdbms\\EnumType' => __DIR__ . '/includes/libs/rdbms/database/EnumType.php',
|
||||
'Wikimedia\\Rdbms\\FakeResultWrapper' => __DIR__ . '/includes/libs/rdbms/database/resultwrapper/FakeResultWrapper.php',
|
||||
'Wikimedia\\Rdbms\\Field' => __DIR__ . '/includes/libs/rdbms/field/Field.php',
|
||||
'Wikimedia\\Rdbms\\GeneralizedSql' => __DIR__ . '/includes/libs/rdbms/database/utils/GeneralizedSql.php',
|
||||
|
@ -1867,6 +1856,8 @@ $wgAutoloadLocalClasses = [
|
|||
'Wikimedia\\Rdbms\\LoadMonitor' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitor.php',
|
||||
'Wikimedia\\Rdbms\\LoadMonitorMySQL' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php',
|
||||
'Wikimedia\\Rdbms\\LoadMonitorNull' => __DIR__ . '/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php',
|
||||
'Wikimedia\\Rdbms\\MWMySQLPlatform' => __DIR__ . '/includes/libs/rdbms/database/MWMySQLPlatform.php',
|
||||
'Wikimedia\\Rdbms\\MWPostgreSqlPlatform' => __DIR__ . '/includes/libs/rdbms/database/MWPostgreSqlPlatform.php',
|
||||
'Wikimedia\\Rdbms\\MaintainableDBConnRef' => __DIR__ . '/includes/libs/rdbms/database/MaintainableDBConnRef.php',
|
||||
'Wikimedia\\Rdbms\\MySQLField' => __DIR__ . '/includes/libs/rdbms/field/MySQLField.php',
|
||||
'Wikimedia\\Rdbms\\MySQLMasterPos' => __DIR__ . '/includes/libs/rdbms/database/position/MySQLMasterPos.php',
|
||||
|
@ -1876,10 +1867,14 @@ $wgAutoloadLocalClasses = [
|
|||
'Wikimedia\\Rdbms\\ResultWrapper' => __DIR__ . '/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php',
|
||||
'Wikimedia\\Rdbms\\SQLiteField' => __DIR__ . '/includes/libs/rdbms/field/SQLiteField.php',
|
||||
'Wikimedia\\Rdbms\\SchemaBuilder' => __DIR__ . '/includes/libs/rdbms/database/SchemaBuilder.php',
|
||||
'Wikimedia\\Rdbms\\SchemaChangeBuilder' => __DIR__ . '/includes/libs/rdbms/database/SchemaChangeBuilder.php',
|
||||
'Wikimedia\\Rdbms\\SelectQueryBuilder' => __DIR__ . '/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php',
|
||||
'Wikimedia\\Rdbms\\SessionConsistentConnectionManager' => __DIR__ . '/includes/libs/rdbms/connectionmanager/SessionConsistentConnectionManager.php',
|
||||
'Wikimedia\\Rdbms\\Subquery' => __DIR__ . '/includes/libs/rdbms/encasing/Subquery.php',
|
||||
'Wikimedia\\Rdbms\\TimestampType' => __DIR__ . '/includes/libs/rdbms/database/TimestampType.php',
|
||||
'Wikimedia\\Rdbms\\TinyIntType' => __DIR__ . '/includes/libs/rdbms/database/TinyIntType.php',
|
||||
'Wikimedia\\Rdbms\\TransactionProfiler' => __DIR__ . '/includes/libs/rdbms/TransactionProfiler.php',
|
||||
'Wikimedia\\Reflection\\GhostFieldAccessTrait' => __DIR__ . '/includes/libs/GhostFieldAccessTrait.php',
|
||||
'WikitextContent' => __DIR__ . '/includes/content/WikitextContent.php',
|
||||
'WikitextContentHandler' => __DIR__ . '/includes/content/WikitextContentHandler.php',
|
||||
'WikitextLogFormatter' => __DIR__ . '/includes/logging/WikitextLogFormatter.php',
|
||||
|
|
|
@ -21,73 +21,78 @@
|
|||
},
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"composer/semver": "1.7.2",
|
||||
"composer/semver": "3.2.4",
|
||||
"cssjanus/cssjanus": "1.3.0",
|
||||
"ext-ctype": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-intl": "*",
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"guzzlehttp/guzzle": "6.5.5",
|
||||
"ext-xmlreader": "*",
|
||||
"guzzlehttp/guzzle": "7.2.0",
|
||||
"liuggio/statsd-php-client": "1.0.18",
|
||||
"oojs/oojs-ui": "0.39.3",
|
||||
"oojs/oojs-ui": "0.41.3",
|
||||
"pear/mail": "1.4.1",
|
||||
"pear/mail_mime": "1.10.8",
|
||||
"pear/net_smtp": "1.9.1",
|
||||
"pear/mail_mime": "1.10.9",
|
||||
"pear/net_smtp": "1.9.2",
|
||||
"php": ">=7.3.19",
|
||||
"psr/container": "1.0.0",
|
||||
"psr/log": "1.1.3",
|
||||
"ralouphie/getallheaders": "3.0.3",
|
||||
"wikimedia/assert": "0.5.0",
|
||||
"wikimedia/at-ease": "2.0.0",
|
||||
"wikimedia/at-ease": "2.1.0",
|
||||
"wikimedia/base-convert": "2.0.1",
|
||||
"wikimedia/cdb": "1.4.1",
|
||||
"wikimedia/cldr-plural-rule-parser": "1.0.0",
|
||||
"wikimedia/common-passwords": "0.2.0",
|
||||
"wikimedia/cldr-plural-rule-parser": "2.0.0",
|
||||
"wikimedia/common-passwords": "0.3.0",
|
||||
"wikimedia/composer-merge-plugin": "2.0.1",
|
||||
"wikimedia/html-formatter": "1.0.2",
|
||||
"wikimedia/ip-set": "2.1.0",
|
||||
"wikimedia/ip-utils": "1.0.0",
|
||||
"wikimedia/html-formatter": "3.0.1",
|
||||
"wikimedia/ip-set": "3.0.0",
|
||||
"wikimedia/ip-utils": "3.0.2",
|
||||
"wikimedia/less.php": "3.1.0",
|
||||
"wikimedia/object-factory": "2.1.0",
|
||||
"wikimedia/parsoid": "0.12.2",
|
||||
"wikimedia/php-session-serializer": "1.0.7",
|
||||
"wikimedia/minify": "2.2.3",
|
||||
"wikimedia/object-factory": "3.0.0",
|
||||
"wikimedia/parsoid": "0.13.0",
|
||||
"wikimedia/php-session-serializer": "2.0.0",
|
||||
"wikimedia/purtle": "1.0.7",
|
||||
"wikimedia/relpath": "2.1.1",
|
||||
"wikimedia/remex-html": "2.2.0",
|
||||
"wikimedia/remex-html": "2.2.2",
|
||||
"wikimedia/request-timeout": "1.1.0",
|
||||
"wikimedia/running-stat": "1.2.1",
|
||||
"wikimedia/scoped-callback": "3.0.0",
|
||||
"wikimedia/services": "2.0.1",
|
||||
"wikimedia/utfnormal": "2.0.0",
|
||||
"wikimedia/shellbox": "1.0.4",
|
||||
"wikimedia/utfnormal": "3.0.2",
|
||||
"wikimedia/timestamp": "3.0.0",
|
||||
"wikimedia/wait-condition-loop": "1.0.1",
|
||||
"wikimedia/wait-condition-loop": "2.0.1",
|
||||
"wikimedia/wrappedstring": "3.2.0",
|
||||
"wikimedia/xmp-reader": "0.7.0",
|
||||
"wikimedia/xmp-reader": "0.8.1",
|
||||
"zordius/lightncandy": "1.2.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/spdx-licenses": "1.5.3",
|
||||
"composer/spdx-licenses": "1.5.4",
|
||||
"doctrine/dbal": "3.0.0",
|
||||
"doctrine/sql-formatter": "1.1.0",
|
||||
"doctrine/sql-formatter": "1.1.1",
|
||||
"giorgiosironi/eris": "^0.10.0",
|
||||
"hamcrest/hamcrest-php": "^2.0",
|
||||
"johnkary/phpunit-speedtrap": "^3.1",
|
||||
"justinrainbow/json-schema": "~5.2",
|
||||
"mediawiki/mediawiki-codesniffer": "34.0.0",
|
||||
"mediawiki/mediawiki-codesniffer": "35.0.0",
|
||||
"mediawiki/mediawiki-phan-config": "0.10.6",
|
||||
"monolog/monolog": "~2.2.0",
|
||||
"nikic/php-parser": "4.4.0",
|
||||
"nikic/php-parser": "4.10.2",
|
||||
"nmred/kafka-php": "0.1.5",
|
||||
"php-parallel-lint/php-console-highlighter": "0.5",
|
||||
"php-parallel-lint/php-parallel-lint": "1.2.0",
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"pimple/pimple": "3.3.1",
|
||||
"psy/psysh": "0.10.4",
|
||||
"psy/psysh": "0.10.5",
|
||||
"seld/jsonlint": "1.8.3",
|
||||
"symfony/yaml": "~3.4|~4.3|~5.0.5",
|
||||
"wikimedia/avro": "1.9.0",
|
||||
"symfony/yaml": "~3.4|~5.1",
|
||||
"wikimedia/testing-access-wrapper": "~2.0",
|
||||
"wmde/hamcrest-html-matchers": "^0.1.0"
|
||||
},
|
||||
|
@ -98,12 +103,10 @@
|
|||
"suggest": {
|
||||
"ext-apcu": "Local data cache for greatly improved performance",
|
||||
"ext-curl": "Improved http communication abilities",
|
||||
"ext-intl": "ICU integration",
|
||||
"ext-openssl": "Cryptographical functions",
|
||||
"ext-wikidiff2": "Diff accelerator",
|
||||
"monolog/monolog": "Flexible debug logging system",
|
||||
"nmred/kafka-php": "Send debug log events to kafka",
|
||||
"wikimedia/avro": "Binary serialization format used with kafka"
|
||||
"nmred/kafka-php": "Send debug log events to kafka"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
|
@ -119,6 +122,8 @@
|
|||
]
|
||||
},
|
||||
"scripts": {
|
||||
"mw-install:sqlite": "php maintenance/install.php --server=http://localhost:4000 --dbtype sqlite --dbpath cache/ --scriptpath '' --pass adminpassword MediaWiki Admin",
|
||||
"serve": "php -S localhost:4000",
|
||||
"lint": "parallel-lint --exclude vendor",
|
||||
"phan": "phan -d . --long-progress-bar",
|
||||
"phpcs": "phpcs -p -s",
|
||||
|
|
|
@ -221,7 +221,7 @@ Deprecating a hook in this way activates a migration system called
|
|||
"Hooks": {
|
||||
"Mash": {
|
||||
"handler": "main",
|
||||
"deprecated": "true"
|
||||
"deprecated": true
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -84,6 +84,34 @@ Use of locking reads (e.g. the `FOR UPDATE` clause) is not advised. They are poo
|
|||
|
||||
Instead of locking reads, combine your existence checks into your write queries, by using an appropriate condition in the `WHERE` clause of an `UPDATE`, or by using unique indexes in combination with `INSERT IGNORE`. Then use the affected row count to see if the query succeeded.
|
||||
|
||||
## Query groups
|
||||
|
||||
MediaWiki supports database query groups, a way to indicate a preferred group of database hosts to use for a given query. Query groups are only supported for connections to child (non-master) databases, making them only viable for read operations. It should be noted that using query groups does not _guarantee_ a given group of hosts will be used, but rather that the query prefers such group. Making use of query groups can be benficial in many cases.
|
||||
|
||||
One benefit is a reduction of cache misses. Directing reads for a category of queries (e.g. all logging queries) to a given host can result in more deterministic and faster performing queries.
|
||||
|
||||
Another benefit is that it allows high-traffic wikis to configure some of their database hosts to handle some types of queries more optimally than others. For example, optimizing with different table indices for faster performance.
|
||||
|
||||
Query groups are especially beneficial for queries expected to have a long execution time. Such queries can exhaust a database of its resources (e.g. cache space and I/O time), so targeting a specific group of hosts prevents more urgent queries from suffering a performance decrease.
|
||||
|
||||
Additionally, expensive queries can delay database maintenance operations which may increase latency for other queries.
|
||||
For example, while a database read is executing, if other queries have performed updates to any tables those tables must retain all stale versions of its rows until the read is complete. Now, other potentially unrelated queries must now spend additional time scanning over obsolete rows that are waiting to be purged. Directing these long running queries to dedicated hosts helps prevent other queries in suffering a performance hit.
|
||||
|
||||
MediaWiki currently supports the following query groups:
|
||||
|
||||
* api
|
||||
* Only use for queries specific to api.php requests; the method ApiBase::getDB() is provided for this purpose.
|
||||
* dump
|
||||
* Only use in MediaWiki dump maintenance scripts. In such scripts, all queries, even fast ones, should use this group.
|
||||
* vslow
|
||||
* Only use for queries that are expected to have a long execution time. For example, when calculating per-wiki site statistics.
|
||||
|
||||
Use the below example syntax to connect to a database when your query falls into one of the above 3 categories:
|
||||
```php
|
||||
$lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
|
||||
$lb->getConnectionRef( DB_REPLICA, 'vslow' );
|
||||
```
|
||||
|
||||
## Supported DBMSs
|
||||
|
||||
MediaWiki is written primarily for use with MySQL. Queries are optimized for it and its schema is considered the canonical version. However, MediaWiki does support the following other DBMSs to varying degrees:
|
||||
|
|
|
@ -74,16 +74,6 @@ referenced directly by the code (unlike sequence names). Most of
|
|||
the indexes in the file as of this writing are there due to production
|
||||
testing of expensive queries on a busy wiki.
|
||||
|
||||
== Keeping in sync with tables.sql ==
|
||||
|
||||
The script maintenance/postgres/compare_schemas.pl should be
|
||||
periodically run. It will parse both "tables.sql" files and
|
||||
produce any differences found. Such differences should be fixed
|
||||
or exceptions specifically carved out by editing the script
|
||||
itself. This script has also been very useful in finding problems
|
||||
in maintenance/tables.sql itself, as it is very strict in the
|
||||
format it expects things to be in. :)
|
||||
|
||||
== MySQL differences ==
|
||||
|
||||
The major differences between MySQL and Postgres are represented as
|
||||
|
|
|
@ -307,6 +307,10 @@
|
|||
"items": {
|
||||
"type": ["string", "object"]
|
||||
}
|
||||
},
|
||||
"es6": {
|
||||
"type": "boolean",
|
||||
"description": "Whether this module requires an ES6-capable browser. If set to true, loading this module in a non-ES6 browser will cause an error. Using ES6 syntax in modules is not yet supported, but will be in the near future. Default is false."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -420,6 +424,10 @@
|
|||
"type": "object",
|
||||
"description": "ResourceLoader sources to register"
|
||||
},
|
||||
"SkinLessImportPaths": {
|
||||
"type": "object",
|
||||
"description": "Path to the skin-specific LESS import directory, keyed by skin name. Can be used to define skin-specific LESS variables."
|
||||
},
|
||||
"QUnitTestModule": {
|
||||
"type": "object",
|
||||
"description": "A ResourceLoaderFileModule definition registered only when wgEnableJavaScriptTest is true.",
|
||||
|
@ -843,6 +851,10 @@
|
|||
"services": {
|
||||
"type": "array",
|
||||
"description": "If supplied and non-empty, the named services are requested from the service container and prepended before 'args'."
|
||||
},
|
||||
"optional_services": {
|
||||
"type": "array",
|
||||
"description": "If supplied and non-empty, the named services are requested from the service container and appended after 'services' if the services are available; null is passed if the services are not available."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -317,6 +317,10 @@
|
|||
"items": {
|
||||
"type": ["string", "object"]
|
||||
}
|
||||
},
|
||||
"es6": {
|
||||
"type": "boolean",
|
||||
"description": "Whether this module requires an ES6-capable browser. If set to true, loading this module in a non-ES6 browser will cause an error. Using ES6 syntax in modules is not yet supported, but will be in the near future. Default is false."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -440,6 +444,10 @@
|
|||
"type": "object",
|
||||
"description": "ResourceLoader sources to register"
|
||||
},
|
||||
"SkinLessImportPaths": {
|
||||
"type": "object",
|
||||
"description": "Path to the skin-specific LESS import directory, keyed by skin name. Can be used to define skin-specific LESS variables."
|
||||
},
|
||||
"QUnitTestModule": {
|
||||
"type": "object",
|
||||
"description": "A ResourceLoaderFileModule definition registered only when wgEnableJavaScriptTest is true.",
|
||||
|
@ -871,6 +879,10 @@
|
|||
"services": {
|
||||
"type": "array",
|
||||
"description": "If supplied and non-empty, the named services are requested from the service container and prepended before 'args'."
|
||||
},
|
||||
"optional_services": {
|
||||
"type": "array",
|
||||
"description": "If supplied and non-empty, the named services are requested from the service container and appended after 'services' if the services are available; null is passed if the services are not available."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1040,6 +1052,7 @@
|
|||
"patternProperties": {
|
||||
"^[a-zA-Z_\u007f-\u00ff][a-zA-Z0-9_\u007f-\u00ff]*$": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"value": {
|
||||
"required": true
|
||||
|
@ -1065,7 +1078,7 @@
|
|||
"type": ["string", "array"],
|
||||
"description": "A description of the config setting, mostly for documentation/developers"
|
||||
},
|
||||
"decriptionmsg": {
|
||||
"descriptionmsg": {
|
||||
"type": "string",
|
||||
"description": "The message key which should be used as a description for this configuration option in a user interface. If empty, description will be used."
|
||||
},
|
||||
|
|
|
@ -52,15 +52,9 @@ $wgUser
|
|||
$wgLang
|
||||
Language object selected by user preferences.
|
||||
|
||||
$wgContLang
|
||||
Language object associated with the wiki being viewed.
|
||||
|
||||
$wgParser
|
||||
Parser object. Parser extensions used to register their hooks here;
|
||||
modern code should use the ParserFirstCallInit hook.
|
||||
|
||||
$wgRequest
|
||||
WebRequest object, to get request data
|
||||
|
||||
$wgMemc
|
||||
Object caches
|
||||
|
|
|
@ -54,4 +54,4 @@ require_once RUN_MAINTENANCE_IF_MAIN;
|
|||
That's it. In the execute() method, you have access to all of the normal
|
||||
MediaWiki functions, so you can get a DB connection, use the cache, etc.
|
||||
For full docs on the Maintenance class, see the auto-generated docs at
|
||||
https://doc.wikimedia.org/mediawiki-core/master/php/html/classMaintenance.html
|
||||
https://doc.wikimedia.org/mediawiki-core/master/php/classMaintenance.html
|
|
@ -83,7 +83,7 @@ $specialPageAliases['bjn'] = [
|
|||
|
||||
/** Bengali (বাংলা) */
|
||||
$specialPageAliases['bn'] = [
|
||||
'CategoryTree' => [ 'বিষয়শ্রেণী_বৃক্ষ' ],
|
||||
'CategoryTree' => [ 'বিষয়শ্রেণী_বৃক্ষ' ],
|
||||
];
|
||||
|
||||
/** Breton (brezhoneg) */
|
||||
|
|
|
@ -33,7 +33,7 @@ $magicWords['arz'] = [
|
|||
|
||||
/** Bengali (বাংলা) */
|
||||
$magicWords['bn'] = [
|
||||
'categorytree' => [ 0, 'বিষয়শ্রেণী_বৃক্ষ', 'বিষয়শ্রেণীবৃক্ষ', 'categorytree' ],
|
||||
'categorytree' => [ 0, 'বিষয়শ্রেণী_বৃক্ষ', 'বিষয়শ্রেণীবৃক্ষ', 'categorytree' ],
|
||||
];
|
||||
|
||||
/** Breton (brezhoneg) */
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"require-dev": {
|
||||
"mediawiki/mediawiki-codesniffer": "31.0.0",
|
||||
"mediawiki/mediawiki-phan-config": "0.10.2",
|
||||
"mediawiki/minus-x": "1.1.0",
|
||||
"mediawiki/mediawiki-codesniffer": "35.0.0",
|
||||
"mediawiki/mediawiki-phan-config": "0.10.6",
|
||||
"mediawiki/minus-x": "1.1.1",
|
||||
"php-parallel-lint/php-console-highlighter": "0.5.0",
|
||||
"php-parallel-lint/php-parallel-lint": "1.2.0"
|
||||
},
|
||||
|
|
|
@ -15,7 +15,12 @@
|
|||
"CategoryTreeHooks::initialize"
|
||||
],
|
||||
"SpecialPages": {
|
||||
"CategoryTree": "CategoryTreePage"
|
||||
"CategoryTree": {
|
||||
"class": "CategoryTreePage",
|
||||
"services": [
|
||||
"SearchEngineFactory"
|
||||
]
|
||||
}
|
||||
},
|
||||
"APIModules": {
|
||||
"categorytree": "ApiCategoryTree"
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Батыр Комдошев",
|
||||
"Толуш"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "јаанадар",
|
||||
"categorytree-member-counts": "Ичинде {{PLURAL:$1|1 алды категория}}, {{PLURAL:$2|1 бӱк}}, ле {{PLURAL:$3|1 файл}}",
|
||||
"categorytree-num-categories": "$1 К",
|
||||
"categorytree-num-pages": "$1 Б",
|
||||
"categorytree-num-files": "$1 Ф"
|
||||
}
|
|
@ -1,13 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Akamycoco",
|
||||
"Vickylin77s"
|
||||
]
|
||||
},
|
||||
"categorytree-portlet": " pisakilac",
|
||||
"categorytree-mode-all": "O po:long no felih",
|
||||
"categorytree-expand": " misatapang",
|
||||
"categorytree-member-counts": "Maparo I laloma’ no $1 ko …I kalaenoay a silsil 、$2 …ay ko felih ato $3 ko tang^an",
|
||||
"categorytree-member-counts": "Maparo I laloma’ no {{PLURAL:$1|1 ko i kalaenoay a silsil}}, {{PLURAL:$2|ay ko felih ato}}, and {{PLURAL:$3|ko tang^an}}",
|
||||
"categorytree-num-categories": "$1 kasakilac",
|
||||
"categorytree-num-pages": "$1 o felih",
|
||||
"categorytree-num-files": "$1 tang^an"
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Gott wisst"
|
||||
"Gott wisst",
|
||||
"Heahwrita"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "gebrǣded",
|
||||
"categorytree-expand": "gebræded",
|
||||
"categorytree-num-categories": "$1 F",
|
||||
"categorytree-num-pages": "$1 T",
|
||||
"categorytree-num-files": "$1 Y"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"NikosLikomitros",
|
||||
"Nikosgranturismogt"
|
||||
]
|
||||
},
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Daud I.F. Argana",
|
||||
"Diki Ananta",
|
||||
"Rachmat04",
|
||||
"Sumbukompor"
|
||||
]
|
||||
},
|
||||
"apihelp-categorytree-description": "Modul internal untuk ekstensi CategoryTree.",
|
||||
"apihelp-categorytree-summary": "Modul internal untuk ekstensi CategoryTree.",
|
||||
"apihelp-categorytree-param-category": "Judul di ruangnama kategori, awalan akan diabaikan jika ada.",
|
||||
"apihelp-categorytree-param-options": "Opsi untuk pembangun CategoryTree sebagai sebuah objek JSON. Opsi <var>kedalaman</var> baku menjadi <kbd>1</kbd>."
|
||||
"apihelp-categorytree-param-options": "Opsi untuk pembangun CategoryTree sebagai sebuah objek JSON. Opsi <var>kedalaman</var> baku menjadi <kbd>1</kbd>.",
|
||||
"apierror-categorytree-invalidjson": "Pilihannya haruslah sebuah objek JSON yang valid."
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Eduardo Addad de Oliveira"
|
||||
"Eduardo Addad de Oliveira",
|
||||
"Eduardoaddad"
|
||||
]
|
||||
},
|
||||
"apihelp-categorytree-description": "Módulo interno para a extensão \"Árvore de categorias\" (<i>CategoryTree</i>).",
|
||||
|
|
|
@ -2,12 +2,13 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Jopparn",
|
||||
"Sabelöga",
|
||||
"WikiPhoenix"
|
||||
]
|
||||
},
|
||||
"apihelp-categorytree-description": "Intern modul för tillägget CategoryTree.",
|
||||
"apihelp-categorytree-summary": "Intern modul för tillägget CategoryTree.",
|
||||
"apihelp-categorytree-param-category": "Titel i kategorinamnrymden, prefix kommer att ignoreras om de anges.",
|
||||
"apihelp-categorytree-param-options": "Alternativ för CategoryTree-konstruktören som ett JSON-objekt. Den <var>fördjupade</var> alternativa standardvärdet är <kbd>1</kbd>.",
|
||||
"apihelp-categorytree-param-options": "Alternativ för CategoryTree-konstruktören som ett JSON-objekt. <var>depth</var> har standardvärdet <kbd>1</kbd>.",
|
||||
"apierror-categorytree-invalidjson": "Alternativ måste vara ett giltigt JSON-objekt."
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"SADIQUI"
|
||||
]
|
||||
},
|
||||
"categorytree-collapse": "طوي",
|
||||
"categorytree-expand": "وسع",
|
||||
"categorytree-member-counts": "كيحتاوي على {{PLURAL:$1|تصنيف فرعي واحد|$1 تصنيفات فرعية}}، {{PLURAL:$2|صفحة وحدة|$2 صفحات}}، و{{PLURAL:$3|ملف واحد|$3 ملفات}}",
|
||||
"categorytree-num-categories": "$1 ت",
|
||||
|
|
|
@ -2,12 +2,37 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Carma citrawati",
|
||||
"Chinamoonroll",
|
||||
"Joseagush",
|
||||
"NoiX180"
|
||||
]
|
||||
},
|
||||
"categorytree": "Taru kategori",
|
||||
"categorytree-portlet": "Kategori",
|
||||
"categorytree-legend": "Sinahang taru kategori",
|
||||
"categorytree-desc": "Navigasi [[Special:CategoryTree|struktur kategori]] sacara dinamis",
|
||||
"categorytree-header": "Dagingang aran kategori antuk nyingakin kontén ipun ring wentuk taru struktur.\n(Perlu JavaScript.)",
|
||||
"categorytree-category": "Kategori",
|
||||
"categorytree-go": "Sinahang taru",
|
||||
"categorytree-parents": "Rerama",
|
||||
"categorytree-mode-label": "Mode:",
|
||||
"categorytree-mode-categories": "wantah kategori",
|
||||
"categorytree-mode-pages": "kaca tiosan berkas",
|
||||
"categorytree-mode-all": "makasami kaca",
|
||||
"categorytree-collapse": "tutup",
|
||||
"categorytree-expand": "bétbét",
|
||||
"categorytree-member-counts": "Madaging {{PLURAL:$1|$1 subkategori}}, {{PLURAL:$2|$2 kaca}}, miwah {{PLURAL:$3|$3 berkas}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 K",
|
||||
"categorytree-num-files": "$1 B"
|
||||
"categorytree-num-files": "$1 B",
|
||||
"categorytree-num-empty": "puyung",
|
||||
"categorytree-load": "muat",
|
||||
"categorytree-loading": "Ngamuat…",
|
||||
"categorytree-nothing-found": "nénten nemu napi",
|
||||
"categorytree-no-subcategories": "tanpa subkategori",
|
||||
"categorytree-no-parent-categories": "tanpa kategori rerama",
|
||||
"categorytree-no-pages": "tanpa kaca utawi subkategori",
|
||||
"categorytree-not-found": "Kategori <i>$1</i> nénten katemu",
|
||||
"categorytree-error": "Pikobet ngamuat data.",
|
||||
"categorytree-retry": "Durus jantos dumun miwah coba malih"
|
||||
}
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Herryz",
|
||||
"Salomo Christian Hutajulu",
|
||||
"Stephensuleeman"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "parbalohan",
|
||||
"categorytree-member-counts": "marisi {{PLURAL:$1|$1 sub-horong}}, {{PLURAL:$2|$2 alaman}}, dohot {{PLURAL:$3|$3 surat partadingan}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F",
|
||||
|
|
|
@ -7,5 +7,6 @@
|
|||
"categorytree-expand": "Trènou",
|
||||
"categorytree-member-counts": "Ô lé{{PLURAL:$1|1 akpassoua sin mma|$1 akpassoua sin mma moun}}, {{PLURAL:$2|1 floua boué|$2 floua boué moun}}, ôni'n {{PLURAL:$3|1 floua|$3 floua moun}}",
|
||||
"categorytree-num-categories": "$1 A",
|
||||
"categorytree-num-pages": "$1 F"
|
||||
"categorytree-num-pages": "$1 F",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Muskwatch"
|
||||
]
|
||||
},
|
||||
"categorytree-member-counts": "Alhi {{PLURAL:$1|1 ti subcategory|$1 wa subcategory}}, {{PLURAL:$2|1 ti umat|$2 wa umat}}, and {{PLURAL:$3|1 ti file|$3 wa file}}",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Usingha"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "সালকর",
|
||||
"categorytree-num-categories": "$1হান ঠ",
|
||||
"categorytree-num-pages": "$1হান প",
|
||||
"categorytree-num-files": "$1হান ফ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Brxeditor"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "फुवार"
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"KWiki",
|
||||
"Palapa",
|
||||
"Srdjan m",
|
||||
"Srđan",
|
||||
"editors of bs.wikipedia"
|
||||
]
|
||||
},
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
"Aleator",
|
||||
"Arnaugir",
|
||||
"Fitoschido",
|
||||
"Mguix",
|
||||
"Paucabot",
|
||||
"Qllach",
|
||||
"SMP",
|
||||
|
@ -15,7 +16,7 @@
|
|||
"categorytree-portlet": "Categories",
|
||||
"categorytree-legend": "Mostra l'arbre de categories",
|
||||
"categorytree-desc": "Navegació dinàmica per l'[[Special:CategoryTree|estructura de categories]]",
|
||||
"categorytree-header": "Entreu el nom d'una categoria per a veure l'arbre del seu contingut. Aquesta pàgina utilitza una funcionalitat avançada del JavaScript coneguda com a AJAX, i no funciona en navegadors antics o que tinguin el JavaScript desactivat.",
|
||||
"categorytree-header": "Introduïu un nom de la categoria per veure el seu contingut com una estructura d'arbre. (Requereix JavaScript.)",
|
||||
"categorytree-category": "Categoria:",
|
||||
"categorytree-go": "Mostra l'arbre",
|
||||
"categorytree-parents": "Categories superiors",
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Aandeginini"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "Ozhitoon mangadeyaa",
|
||||
"categorytree-member-counts": "Biindig {{PLURAL:$1|1 subcategory|$1 anaamayi'ii-niibiwa-mazina'igan}}, {{PLURAL:$2|1 page|$2 mazina'igan}}, gaye {{PLURAL:$3|1 file|$3 niibiwa-mazina'igan}}",
|
||||
"categorytree-num-categories": "$1 G",
|
||||
"categorytree-num-pages": "$1 M",
|
||||
"categorytree-num-files": "$1 NM"
|
||||
}
|
|
@ -4,7 +4,8 @@
|
|||
"Asoxor",
|
||||
"Calak",
|
||||
"Muhammed taha",
|
||||
"Épine"
|
||||
"Épine",
|
||||
"ئارام بکر"
|
||||
]
|
||||
},
|
||||
"categorytree": "درەختی پۆل",
|
||||
|
@ -33,6 +34,6 @@
|
|||
"categorytree-no-parent-categories": "پۆلی باوان نییە",
|
||||
"categorytree-no-pages": "پەڕە و ژێر پۆل نییە",
|
||||
"categorytree-not-found": "پۆلی <i>$1</i> نەدۆزرایەوە",
|
||||
"categorytree-error": "کێشە لە بارکردنی داتا.",
|
||||
"categorytree-error": "کێشە لە بارکردنی دراوە.",
|
||||
"categorytree-retry": "تکایە دەمێک ڕاوەستە و دیسان تاقیبکەوە."
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Amire80",
|
||||
"Dnshitobu",
|
||||
"Shahadusadik"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "yelgima",
|
||||
"categorytree-member-counts": "Di malila {{PLURAL:$1|1 subcategory|$1 subcategories}}, {{PLURAL:$2|1 page|$2 pages}}, ni {{PLURAL:$3|1 file|$3 files}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
"authors": [
|
||||
"1917 Ekim Devrimi",
|
||||
"Erdemaslancan",
|
||||
"Ghybu",
|
||||
"Gırd",
|
||||
"Kumkumuk",
|
||||
"Marmase",
|
||||
|
@ -11,12 +12,12 @@
|
|||
"Xoser"
|
||||
]
|
||||
},
|
||||
"categorytree": "Dara Kategoriya",
|
||||
"categorytree": "Dara kategoriyan",
|
||||
"categorytree-portlet": "Kategoriy",
|
||||
"categorytree-legend": "Dara kategori bımotné",
|
||||
"categorytree-desc": "[[Special:CategoryTree|Babeta kategoriya]] dinamikey sera idare ke",
|
||||
"categorytree-header": "Yew namey kategori bınuse kı zerrekê ey zey vıraştışê dare bıvêne. (Javaskript lazımo)",
|
||||
"categorytree-category": "Kategori:",
|
||||
"categorytree-category": "Kategoriye:",
|
||||
"categorytree-go": "Darer bımocne",
|
||||
"categorytree-parents": "Kategoriyê serêni",
|
||||
"categorytree-mode-label": "Modê cı:",
|
||||
|
@ -29,7 +30,7 @@
|
|||
"categorytree-num-categories": "$1 Kategoriy",
|
||||
"categorytree-num-pages": "$1 Peli",
|
||||
"categorytree-num-files": "$1 Dosya",
|
||||
"categorytree-num-empty": "'''Venga'''",
|
||||
"categorytree-num-empty": "venga",
|
||||
"categorytree-load": "Bar ke",
|
||||
"categorytree-loading": "bar beno...",
|
||||
"categorytree-nothing-found": "maalesef netice çınyo",
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"Badseed",
|
||||
"Consta",
|
||||
"Dead3y3",
|
||||
"NikosLikomitros",
|
||||
"Nikosgranturismogt",
|
||||
"Protnet",
|
||||
"SucreRouge",
|
||||
|
|
|
@ -30,10 +30,12 @@
|
|||
"categorytree-mode-all": "toutes les pages",
|
||||
"categorytree-collapse": "replier",
|
||||
"categorytree-expand": "Développer",
|
||||
"categorytree-expand-bullet": "►",
|
||||
"categorytree-empty-bullet": "►",
|
||||
"categorytree-member-counts": "contient $1 sous-catégorie{{PLURAL:$1||s}}, $2 page{{PLURAL:$2||s}} et $3 fichier{{PLURAL:$3||s}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "vide",
|
||||
"categorytree-load": "charger",
|
||||
"categorytree-loading": "chargement...",
|
||||
|
|
|
@ -11,12 +11,15 @@
|
|||
},
|
||||
"categorytree": "Kategorybeam",
|
||||
"categorytree-portlet": "Kategoryen",
|
||||
"categorytree-legend": "Lit kategorystambeam sjen",
|
||||
"categorytree-header": "Folje in kategorynamme yn om de ynhâld yn in beamstruktuer te sjen. Tink dêrom dat dit spesjale JavaScript funksjes brûkt bekend as AJAX. At jo in tige âlde blêdzjer hawwe of jo hawwe JavaScript net oan stean, dan wurket dit net.",
|
||||
"categorytree-legend": "Kategorybeam werjaan",
|
||||
"categorytree-desc": "Dynamysk troch de [[Special:CategoryTree|kategorystruktuer]] navigearje",
|
||||
"categorytree-header": "Folje in kategorynamme yn om 'e ynhâld yn in beamstruktuer te sjen. (JavaScript fereaske.)",
|
||||
"categorytree-category": "Kategory:",
|
||||
"categorytree-go": "Los",
|
||||
"categorytree-go": "Beam werjaan",
|
||||
"categorytree-parents": "Boppelizzend",
|
||||
"categorytree-mode-label": "Modus:",
|
||||
"categorytree-mode-categories": "allinne kategoryen",
|
||||
"categorytree-mode-pages": "alle siden útsein ôfbylden",
|
||||
"categorytree-mode-pages": "siden útsein bestannen",
|
||||
"categorytree-mode-all": "alle siden",
|
||||
"categorytree-collapse": "ynklappe",
|
||||
"categorytree-expand": "útklappe",
|
||||
|
@ -25,10 +28,13 @@
|
|||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 B",
|
||||
"categorytree-num-empty": "leech",
|
||||
"categorytree-load": "ynlade",
|
||||
"categorytree-loading": "ynlade...",
|
||||
"categorytree-load": "lade",
|
||||
"categorytree-loading": "laden ...",
|
||||
"categorytree-nothing-found": "neat fûn",
|
||||
"categorytree-no-subcategories": "gjin ûnderlizzende kategoryen",
|
||||
"categorytree-no-pages": "gjin siden of ûnderlizzende siden",
|
||||
"categorytree-not-found": "Kategory <i>$1</i> net fûn"
|
||||
"categorytree-no-subcategories": "gjin ûnderkategoryen",
|
||||
"categorytree-no-parent-categories": "gjin boppekategoryen",
|
||||
"categorytree-no-pages": "gjin siden of ûnderkategoryen",
|
||||
"categorytree-not-found": "Kategory <i>$1</i> net fûn",
|
||||
"categorytree-error": "Probleem mei data laden.",
|
||||
"categorytree-retry": "Efkes wachtsje en besykje it dan nochris."
|
||||
}
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"RFScott"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "нихэлиури",
|
||||
"categorytree-member-counts": "Би $1 {{PLURAL:$1|подкатегорий}}, $2 {{PLURAL:$2|страница}} и $3 {{PLURAL:$3|файл}}",
|
||||
"categorytree-num-categories": "$1 С",
|
||||
"categorytree-num-pages": "$1 С",
|
||||
"categorytree-num-files": "$1 Ф"
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Leonfd1992"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "eirulaa",
|
||||
"categorytree-member-counts": "Eesü sulu'u {{PLURAL:$1|1 akotchiraayanüliee|$1 subakotchiraayanüliee}}, {{PLURAL:$2|1 ee'iyalaaya|$2 ee'iyalaaya}}, otta {{PLURAL:$3|1 anaajaalaa|$3 anaajaalaa}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -22,7 +22,7 @@
|
|||
"categorytree-expand": "הרחבה",
|
||||
"categorytree-expand-bullet": "◄",
|
||||
"categorytree-empty-bullet": "◄",
|
||||
"categorytree-member-counts": "מכילה {{PLURAL:$1|קטגוריית משנה אחת|$1 קטגוריות משנה}}, {{PLURAL:$2|דף אחד|$2 דפים}}, ו{{PLURAL:$3|קובץ אחד|־$3 קבצים}}",
|
||||
"categorytree-member-counts": "מכילה {{PLURAL:$1|קטגוריית־משנה אחת|$1 קטגוריות־משנה}}, {{PLURAL:$2|דף אחד|$2 דפים}}, ו{{PLURAL:$3|קובץ אחד|־$3 קבצים}}",
|
||||
"categorytree-num-categories": "{{PLURAL:$1|קט' אחת|$1 קט'}}",
|
||||
"categorytree-num-pages": "{{PLURAL:$1|דף אחד|$1 דפים}}",
|
||||
"categorytree-num-files": "{{PLURAL:$1|קובץ אחד|$1 קב'}}",
|
||||
|
@ -32,7 +32,7 @@
|
|||
"categorytree-nothing-found": "לא נמצא דבר",
|
||||
"categorytree-no-subcategories": "אין קטגוריות־משנה",
|
||||
"categorytree-no-parent-categories": "אין קטגוריות הורה",
|
||||
"categorytree-no-pages": "אין דפים או קטגוריות משנה",
|
||||
"categorytree-no-pages": "אין דפים או קטגוריות־משנה",
|
||||
"categorytree-not-found": "הקטגוריה <i>$1</i> לא נמצאה",
|
||||
"categorytree-error": "בעיה בטעינת הנתונים.",
|
||||
"categorytree-retry": "נא להמתין מעט ולנסות שוב."
|
||||
|
|
|
@ -6,23 +6,17 @@
|
|||
"Thakurji"
|
||||
]
|
||||
},
|
||||
"categorytree": "Category tree",
|
||||
"categorytree-portlet": "Vibhag",
|
||||
"categorytree-legend": "Category tree ke dekhao",
|
||||
"categorytree-desc": "Dynamically navigate the [[Special:CategoryTree|category structure]]",
|
||||
"categorytree-category": "Vibhag:",
|
||||
"categorytree-go": "Perr dekhao",
|
||||
"categorytree-parents": "\nParents",
|
||||
"categorytree-mode-label": "Mode:",
|
||||
"categorytree-mode-categories": "Khaali category",
|
||||
"categorytree-mode-pages": "file ke chhorr ke panna",
|
||||
"categorytree-mode-all": "Sab panna",
|
||||
"categorytree-collapse": "Chhota karo",
|
||||
"categorytree-expand": "Barraa karo",
|
||||
"categorytree-member-counts": "Isme {{PLURAL:$1|1 subcategory|$1 subcategories}}, {{PLURAL:$2|1 panna|$2 panna}}, and {{PLURAL:$3|1 file|$3 files}} hae.",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "khaali",
|
||||
"categorytree-load": "load karo",
|
||||
"categorytree-loading": "load hoe hae ...",
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
"Ex13",
|
||||
"MaGa",
|
||||
"SpeedyGonsales",
|
||||
"Srdjan m"
|
||||
"Srdjan m",
|
||||
"Srđan"
|
||||
]
|
||||
},
|
||||
"categorytree": "Stablasti prikaz hijerarhije kategorija",
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Iohanen",
|
||||
"Midnight Gambler"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "ausklappe",
|
||||
"categorytree-member-counts": "enthall {{PLURAL:$1|1 Unnerkategorie|$1 Unnerkategorie}}, {{PLURAL:$2|1 Seit|$2 Seite}} un {{PLURAL:$3|1 Datei|$3 Dateie}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 D"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"ArmenBakkalian",
|
||||
"Azniv Stepanian",
|
||||
"Kareyac"
|
||||
]
|
||||
},
|
||||
|
@ -11,5 +12,7 @@
|
|||
"categorytree-member-counts": "Կը պարունակէ {{PLURAL:$1|1 ենթախմբաւորում|$1 ենթախմբաւորում}}, {{PLURAL:$2|1 էջ|$2 էջ}} եւ {{PLURAL:$3|1 նիշք|$3 նիշք}}",
|
||||
"categorytree-num-categories": "$1 խմբ.",
|
||||
"categorytree-num-pages": "$1 Էջ",
|
||||
"categorytree-num-files": "$1 Ն"
|
||||
"categorytree-num-files": "$1 Ն",
|
||||
"categorytree-no-subcategories": "ենթաստորոգութիւններ չկան",
|
||||
"categorytree-no-pages": "ենթաստորոգութիւններ եւ էջեր չկան"
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Bennylin",
|
||||
"Daud I.F. Argana",
|
||||
"Farras",
|
||||
"IvanLanin",
|
||||
"Iwan Novirion",
|
||||
|
@ -14,7 +15,7 @@
|
|||
"categorytree-portlet": "Kategori",
|
||||
"categorytree-legend": "Tampilkan pohon kategori",
|
||||
"categorytree-desc": "Gadget berbasis AJAX untuk menampilkan [[Special:CategoryTree|struktur kategori]] suatu wiki",
|
||||
"categorytree-header": "Masukkan suatu nama kategori untuk melihat isinya dalam bentuk pohon.\nHarap diperhatikan bahwa fitur ini memerlukan dukungan JavaScript tingkat lanjut yang dikenal sebagai AJAX.\nJika Anda menggunakan penjelajah web lama, atau mematikan fungsi JavaScript Anda, fitur ini tidak dapat dijalankan.",
|
||||
"categorytree-header": "Masukkan nama kategori untuk melihat kontennya dalam bentuk struktur pohon.\n(Membutuhkan JavaScript.)",
|
||||
"categorytree-category": "Kategori:",
|
||||
"categorytree-go": "Tampilkan",
|
||||
"categorytree-parents": "Atasan",
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Dentonius",
|
||||
"Katxis"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "expan",
|
||||
"categorytree-member-counts": "Kantien {{PLURAL:$1|1 subcategory|$1 subcategories}}, {{PLURAL:$2|1 page|$2 pages}}, ah {{PLURAL:$3|1 file|$3 files}}",
|
||||
"categorytree-expand": "draw dung",
|
||||
"categorytree-member-counts": "{{PLURAL:$1|$1 subcategory}}, {{PLURAL:$2|page}}, an' {{PLURAL:$3|file}} inna da category yah.",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F"
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Amire80",
|
||||
"Kambai Akau"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "ngaat",
|
||||
"categorytree-member-counts": "Ji̱ byia̱ {{PLURAL:$1|a̱basa 1|a̱basi̱sa $1}}, {{PLURAL:$2|peji|pejí $2}}, ma̱ng {{PLURAL:$3|fail 1|a̱yaafail $3}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"George Animal",
|
||||
"Ghybu",
|
||||
"Gomada",
|
||||
"Guherto",
|
||||
"Welathêja"
|
||||
]
|
||||
},
|
||||
|
@ -28,5 +29,5 @@
|
|||
"categorytree-nothing-found": "ti tişt nehate dîtin",
|
||||
"categorytree-no-subcategories": "binkategorî tune",
|
||||
"categorytree-no-pages": "ne rûpelek an jî binkategoriyek",
|
||||
"categorytree-not-found": "Kategorîya <i>$1</i> nehate dîtin"
|
||||
"categorytree-not-found": "Kategoriya <i>$1</i> nehate dîtin"
|
||||
}
|
||||
|
|
|
@ -33,6 +33,6 @@
|
|||
"categorytree-no-parent-categories": "Keng Iwwerkategorien",
|
||||
"categorytree-no-pages": "Keng Säiten oder Ënnerkategorien",
|
||||
"categorytree-not-found": "Kategorie ''$1'' net fonnt",
|
||||
"categorytree-error": "Problem beim luede vun den Donneeën.",
|
||||
"categorytree-error": "Problem beim Luede vun den Donnéeën.",
|
||||
"categorytree-retry": "Waart wgl. een Ament a probéiert dann nach eng Kéier."
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"categorytree-portlet": "Категорияр",
|
||||
"categorytree-legend": "Категориядин ттар къалурун",
|
||||
"categorytree-category": "Klватlалар:",
|
||||
"categorytree-go": "Ппарун",
|
||||
"categorytree-go": "ацӀурун",
|
||||
"categorytree-parents": "Вини категорияр",
|
||||
"categorytree-mode-categories": "анжах категорияр",
|
||||
"categorytree-mode-pages": "файлар галачиз ччинар",
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Asenoner"
|
||||
"Asenoner",
|
||||
"Starladin"
|
||||
]
|
||||
},
|
||||
"categorytree": "Lëgn dles categories",
|
||||
"categorytree-expand": "slergia",
|
||||
"categorytree-member-counts": "À dedit {{PLURAL:$1|1 subcategoria|$1 subcategories}}, {{PLURAL:$2|1 plata|$2 plates}}, y {{PLURAL:$3|1 documënt|$3 documënc}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
|
|
|
@ -1,27 +1,36 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Dakrismeno"
|
||||
"Dakrismeno",
|
||||
"Salvemm el lombard"
|
||||
]
|
||||
},
|
||||
"categorytree": "Àlbur di categurij",
|
||||
"categorytree-portlet": "Categurij",
|
||||
"categorytree-legend": "Fàm ved l'àlbur di categurij",
|
||||
"categorytree-category": "Categuria:",
|
||||
"categorytree-go": "Mustra l'àlbur",
|
||||
"categorytree-parents": "Categurij süperiur",
|
||||
"categorytree-mode-categories": "mustra dumà i categurij",
|
||||
"categorytree-mode-pages": "tüt i paginn, fö che i sumejanz",
|
||||
"categorytree-mode-all": "tüt i paginn",
|
||||
"categorytree-collapse": "sara sü",
|
||||
"categorytree": "Arbor di categorie",
|
||||
"categorytree-portlet": "Categorie",
|
||||
"categorytree-legend": "Fam ved l'arbor di categurie",
|
||||
"categorytree-desc": "Naviga in manera dinamica la [[Special:CategoryTree|strutura di categorie]]",
|
||||
"categorytree-header": "Met dent el nom de una categoria per vedè i so contegnud come una strutura a arbor. (a gh'è besogn de JavaScript)",
|
||||
"categorytree-category": "Categoria:",
|
||||
"categorytree-go": "Fa vedè l'arbor",
|
||||
"categorytree-parents": "Categurie superiore",
|
||||
"categorytree-mode-label": "Manera:",
|
||||
"categorytree-mode-categories": "mostra doma i categorie",
|
||||
"categorytree-mode-pages": "tute i pagine, foeura che i imagin",
|
||||
"categorytree-mode-all": "tute i pagine",
|
||||
"categorytree-collapse": "comprimm",
|
||||
"categorytree-expand": "slarga",
|
||||
"categorytree-member-counts": "El gh'hà dent {{PLURAL:$1|1 sotcategoria|$1 sotcategorie}}, {{PLURAL:$2|1 pagina|$2 pagine}}, e {{PLURAL:$3|1 fail|$3 fail}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "voeuja",
|
||||
"categorytree-load": "carega",
|
||||
"categorytree-loading": "adree a caregà...",
|
||||
"categorytree-nothing-found": "nissün resültaa",
|
||||
"categorytree-no-subcategories": "nissüna suta-categuria",
|
||||
"categorytree-no-parent-categories": "nissüna categuria süperiur",
|
||||
"categorytree-no-pages": "mía de paginn o de suta-categurij",
|
||||
"categorytree-not-found": "Categuria <i>$1</i> mía truada",
|
||||
"categorytree-error": "Prublema cun 'l caregament di dati.",
|
||||
"categorytree-retry": "Per piasè, specia un mument e pö pröva ancamò."
|
||||
"categorytree-nothing-found": "nissun risultad",
|
||||
"categorytree-no-subcategories": "nissuna sot-categoria",
|
||||
"categorytree-no-parent-categories": "nissuna categoria superiora",
|
||||
"categorytree-no-pages": "minga de pagine o de sot-categorie",
|
||||
"categorytree-not-found": "Categoria <i>$1</i> minga trovada",
|
||||
"categorytree-error": "Problema cont el caregament di dati.",
|
||||
"categorytree-retry": "Per piaser, specia un moment e poeu proeuva ancamò."
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Boesenbergia",
|
||||
"NoiX180"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "bârbâr",
|
||||
"categorytree-member-counts": "aghâḍhu {{PLURAL:$1|$1 subkatègori}}, {{PLURAL:$2|$2 kaca}}, bân {{PLURAL:$3|$3 bhengkek}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 K",
|
||||
"categorytree-num-files": "$1 B"
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"David Wadie Fisher-Freberg",
|
||||
"Iwan Novirion"
|
||||
]
|
||||
},
|
||||
|
@ -16,10 +17,10 @@
|
|||
"categorytree-mode-pages": "laman salain berkas",
|
||||
"categorytree-mode-all": "kasado laman",
|
||||
"categorytree-collapse": "tutuik",
|
||||
"categorytree-expand": "bukak",
|
||||
"categorytree-member-counts": "Barisi {{PLURAL:$1|$1 subkategori}}, {{PLURAL:$2|$2 laman}}, jo {{PLURAL:$3|$3 berkas}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 L",
|
||||
"categorytree-expand": "kambangkan",
|
||||
"categorytree-member-counts": "Baisi {{PLURAL:$1|$1 subkategori}}, {{PLURAL:$2|$2 laman}}, jo {{PLURAL:$3|$3 berkas}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 B",
|
||||
"categorytree-num-empty": "kosong",
|
||||
"categorytree-load": "muek",
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"ChoiChong",
|
||||
"Chulsu463",
|
||||
"Foavi33"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "nerkimbi",
|
||||
"categorytree-member-counts": "{{PLURAL:$1|fejergi duwalibun}}, {{PLURAL:$2|fiyelen}}, {{PLURAL:$3|dangse}} baktambi",
|
||||
"categorytree-num-categories": "$1 hachilan",
|
||||
"categorytree-num-pages": "$1 fiyelen",
|
||||
"categorytree-num-files": "$1 fiyelen"
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
"authors": [
|
||||
"C.R.",
|
||||
"Chelin",
|
||||
"Cryptex nap",
|
||||
"Ruthven"
|
||||
]
|
||||
},
|
||||
|
@ -19,7 +20,7 @@
|
|||
"categorytree-mode-pages": "tutte 'e paggene accettuanno l'immaggene",
|
||||
"categorytree-mode-all": "Tutte 'e ppaggene",
|
||||
"categorytree-collapse": "annascunne",
|
||||
"categorytree-expand": "fa vede",
|
||||
"categorytree-expand": "spanne",
|
||||
"categorytree-member-counts": "Cuntene {{PLURAL:$1|1 sottocategurìa|$1 sottocategurìe}}, {{PLURAL:$2|1 paggena|$2 paggene}} e {{PLURAL:$3|1 file|$3 file}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
"categorytree-mode-all": "alle sider",
|
||||
"categorytree-collapse": "skjul",
|
||||
"categorytree-expand": "utvid",
|
||||
"categorytree-member-counts": "Inneholder {{PLURAL:$1|én underkategori|$1 underkategorier}}, {{PLURAL:$2|én side|$2 sider}}, og {{PLURAL:$3|én fil|$3 filer}}",
|
||||
"categorytree-member-counts": "Inneholder {{PLURAL:$1|én underkategori|$1 underkategorier}}, {{PLURAL:$2|én side|$2 sider}} og {{PLURAL:$3|én fil|$3 filer}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 F",
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"categorytree-mode-all": "all Sieden",
|
||||
"categorytree-collapse": "nich ganz wiesen",
|
||||
"categorytree-expand": "ganz wiesen",
|
||||
"categorytree-member-counts": "bargt {{PLURAL:$1|ene Ünnerkategorie|$1 Ünnerkategorien}}, {{PLURAL:$2|ene Sied|$2 Sieden}} un {{PLURAL:$3|ene Datei|$3 Datein}}",
|
||||
"categorytree-member-counts": "bargt {{PLURAL:$1|ene Ünnerkategorie|$1 Ünnerkategorien}}, {{PLURAL:$2|ene Siet|$2 Sieden}} un {{PLURAL:$3|ene Datei|$3 Datein}}",
|
||||
"categorytree-load": "laden",
|
||||
"categorytree-loading": "läädt",
|
||||
"categorytree-nothing-found": "nix funnen",
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Anugrahgori",
|
||||
"Slaia"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "oroma'ö nasa",
|
||||
"categorytree-member-counts": "So bakha {{PLURAL:$1|1 subkategori|$1 subkategori}}, {{PLURAL:$2|1 nga'örö|$2 nga'örö}}, ba {{PLURAL:$3|1 berkas|$3 berkas}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 N",
|
||||
"categorytree-num-files": "$1 B"
|
||||
}
|
|
@ -8,9 +8,28 @@
|
|||
"Youssoufkadialy"
|
||||
]
|
||||
},
|
||||
"categorytree": "ߦߌߟߡߊ ߦߙߌߖߎ",
|
||||
"categorytree-portlet": "ߦߌߟߡߊ ߟߎ߬",
|
||||
"categorytree-legend": "ߦߌߟߡߊ ߦߙߌߖߎ ߦߌ߬ߘߊ߬",
|
||||
"categorytree-category": "ߦߌߟߡߊ:",
|
||||
"categorytree-go": "ߦߙߌߛߎ߲ ߦߌ߬ߘߊ߬",
|
||||
"categorytree-parents": "ߡߏߦߌߓߊ߮ ߟߎ߬",
|
||||
"categorytree-mode-categories": "ߦߌߟߡߊ ߟߎ߬ ߘߐߙߐ߲߫",
|
||||
"categorytree-mode-all": "ߞߐߜߍ ߟߎ߬ ߓߍ߯",
|
||||
"categorytree-collapse": "ߞߏߟߊߔߑߛߌ߫",
|
||||
"categorytree-expand": "ߊ߬ ߘߐߥߙߊ߬",
|
||||
"categorytree-member-counts": "ߊ߬ ߟߊߞߎ߲ߣߍ߲߫ {{PLURAL:$1|ߦߌߟߡߊߘߎ߯ߟߊ|$1 ߦߌߟߡߊߘߎ߯ߟߊ ߟߎ߬}}, {{PLURAL:$2|1ߞߐߜߍ|$2 ߞߐߜߍ ߟߎ߬}}ߟߋ߫ ߡߊ߬߸ ߊ߬ ߣߌ߫ {{PLURAL:$3|1 ߞߐߕߐ߮|$3 ߞߐߕߐ߮ ߟߎ߬}}",
|
||||
"categorytree-num-categories": "$1 ߦߌߟߡߊ",
|
||||
"categorytree-num-categories": "ߦߌߟ $1",
|
||||
"categorytree-num-pages": "ߞߐߜߍ $1",
|
||||
"categorytree-num-files": "$1 ߞߕ"
|
||||
"categorytree-num-files": "ߞߕ $1",
|
||||
"categorytree-num-empty": "ߘߐߞߏߟߏ߲",
|
||||
"categorytree-load": "ߟߊߢߎ߲߫",
|
||||
"categorytree-loading": "ߟߊ߬ߢߎ߲߬ߠߌ߲ ߦߵߌ ߘߐ߫...",
|
||||
"categorytree-nothing-found": "ߝߏߦߌ߬ ߡߊ߫ ߛߐ߬ߘߐ߲߫",
|
||||
"categorytree-no-subcategories": "ߦߌߟߡߊߙߋ߲ ߠߎ߬ ߝߋ߲߫ ߕߴߦߋ߲߬",
|
||||
"categorytree-no-parent-categories": "ߡߏߦߌߓߊ߯ ߦߌߟߡߊ ߟߎ߬ ߝߋ߲߫ ߕߴߦߋ߲߬",
|
||||
"categorytree-no-pages": "ߞߐߜߍ߫ ߕߴߦߋ߲߬ ߥߟߊ߫ ߦߌߟߡߊߙߋ߲ ߠߎ߬",
|
||||
"categorytree-not-found": "ߦߌߟߡߊ <i>$1</i> ߡߊ߫ ߛߐ߬ߘߐ߲߫",
|
||||
"categorytree-error": "ߝߙߋߞߋ ߞߊ߬ ߓߟߏߡߟߊ ߟߊߢߎ߲ ߕߴߌ ߘߐ߫.",
|
||||
"categorytree-retry": "ߥߛߎ߬ߣߍ߲߫ ߘߐߞߐ߬ߣߐ߲߫ ߖߊ߰ߣߌ߲߫ ߞߣߊ߬ ߕߴߊ߬ ߡߊߝߍߣߍ߲߫ ߠߊ߫ ߕߎ߲߯ߣߌ߲߫."
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Maammee",
|
||||
"Oromoo"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "babal'isi",
|
||||
"categorytree-member-counts": "{{PLURAL:$1|ramaddii nuusa 1|ramaddi nuusa $1}}, {{PLURAL:$2|fuula 1|fuula $2}}, fi {{PLURAL:$3|faayila 1|faayila $3}} of keessaa qaba",
|
||||
"categorytree-num-categories": "$1 R",
|
||||
"categorytree-num-pages": "$1 F",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"ObaTango"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "Ekspandé",
|
||||
"categorytree-member-counts": "Ta kontené {{PLURAL:$1|1 supkategoria\n|$1 supkategoria}}, {{PLURAL:$2|1 página|$2 página}}, i {{PLURAL:$3|1 fail|$3 fail}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Borichèt",
|
||||
"Bèrto 'd Sèra",
|
||||
"Dragonòt"
|
||||
]
|
||||
|
@ -9,7 +10,7 @@
|
|||
"categorytree-portlet": "Categorìe",
|
||||
"categorytree-legend": "Mosta l'erbo dle categorìe",
|
||||
"categorytree-desc": "Nàviga dinamicament la [[Special:CategoryTree|strutura dle categorìe]]",
|
||||
"categorytree-header": "Ch'a buta ël nòm ëd na categorìa për ës-ciairene ij contnù e la strutura. Ch'a ten-a present che përchè sòn a travaja a-i va na fonsion Javascript avansà ch'as ciama AJAX. Se un a l'ha un navigator vej ò pura a l'ha nen abilità Javascript sossì a travaja nen.",
|
||||
"categorytree-header": "Ch'a buta ël nòm ëd na categorìa për ës-ciairene ij contnù com na strutura a erbo. (A-i é da manca ëd JavaScript).",
|
||||
"categorytree-category": "Categorìa:",
|
||||
"categorytree-go": "Deurbe l'erbo",
|
||||
"categorytree-parents": "Cé",
|
||||
|
|
|
@ -9,18 +9,18 @@
|
|||
"categorytree-portlet": "گٹھاں",
|
||||
"categorytree-legend": "گٹھ لین وکھاؤ",
|
||||
"categorytree-desc": "ویکھ کے [[Special:CategoryTree|گٹھاں]] دی کھوج کرو",
|
||||
"categorytree-header": "کسی گٹھ دا ناں لکھو تاکے ایدا مال رکھ ورگی مورت چ ویکھو۔\nNote that this requires advanced JavaScript functionality known as AJAX.\nIf you have a very old browser, or have JavaScript disabled, it will not work.",
|
||||
"categorytree-header": "کسی گٹھ دا ناں لکھو تاکے ایہدا مال رکھ ورگی مورت وچ ویکھو۔\nNote that this requires advanced JavaScript functionality known as AJAX.\nIf you have a very old browser, or have JavaScript disabled, it will not work.",
|
||||
"categorytree-category": "گٹھ:",
|
||||
"categorytree-go": "لین وکھاؤ",
|
||||
"categorytree-parents": "وڈوڈیرے",
|
||||
"categorytree-mode-categories": "صرف گٹھاں",
|
||||
"categorytree-mode-pages": "فائلاں بنا صفے",
|
||||
"categorytree-mode-all": "سارے صفے",
|
||||
"categorytree-mode-all": "سارے صفحے",
|
||||
"categorytree-collapse": "مک گیا",
|
||||
"categorytree-expand": "ودھاؤ",
|
||||
"categorytree-expand-bullet": "◄",
|
||||
"categorytree-empty-bullet": "◄",
|
||||
"categorytree-member-counts": "ایدے چ {{PLURAL:$1|1 نکی گٹھ|$1 گٹھاں}}, {{PLURAL:$2|1 صفحہ|$2 صفحے}}, تے {{PLURAL:$3|1 فائل|$3 فائلاں}} ہیگیاں نیں۔",
|
||||
"categorytree-member-counts": "ایہدے وچ {{PLURAL:$1|1 نکی گٹھ|$1 گٹھاں}}, {{PLURAL:$2|1 صفحہ|$2 صفحے}}, تے {{PLURAL:$3|1 فائل|$3 فائلاں}} ہیگیاں نیں۔",
|
||||
"categorytree-num-categories": "$1 سی",
|
||||
"categorytree-num-pages": "$1 پی",
|
||||
"categorytree-num-files": "$1 ایف",
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"Dicionarista",
|
||||
"Eduardo Addad de Oliveira",
|
||||
"Eduardo.mps",
|
||||
"Eduardoaddad",
|
||||
"Felipe L. Ewald",
|
||||
"Rafael Vargas",
|
||||
555
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
"categorytree-expand": "Tooltip for the \"expand\" button.\n{{Identical|Expand}}",
|
||||
"categorytree-collapse-bullet": "{{notranslate}}",
|
||||
"categorytree-expand-bullet": "For right-to-left scripts, set this message to the single character ◄ . Otherwise, do not translate this message. Does not support wiki-syntax, html or entity references. \n{{optional}}",
|
||||
"categorytree-empty-bullet": "Prefix used before category names in category pages when the number of subcategories (or something) is 0, to indicate that there is no sub-tree of items to expand. Does not support wiki-syntax, html or entity references.",
|
||||
"categorytree-empty-bullet": "{{optional}}\nPrefix used before category names in category pages when the number of subcategories (or something) is 0, to indicate that there is no sub-tree of items to expand. Does not support wiki-syntax, html or entity references.",
|
||||
"categorytree-page-bullet": "{{notranslate}}",
|
||||
"categorytree-member-counts": "Tooltip showing a detailed summary of subcategory member counts. Parameters:\n* $1 - number of subcategories\n* $2 - number of pages (without subcategories and files)\n* $3 - number of files\n* $4 - (Unused) total number of members\n* $5 - (Unused) members to be shown in the tree, depending on mode\nUse with <nowiki>{{PLURAL}}</nowiki>",
|
||||
"categorytree-member-num": "{{notranslate}}\nHowever, if needed, you can localise the parentheses.\n\n(From https://www.mediawiki.org/wiki/Extension:CategoryTree#categorytree-member-num):\nBy default, when listing subcategories on a category page, each subcategory is followed by an integer indicating how many subcategories lie beneath it:\n<pre>\nMy category name (5)\n</pre>\nYou can change this behavior by overriding this system message. Parameters:\n* $1 - (Unused) number of subcategories\n* $2 - (Unused) number of articles (not including category pages or file pages)\n* $3 - (Unused) number of uploaded files\n* $4 - (Unused) total number of member pages, including category pages and file pages\n* $5 - (Varies depending on CategoryTree mode....Can someone describe it?)\n\nTip: Use the ParserFunctions extension (https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions) to provide if/then/else logic to display different parts conditionally. For example:\n<pre>\n{{#ifeq:$1|0||$1 categories}}\n</pre>",
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Amara-Amaziɣ"
|
||||
"Amara-Amaziɣ",
|
||||
"Syphax Amaynu"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "Semɣer",
|
||||
"categorytree-num-pages": "$1 ⵙⵏ",
|
||||
"categorytree-num-files": "$1 ⴼⵢⵍ"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Adehertogh"
|
||||
]
|
||||
},
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S"
|
||||
}
|
|
@ -1,11 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Amara-Amaziɣ"
|
||||
"Amara-Amaziɣ",
|
||||
"Ayour2002",
|
||||
"Lhoussine AIT TAYFST"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "ⵙⵙⵉⵎⵖⵓⵔ",
|
||||
"categorytree-num-categories": "$1 ⴳⵢ",
|
||||
"categorytree-num-pages": "$1 ⵙⵏ",
|
||||
"categorytree-num-files": "$1 ⴼ"
|
||||
"categorytree-expand": "Simɣur",
|
||||
"categorytree-member-counts": "Gis {{PLURAL:$1|1 ddu-anaw|$1 ddu-anawen}}, {{PLURAL:$2|1 tawlaft|$2 tiwlafin}}, d {{PLURAL:$3|1 afaylu|$3 ifayluten}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
||||
|
|
|
@ -2,9 +2,11 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Helix84",
|
||||
"Jaroslav.micek",
|
||||
"Sudo77(new)",
|
||||
"Teslaton",
|
||||
"Vlad5250"
|
||||
"Vlad5250",
|
||||
"Yardom78"
|
||||
]
|
||||
},
|
||||
"categorytree": "Strom kategórií",
|
||||
|
@ -24,7 +26,7 @@
|
|||
"categorytree-member-counts": "obsahuje {{PLURAL:$1|1 podkategóriu|$1 podkategórie|$1 podkategórií}}, {{PLURAL:$2|1 stránku|$2 stránky|$2 stránok}} a {{PLURAL:$3|1 súbor|$3 súbory|$3 súborov}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 B",
|
||||
"categorytree-num-files": "$1 S",
|
||||
"categorytree-num-empty": "prázdna",
|
||||
"categorytree-load": "načítať",
|
||||
"categorytree-loading": "načítava sa",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"categorytree-mode-label": "طور:",
|
||||
"categorytree-mode-categories": "صرف ونکیاں",
|
||||
"categorytree-mode-pages": "فائلاں دے علاوہ ورقے",
|
||||
"categorytree-mode-all": "سارے مقالے",
|
||||
"categorytree-mode-all": "سارے ورقے",
|
||||
"categorytree-collapse": "لکاؤ",
|
||||
"categorytree-expand": "ودھاؤ",
|
||||
"categorytree-member-counts": "ایندے وچ {{PLURAL:$1|1 ذیلی ونکی|$1 ذیلی ونکیاں}}، {{PLURAL:$2|1 ورقہ|$2 ورقے}} تے {{PLURAL:$3|1 فائل|$3 فائلیں}} موجود ہن/ہے۔",
|
||||
|
|
|
@ -1,8 +1,24 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Ghiutun"
|
||||
"Ghiutun",
|
||||
"Äberlausitzer"
|
||||
]
|
||||
},
|
||||
"categorytree-num-categories": "$1 Kat."
|
||||
"categorytree-legend": "Zeige Kategorienboom",
|
||||
"categorytree-category": "Kategorie",
|
||||
"categorytree-parents": "Aeberkategorien",
|
||||
"categorytree-mode-label": "Modus:",
|
||||
"categorytree-mode-pages": "Seita außer Dateien",
|
||||
"categorytree-mode-all": "olle Seita",
|
||||
"categorytree-expand": "ausklappen",
|
||||
"categorytree-member-counts": "enthält {{PLURAL:$1|1 Underkategorie|$1 Underkategorien}}, {{PLURAL:$2|1 Seite|$2 Seita}} und {{PLURAL:$3|1 Datei|$3 Dateien}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 D",
|
||||
"categorytree-load": "loada",
|
||||
"categorytree-loading": "loade …",
|
||||
"categorytree-nothing-found": "'s wurde nischts gefunda.",
|
||||
"categorytree-no-subcategories": "Kenne Underkategorien",
|
||||
"categorytree-no-parent-categories": "Kenne Aeberkategorien"
|
||||
}
|
||||
|
|
|
@ -2,9 +2,12 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Mlolthuis",
|
||||
"Trondtr"
|
||||
"Trondtr",
|
||||
"Yupik"
|
||||
]
|
||||
},
|
||||
"categorytree-portlet": "Luokah",
|
||||
"categorytree-category": "Luokka:",
|
||||
"categorytree-expand": "čääiti",
|
||||
"categorytree-member-counts": "tuálá sistees {{PLURAL:$1|1 vyeliluoka|$1 vyeliluoka}}, {{PLURAL:$2|1 siijđo|$2 siijđo}} já {{PLURAL:$3|1 tiätuvuárhá|$3 tiätuvuárhá}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Yupik"
|
||||
]
|
||||
},
|
||||
"categorytree-portlet": "Kategoria",
|
||||
"categorytree-category": "Kategoria:",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 T"
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"Maax"
|
||||
]
|
||||
},
|
||||
"categorytree-portlet": "Qaybaha",
|
||||
"categorytree-category": "Qeybta:",
|
||||
"categorytree-expand": "sii balaari",
|
||||
"categorytree-member-counts": "Waxay ka koobantahay{{PLURAL:$1|1 qayb hoosaad|$1 qaybo hoosaad}}, {{PLURAL:$2|1 bog|$2 boggag}}, iyo {{PLURAL:$3|1 feyl|$3feylal}}",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Kizule",
|
||||
"Michaello",
|
||||
"Milicevic01",
|
||||
"Rancher",
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"এম আবু সাঈদ"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "ꠝꠦꠟꠣꠅ",
|
||||
"categorytree-member-counts": "{{PLURAL:$1|1 subcategory|$1 ꠍꠣꠛꠇꠦꠐꠣꠉꠞꠤ}}, {{PLURAL:$2|1 ꠚꠣꠔꠣꠁꠘ|$2 ꠚꠣꠔꠣꠁꠘ}}, ꠀꠞ {{PLURAL:$3|1 ꠚꠣꠁꠟ|$3 ꠚꠣꠁꠟ}} ꠀꠍꠦ",
|
||||
"categorytree-num-categories": "$1 ꠍꠤ",
|
||||
"categorytree-num-pages": "$1 ꠙꠤ",
|
||||
"categorytree-num-files": "$1 ꠄꠚ"
|
||||
}
|
|
@ -5,13 +5,13 @@
|
|||
]
|
||||
},
|
||||
"categorytree-portlet": "መደባት",
|
||||
"categorytree-category": "መደብ፥",
|
||||
"categorytree-mode-all": "ኩሉ ገጻት",
|
||||
"categorytree-category": "መደብ፦",
|
||||
"categorytree-mode-all": "ኩሎም ገጻት",
|
||||
"categorytree-collapse": "ኣክብ",
|
||||
"categorytree-expand": "ዘርግሕ",
|
||||
"categorytree-num-categories": "$1 ም",
|
||||
"categorytree-num-pages": "$1 ገ",
|
||||
"categorytree-num-empty": "ባዶ",
|
||||
"categorytree-load": "ጸዓነ",
|
||||
"categorytree-load": "ጸዓን",
|
||||
"categorytree-loading": "ይጽዕን ኣሎ..."
|
||||
}
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
"categorytree-collapse": "ýygna",
|
||||
"categorytree-expand": "giňelt",
|
||||
"categorytree-member-counts": "{{PLURAL:$1|1 kiçi kategoriýany|$1 kiçi kategoriýany}}, {{PLURAL:$2|1 sahypany|$2 sahypany}} we {{PLURAL:$3|1 faýly|$3 faýly}} öz içine alýar",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-load": "ýükle",
|
||||
"categorytree-loading": "ýüklenýär...",
|
||||
"categorytree-nothing-found": "hiç zat tapylmady",
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"AnakngAraw",
|
||||
"GinawaSaHapon",
|
||||
"Lam-ang",
|
||||
"Stranger195"
|
||||
"Stranger195",
|
||||
"Yivan000"
|
||||
]
|
||||
},
|
||||
"categorytree": "Puno ng kaurian",
|
||||
|
@ -11,28 +13,28 @@
|
|||
"categorytree-legend": "Ipakita ang puno ng kaurian",
|
||||
"categorytree-desc": "Masiglang libutin ang [[Special:CategoryTree|kayarian ng kaurian]]",
|
||||
"categorytree-header": "Maglagay (magpasok) ng isang pangalan ng kaurian upang makita ang nilalaman nito bilang isang kayarian ng isang puno.\nTandaan na nangangailangan ito ng mas masulong na tungkuling pang-JavaScript na kilala bilang AJAX.\nKapag mayroon kang isang napakatandang/napakalumang pantingin-tingin (''browser''), o hindi pinapagana ang JavaScript, hindi ito magagawa/walang mangyayari.",
|
||||
"categorytree-category": "Kaurian:",
|
||||
"categorytree-category": "Kategorya:",
|
||||
"categorytree-go": "Ipakita ang puno",
|
||||
"categorytree-parents": "Mga magulang",
|
||||
"categorytree-mode-categories": "mga kaurian lamang",
|
||||
"categorytree-mode-pages": "mga pahina maliban sa mga talaksan",
|
||||
"categorytree-mode-all": "lahat ng mga pahina",
|
||||
"categorytree-collapse": "tiklupin",
|
||||
"categorytree-expand": "palaparin",
|
||||
"categorytree-expand": "palawakin",
|
||||
"categorytree-expand-bullet": "►",
|
||||
"categorytree-empty-bullet": "►",
|
||||
"categorytree-member-counts": "Naglalaman ng {{PLURAL:$1|1 subkategorya|$1 subkategorya}}, {{PLURAL:$2|1 pahina|$2 mga pahina}}, at {{PLURAL:$3|1 talaksan|$3 mga talaksan}}",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 P",
|
||||
"categorytree-member-counts": "Naglalaman ng {{PLURAL:$1|1 subkategorya|$1 (na) subkategorya}}, {{PLURAL:$2|1 pahina|$2 (na) pahina}}, at {{PLURAL:$3|1 file|$3 (na) file}}",
|
||||
"categorytree-num-categories": "$1 ka.",
|
||||
"categorytree-num-pages": "$1 pa.",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "walang laman",
|
||||
"categorytree-load": "ikarga",
|
||||
"categorytree-loading": "ikinakarga…",
|
||||
"categorytree-nothing-found": "walang natagpuan",
|
||||
"categorytree-no-subcategories": "walang kabahaging mga kaurian",
|
||||
"categorytree-no-subcategories": "walang mga subkategorya",
|
||||
"categorytree-no-parent-categories": "walang magulang (pinagmulan) na mga kaurian",
|
||||
"categorytree-no-pages": "walang mga pahina o kabahaging mga kaurian/subkaurian (subkategorya)",
|
||||
"categorytree-not-found": "Hindi natagpuan ang kauriang <i>$1</i>",
|
||||
"categorytree-not-found": "Hindi natagpuan ang kategoryang <i>$1</i>",
|
||||
"categorytree-error": "May suliranin sa pagkakarga ng dato.",
|
||||
"categorytree-retry": "Maghintay lamang ng isang sandali at subuking muli."
|
||||
}
|
||||
|
|
|
@ -1,34 +1,36 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Amire80",
|
||||
"Patriot Kur",
|
||||
"QeneralĞasım",
|
||||
"Гусейн"
|
||||
]
|
||||
},
|
||||
"categorytree": "Kateqoriyon do",
|
||||
"categorytree-portlet": "Kateqoriyon",
|
||||
"categorytree-legend": "Категоријон до нишо дој",
|
||||
"categorytree-legend": "Kateqoriyon do nişo doy",
|
||||
"categorytree-header": "Категоријә номи бынывыштән, ијән ав нишо бәбе бәнә до.\nЫм мымкуне, гирәм шымә браузерәдә AJAX һесте.\nГирәм шымәку браузери канә рәвојәте ја JavaScript быријә быә, жинә категоријон нишо дој бәнә до әбыни.",
|
||||
"categorytree-category": "Kateqoriya",
|
||||
"categorytree-go": "Бо жәј",
|
||||
"categorytree-parents": "Пыә-моә категоријон",
|
||||
"categorytree-mode-categories": "әнҹәх категоријон",
|
||||
"categorytree-mode-pages": "сывој фајлон",
|
||||
"categorytree-parents": "Pıə-moə kateqoriyon",
|
||||
"categorytree-mode-categories": "əncəx kateqoriyon",
|
||||
"categorytree-mode-pages": "sıvoy faylon",
|
||||
"categorytree-mode-all": "həmə səhifon",
|
||||
"categorytree-collapse": "бурмә кардеј",
|
||||
"categorytree-expand": "һовуж кардеј",
|
||||
"categorytree-member-counts": "Дыләдә һестыше {{PLURAL:$1|1 жинә категоријә|$1 жинә категоријә}}, {{PLURAL:$2|1 сәһифә|$2 сәһифә}}, ијән {{PLURAL:$3|1 фајл|$3 фајл}}",
|
||||
"categorytree-num-categories": "$1 К",
|
||||
"categorytree-num-pages": "$1 С",
|
||||
"categorytree-collapse": "burmə kardey",
|
||||
"categorytree-expand": "hovuj okarde",
|
||||
"categorytree-member-counts": "Dılədə hestəşe{{PLURAL:$1|1 jinə tispir|$1 jinə tispir}}, {{PLURAL:$2|1 səhifə|$2 səhifə}}, iyən{{PLURAL:$3|1 fayl|$3 fayl}}",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 S",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "təy",
|
||||
"categorytree-load": "бо жәј",
|
||||
"categorytree-loading": "бо карде...",
|
||||
"categorytree-nothing-found": "Ым категоријәдә жинә категоријә ни.",
|
||||
"categorytree-no-subcategories": "категоријон жинтон ни",
|
||||
"categorytree-no-parent-categories": "пыә-моә категоријә ни",
|
||||
"categorytree-no-pages": "нә мәғолә һесте, нә жинә категоријон",
|
||||
"categorytree-not-found": "Категоријә «$1» пәјдо быәни.",
|
||||
"categorytree-error": "Мәлумоти бо карде сәһве.",
|
||||
"categorytree-retry": "Быһамијән, и тикә чәш быкан ијән икәрән осә быкан."
|
||||
"categorytree-no-subcategories": "kateqoriyon jinton ni",
|
||||
"categorytree-no-parent-categories": "valideyni katiqoriya ni",
|
||||
"categorytree-no-pages": "nə məğolə heste, nə jinə kateqoriyon",
|
||||
"categorytree-not-found": "Katiqoriya «$1» pəydo bıəni",
|
||||
"categorytree-error": "Məlumoti bo karde səhve.",
|
||||
"categorytree-retry": "Bıhamiyən, i tikə çəş bıkan iyən ikərən osə bıkan."
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"Karduelis",
|
||||
"Khutuck",
|
||||
"Mach",
|
||||
"MuratTheTurkish",
|
||||
"Runningfridgesrule",
|
||||
"Stultiwikia",
|
||||
"Superyetkin",
|
||||
|
@ -39,6 +40,6 @@
|
|||
"categorytree-no-parent-categories": "üst kategori yok",
|
||||
"categorytree-no-pages": "alt kategori veya madde yok",
|
||||
"categorytree-not-found": "<i>\"$1\"</i> isimli kategori bulunamadı",
|
||||
"categorytree-error": "Bilgi yüklenmesi ile bir problem var.",
|
||||
"categorytree-error": "Veri yükleme sorunu.",
|
||||
"categorytree-retry": "Lütfen kısa süre için bekleyin, sonra bir kere daha deneyin."
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Hakim1bal",
|
||||
"Tifinaghes"
|
||||
]
|
||||
},
|
||||
|
@ -13,7 +14,7 @@
|
|||
"categorytree-expand": "ⴰⴼⵔⴷⵉⵙ",
|
||||
"categorytree-num-categories": "$1 C",
|
||||
"categorytree-num-pages": "$1 ⵜ",
|
||||
"categorytree-num-files": "$1 ⴼ",
|
||||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "ⵓⵔ ⴷⵉⵙ ⴰⵎⵢⴰ",
|
||||
"categorytree-nothing-found": "ⵓⵔ ⵉⵍⵍⴰ ⵓⵎⵢⴰ"
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"categorytree-no-subcategories": "nissuna sotocategoria",
|
||||
"categorytree-no-parent-categories": "nissuna categoria superior",
|
||||
"categorytree-no-pages": "nissuna voçe né sotocategoria",
|
||||
"categorytree-not-found": "Categoria <i>$1</i> mìa catà",
|
||||
"categorytree-not-found": "Categoria <i>$1</i> mìa catada",
|
||||
"categorytree-error": "Ghe xe un problema nel caricamento dei dati.",
|
||||
"categorytree-retry": "Speta n'atimo e dopo próa de novo."
|
||||
}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Adeliine",
|
||||
"Võrok"
|
||||
]
|
||||
},
|
||||
"categorytree-expand": "näüdäq",
|
||||
"categorytree-member-counts": "Tan om {{PLURAL:$1|1 allkatõgooria|$1 allkatõgooriat}}, {{PLURAL:$2|1 leht|$2 lehte}}, ja {{PLURAL:$3|1 fail|$3 faili}}",
|
||||
"categorytree-num-categories": "$1 L",
|
||||
"categorytree-num-categories": "$1 K",
|
||||
"categorytree-num-pages": "$1 L",
|
||||
"categorytree-num-files": "$1 F"
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Akamycoco",
|
||||
"Lalotahes"
|
||||
]
|
||||
},
|
||||
|
@ -8,7 +9,7 @@
|
|||
"categorytree-category": " ’a’apolen:",
|
||||
"categorytree-mode-all": " saeboeh ye:myen",
|
||||
"categorytree-expand": "pawSika:",
|
||||
"categorytree-member-counts": "hani saeboeh $1 ka ’a’apolan 、$2 ka ye:myen ki $3 ka tang’an",
|
||||
"categorytree-member-counts": "hani saeboeh {{PLURAL:$1|1 subcategory|$1 subcategories}} ka ’a’apolan, {{PLURAL:$2|1 page|$2 pages}} ka ye:myen ki {{PLURAL:$3|1 file|$3 files}} ka tang’an",
|
||||
"categorytree-num-categories": "$1 ’a’apolen",
|
||||
"categorytree-num-pages": "$1 ye:myen",
|
||||
"categorytree-num-files": "$1 tang’an"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"authors": [
|
||||
"CRCHF",
|
||||
"Ktchankt",
|
||||
"Moon0319",
|
||||
"Shinjiman",
|
||||
"Yueman"
|
||||
]
|
||||
|
@ -13,7 +14,7 @@
|
|||
"categorytree-desc": "一個以AJAX為主嘅小工具去顯示響一個wiki嘅[[Special:CategoryTree|分類架構]]",
|
||||
"categorytree-header": "輸入分類名去睇佢嘅樹形結構內容。(需要JavaScript)",
|
||||
"categorytree-category": "分類",
|
||||
"categorytree-go": "載入",
|
||||
"categorytree-go": "撈緊",
|
||||
"categorytree-parents": "父分類",
|
||||
"categorytree-mode-label": "模式:",
|
||||
"categorytree-mode-categories": "只顯示分類",
|
||||
|
@ -27,7 +28,7 @@
|
|||
"categorytree-num-files": "$1 F",
|
||||
"categorytree-num-empty": "空",
|
||||
"categorytree-load": "載入",
|
||||
"categorytree-loading": "載入緊…",
|
||||
"categorytree-loading": "撈緊…",
|
||||
"categorytree-nothing-found": "搵唔到任何嘢",
|
||||
"categorytree-no-subcategories": "冇細分類",
|
||||
"categorytree-no-parent-categories": "冇父分類",
|
||||
|
|
|
@ -81,7 +81,9 @@ class ApiCategoryTree extends ApiBase {
|
|||
* @return string HTML
|
||||
*/
|
||||
private function getHTML( CategoryTree $ct, Title $title, $depth, Config $ctConfig ) {
|
||||
$cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
|
||||
$services = MediaWikiServices::getInstance();
|
||||
$cache = $services->getMainWANObjectCache();
|
||||
$langConv = $services->getLanguageConverterFactory()->getLanguageConverter();
|
||||
|
||||
return $cache->getWithSetCallback(
|
||||
$cache->makeKey(
|
||||
|
@ -89,7 +91,7 @@ class ApiCategoryTree extends ApiBase {
|
|||
md5( $title->getDBkey() ),
|
||||
md5( $ct->getOptionsAsCacheKey( $depth ) ),
|
||||
$this->getLanguage()->getCode(),
|
||||
MediaWikiServices::getInstance()->getContentLanguage()->getExtraHashOptions(),
|
||||
$langConv->getExtraHashOptions(),
|
||||
$ctConfig->get( 'RenderHashAppend' )
|
||||
),
|
||||
$cache::TTL_DAY,
|
||||
|
|
|
@ -701,8 +701,7 @@ class CategoryTree {
|
|||
}
|
||||
}
|
||||
|
||||
$s .= Xml::closeElement( 'div' );
|
||||
$s .= Xml::closeElement( 'div' );
|
||||
$s .= Xml::closeElement( 'div' ) . Xml::closeElement( 'div' );
|
||||
|
||||
return $s;
|
||||
}
|
||||
|
|
|
@ -30,14 +30,12 @@ class CategoryTreeCategoryViewer extends CategoryViewer {
|
|||
* @return CategoryTree
|
||||
*/
|
||||
private function getCategoryTree() {
|
||||
global $wgCategoryTreeCategoryPageOptions;
|
||||
|
||||
if ( !isset( $this->categorytree ) ) {
|
||||
if ( !CategoryTreeHooks::shouldForceHeaders() ) {
|
||||
CategoryTree::setHeaders( $this->getOutput() );
|
||||
}
|
||||
|
||||
$this->categorytree = new CategoryTree( $wgCategoryTreeCategoryPageOptions );
|
||||
$this->categorytree = new CategoryTree( $this->getConfig()->get( 'CategoryTreeCategoryPageOptions' ) );
|
||||
}
|
||||
|
||||
return $this->categorytree;
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
*/
|
||||
class CategoryTreeHooks {
|
||||
|
||||
private const EXTENSION_DATA_FLAG = 'CategoryTree';
|
||||
|
||||
/**
|
||||
* @internal For use by CategoryTreeCategoryViewer and CategoryTreePage only!
|
||||
* @return bool
|
||||
|
@ -110,9 +112,14 @@ class CategoryTreeHooks {
|
|||
$argv[$k] = $v;
|
||||
}
|
||||
|
||||
// now handle just like a <categorytree> tag
|
||||
$html = self::parserHook( $cat, $argv, $parser );
|
||||
return [ $html, 'noparse' => true, 'isHTML' => true ];
|
||||
if ( $parser->getOutputType() === Parser::OT_PREPROCESS ) {
|
||||
return Html::openElement( 'categorytree', $argv ) .
|
||||
$cat . Html::closeElement( 'categorytree' );
|
||||
} else {
|
||||
// now handle just like a <categorytree> tag
|
||||
$html = self::parserHook( $cat, $argv, $parser );
|
||||
return [ $html, 'noparse' => true, 'isHTML' => true ];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -138,7 +145,6 @@ class CategoryTreeHooks {
|
|||
/**
|
||||
* Entry point for the <categorytree> tag parser hook.
|
||||
* This loads CategoryTreeFunctions.php and calls CategoryTree::getTag()
|
||||
* @suppress PhanUndeclaredProperty ParserOutput->mCategoryTreeTag
|
||||
* @param string $cat
|
||||
* @param array $argv
|
||||
* @param Parser|null $parser
|
||||
|
@ -155,7 +161,7 @@ class CategoryTreeHooks {
|
|||
) {
|
||||
if ( $parser ) {
|
||||
# flag for use by CategoryTreeHooks::parserOutput
|
||||
$parser->mOutput->mCategoryTreeTag = true;
|
||||
$parser->getOutput()->setExtensionData( self::EXTENSION_DATA_FLAG, true );
|
||||
}
|
||||
|
||||
$ct = new CategoryTree( $argv );
|
||||
|
@ -179,8 +185,7 @@ class CategoryTreeHooks {
|
|||
/**
|
||||
* Hook callback that injects messages and things into the <head> tag,
|
||||
* if needed in the current page.
|
||||
* Does nothing if $parserOutput->mCategoryTreeTag is not set
|
||||
* @suppress PhanUndeclaredProperty ParserOutput->mCategoryTreeTag
|
||||
* Does nothing if self::EXTENSION_DATA_FLAG is not set on $parserOutput extension data.
|
||||
* @param OutputPage $outputPage
|
||||
* @param ParserOutput $parserOutput
|
||||
*/
|
||||
|
@ -189,7 +194,7 @@ class CategoryTreeHooks {
|
|||
// Skip, we've already set the headers unconditionally
|
||||
return;
|
||||
}
|
||||
if ( !empty( $parserOutput->mCategoryTreeTag ) ) {
|
||||
if ( $parserOutput->getExtensionData( self::EXTENSION_DATA_FLAG ) ) {
|
||||
CategoryTree::setHeaders( $outputPage );
|
||||
}
|
||||
}
|
||||
|
@ -240,8 +245,8 @@ class CategoryTreeHooks {
|
|||
|
||||
foreach ( $categories as $category => $type ) {
|
||||
$links[$type][] = self::parserHook( $category, $wgCategoryTreePageCategoryOptions, null, null, true );
|
||||
CategoryTree::setHeaders( $out );
|
||||
}
|
||||
CategoryTree::setHeaders( $out );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
* @author Daniel Kinzler, brightbyte.de
|
||||
*/
|
||||
|
||||
use MediaWiki\MediaWikiServices;
|
||||
|
||||
/**
|
||||
* Special page for the CategoryTree extension, an AJAX based gadget
|
||||
* to display the category structure of a wiki
|
||||
|
@ -31,13 +29,22 @@ use MediaWiki\MediaWikiServices;
|
|||
class CategoryTreePage extends SpecialPage {
|
||||
public $target = '';
|
||||
|
||||
/** @var SearchEngineFactory */
|
||||
private $searchEngineFactory;
|
||||
|
||||
/**
|
||||
* @var CategoryTree
|
||||
*/
|
||||
public $tree = null;
|
||||
|
||||
public function __construct() {
|
||||
/**
|
||||
* @param SearchEngineFactory $searchEngineFactory
|
||||
*/
|
||||
public function __construct(
|
||||
SearchEngineFactory $searchEngineFactory
|
||||
) {
|
||||
parent::__construct( 'CategoryTree' );
|
||||
$this->searchEngineFactory = $searchEngineFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -45,12 +52,10 @@ class CategoryTreePage extends SpecialPage {
|
|||
* @return mixed
|
||||
*/
|
||||
private function getOption( $name ) {
|
||||
global $wgCategoryTreeDefaultOptions;
|
||||
|
||||
if ( $this->tree ) {
|
||||
return $this->tree->getOption( $name );
|
||||
} else {
|
||||
return $wgCategoryTreeDefaultOptions[$name];
|
||||
return $this->getConfig()->get( 'CategoryTreeDefaultOptions' )[$name];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,8 +64,6 @@ class CategoryTreePage extends SpecialPage {
|
|||
* @param string|null $par Parameters passed to the page
|
||||
*/
|
||||
public function execute( $par ) {
|
||||
global $wgCategoryTreeDefaultOptions, $wgCategoryTreeSpecialPageOptions;
|
||||
|
||||
$this->setHeaders();
|
||||
$this->addHelpLink( 'Extension:CategoryTree' );
|
||||
$request = $this->getRequest();
|
||||
|
@ -79,11 +82,14 @@ class CategoryTreePage extends SpecialPage {
|
|||
$this->target = trim( $this->target );
|
||||
|
||||
$options = [];
|
||||
$config = $this->getConfig();
|
||||
|
||||
# grab all known options from the request. Normalization is done by the CategoryTree class
|
||||
foreach ( $wgCategoryTreeDefaultOptions as $option => $default ) {
|
||||
if ( isset( $wgCategoryTreeSpecialPageOptions[$option] ) ) {
|
||||
$default = $wgCategoryTreeSpecialPageOptions[$option];
|
||||
$categoryTreeDefaultOptions = $config->get( 'CategoryTreeDefaultOptions' );
|
||||
$categoryTreeSpecialPageOptions = $config->get( 'CategoryTreeSpecialPageOptions' );
|
||||
foreach ( $categoryTreeDefaultOptions as $option => $default ) {
|
||||
if ( isset( $categoryTreeSpecialPageOptions[$option] ) ) {
|
||||
$default = $categoryTreeSpecialPageOptions[$option];
|
||||
}
|
||||
|
||||
$options[$option] = $request->getVal( $option, $default );
|
||||
|
@ -200,7 +206,7 @@ class CategoryTreePage extends SpecialPage {
|
|||
// No prefix suggestion outside of category namespace
|
||||
return [];
|
||||
}
|
||||
$searchEngine = MediaWikiServices::getInstance()->newSearchEngine();
|
||||
$searchEngine = $this->searchEngineFactory->create();
|
||||
$searchEngine->setLimitOffset( $limit, $offset );
|
||||
// Autocomplete subpage the same as a normal search, but just for categories
|
||||
$searchEngine->setNamespaces( [ NS_CATEGORY ] );
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
*/
|
||||
function attachHandler( $content ) {
|
||||
$content.find( '.CategoryTreeToggle' )
|
||||
.click( handleNode )
|
||||
.on( 'click', handleNode )
|
||||
.attr( 'title', function () {
|
||||
return mw.msg(
|
||||
$( this ).data( 'ct-state' ) === 'collapsed' ?
|
||||
|
@ -134,7 +134,8 @@
|
|||
$link.data( 'ct-loaded', true );
|
||||
|
||||
$children.empty().append(
|
||||
$( '<i class="CategoryTreeNotice"></i>' )
|
||||
$( '<i>' )
|
||||
.addClass( 'CategoryTreeNotice' )
|
||||
.text( mw.msg( 'categorytree-loading' ) )
|
||||
);
|
||||
|
||||
|
@ -184,7 +185,7 @@
|
|||
data = mw.msg( 'categorytree-nothing-found' );
|
||||
}
|
||||
|
||||
$data = $( '<i class="CategoryTreeNotice"></i>' ).text( data );
|
||||
$data = $( '<i>' ).addClass( 'CategoryTreeNotice' ).text( data );
|
||||
} else {
|
||||
$data = $( $.parseHTML( data ) );
|
||||
attachHandler( $data );
|
||||
|
@ -204,6 +205,7 @@
|
|||
|
||||
$( function () {
|
||||
// Attach click handler for sidebar
|
||||
// eslint-disable-next-line no-jquery/no-global-selector
|
||||
attachHandler( $( '#p-categorytree-portlet' ) );
|
||||
} );
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"require-dev": {
|
||||
"mediawiki/mediawiki-codesniffer": "31.0.0",
|
||||
"mediawiki/mediawiki-phan-config": "0.10.2",
|
||||
"mediawiki/minus-x": "1.1.0",
|
||||
"mediawiki/mediawiki-codesniffer": "35.0.0",
|
||||
"mediawiki/mediawiki-phan-config": "0.10.6",
|
||||
"mediawiki/minus-x": "1.1.1",
|
||||
"php-parallel-lint/php-console-highlighter": "0.5.0",
|
||||
"php-parallel-lint/php-parallel-lint": "1.2.0"
|
||||
},
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"license-name": "GPL-2.0-or-later",
|
||||
"type": "parserhook",
|
||||
"requires": {
|
||||
"MediaWiki": ">= 1.34.0"
|
||||
"MediaWiki": ">= 1.35.0"
|
||||
},
|
||||
"MessagesDirs": {
|
||||
"Cite": [
|
||||
|
@ -24,14 +24,21 @@
|
|||
]
|
||||
},
|
||||
"Hooks": {
|
||||
"APIQuerySiteInfoGeneralInfo": "Cite\\Hooks\\CiteHooks::onAPIQuerySiteInfoGeneralInfo",
|
||||
"ContentHandlerDefaultModelFor": "Cite\\Hooks\\CiteHooks::onContentHandlerDefaultModelFor",
|
||||
"ParserAfterParse": "Cite\\Hooks\\CiteParserHooks::onParserAfterParse",
|
||||
"ParserClearState": "Cite\\Hooks\\CiteParserHooks::onParserClearStateOrCloned",
|
||||
"ParserCloned": "Cite\\Hooks\\CiteParserHooks::onParserClearStateOrCloned",
|
||||
"ParserFirstCallInit": "Cite\\Hooks\\CiteParserHooks::onParserFirstCallInit",
|
||||
"ResourceLoaderGetConfigVars": "Cite\\Hooks\\CiteHooks::onResourceLoaderGetConfigVars",
|
||||
"ResourceLoaderRegisterModules": "Cite\\Hooks\\CiteHooks::onResourceLoaderRegisterModules"
|
||||
"APIQuerySiteInfoGeneralInfo": "main",
|
||||
"ContentHandlerDefaultModelFor": "main",
|
||||
"ParserAfterParse": "parser",
|
||||
"ParserClearState": "parser",
|
||||
"ParserCloned": "parser",
|
||||
"ParserFirstCallInit": "parser",
|
||||
"ResourceLoaderGetConfigVars": "main"
|
||||
},
|
||||
"HookHandlers": {
|
||||
"main": {
|
||||
"class": "Cite\\Hooks\\CiteHooks"
|
||||
},
|
||||
"parser": {
|
||||
"class": "Cite\\Hooks\\CiteParserHooks"
|
||||
}
|
||||
},
|
||||
"ResourceModules": {
|
||||
"ext.cite.styles": {
|
||||
|
@ -56,6 +63,143 @@
|
|||
"desktop",
|
||||
"mobile"
|
||||
]
|
||||
},
|
||||
"ext.cite.visualEditor.core": {
|
||||
"localBasePath": "modules/ve-cite",
|
||||
"remoteExtPath": "Cite/modules/ve-cite",
|
||||
"scripts": [
|
||||
"ve.dm.MWReferenceModel.js",
|
||||
"ve.dm.MWReferencesListNode.js",
|
||||
"ve.dm.MWReferenceNode.js",
|
||||
"ve.ce.MWReferencesListNode.js",
|
||||
"ve.ce.MWReferenceNode.js",
|
||||
"ve.ui.MWReferencesListCommand.js"
|
||||
],
|
||||
"styles": [
|
||||
"ve.ce.MWReferencesListNode.css",
|
||||
"ve.ce.MWReferenceNode.css"
|
||||
],
|
||||
"dependencies": [
|
||||
"ext.visualEditor.mwcore",
|
||||
"ext.visualEditor.mwtransclusion"
|
||||
],
|
||||
"messages": [
|
||||
"cite-ve-referenceslist-isempty",
|
||||
"cite-ve-referenceslist-isempty-default",
|
||||
"cite-ve-referenceslist-missingref",
|
||||
"cite-ve-referenceslist-missingref-in-list",
|
||||
"cite-ve-referenceslist-missingreflist",
|
||||
"visualeditor-internal-list-diff-default-group-name-mwreference",
|
||||
"visualeditor-internal-list-diff-group-name-mwreference"
|
||||
],
|
||||
"targets": [
|
||||
"desktop",
|
||||
"mobile"
|
||||
]
|
||||
},
|
||||
"ext.cite.visualEditor.data": {
|
||||
"class": "Cite\\ResourceLoader\\CiteDataModule"
|
||||
},
|
||||
"ext.cite.visualEditor": {
|
||||
"localBasePath": "modules/ve-cite",
|
||||
"remoteExtPath": "Cite/modules/ve-cite",
|
||||
"scripts": [
|
||||
"ve.ui.MWReferenceGroupInputWidget.js",
|
||||
"ve.ui.MWReferenceSearchWidget.js",
|
||||
"ve.ui.MWReferenceResultWidget.js",
|
||||
"ve.ui.MWUseExistingReferenceCommand.js",
|
||||
"ve.ui.MWCitationDialog.js",
|
||||
"ve.ui.MWReferencesListDialog.js",
|
||||
"ve.ui.MWReferenceDialog.js",
|
||||
"ve.ui.MWReferenceDialogTool.js",
|
||||
"ve.ui.MWCitationDialogTool.js",
|
||||
"ve.ui.MWReferenceContextItem.js",
|
||||
"ve.ui.MWReferencesListContextItem.js",
|
||||
"ve.ui.MWCitationContextItem.js",
|
||||
"ve.ui.MWCitationAction.js",
|
||||
"ve.ui.MWReference.init.js",
|
||||
"ve.ui.MWCitationNeededContextItem.js"
|
||||
],
|
||||
"styles": [
|
||||
"ve.ui.MWReferenceDialog.css",
|
||||
"ve.ui.MWReferenceContextItem.css",
|
||||
"ve.ui.MWReferenceGroupInputWidget.css",
|
||||
"ve.ui.MWReferenceResultWidget.css",
|
||||
"ve.ui.MWReferenceSearchWidget.css",
|
||||
"ve.ui.MWCitationDialogTool.css"
|
||||
],
|
||||
"dependencies": [
|
||||
"oojs-ui.styles.icons-alerts",
|
||||
"oojs-ui.styles.icons-editing-citation",
|
||||
"oojs-ui.styles.icons-interactions",
|
||||
"ext.cite.visualEditor.core",
|
||||
"ext.cite.visualEditor.data",
|
||||
"ext.cite.style",
|
||||
"ext.cite.styles",
|
||||
"ext.visualEditor.mwtransclusion",
|
||||
"ext.visualEditor.mediawiki"
|
||||
],
|
||||
"messages": [
|
||||
"cite-ve-changedesc-ref-group-both",
|
||||
"cite-ve-changedesc-ref-group-from",
|
||||
"cite-ve-changedesc-ref-group-to",
|
||||
"cite-ve-changedesc-reflist-group-both",
|
||||
"cite-ve-changedesc-reflist-group-from",
|
||||
"cite-ve-changedesc-reflist-group-to",
|
||||
"cite-ve-changedesc-reflist-responsive-set",
|
||||
"cite-ve-changedesc-reflist-responsive-unset",
|
||||
"cite-ve-citationneeded-button",
|
||||
"cite-ve-citationneeded-description",
|
||||
"cite-ve-citationneeded-reason",
|
||||
"cite-ve-citationneeded-title",
|
||||
"cite-ve-dialog-reference-editing-reused",
|
||||
"cite-ve-dialog-reference-editing-reused-long",
|
||||
"cite-ve-dialog-reference-options-group-label",
|
||||
"cite-ve-dialog-reference-options-group-placeholder",
|
||||
"cite-ve-dialog-reference-options-name-label",
|
||||
"cite-ve-dialog-reference-options-responsive-label",
|
||||
"cite-ve-dialog-reference-options-section",
|
||||
"cite-ve-dialog-reference-placeholder",
|
||||
"cite-ve-dialog-reference-title",
|
||||
"cite-ve-dialog-reference-useexisting-tool",
|
||||
"cite-ve-dialog-referenceslist-contextitem-description-general",
|
||||
"cite-ve-dialog-referenceslist-contextitem-description-named",
|
||||
"cite-ve-dialog-referenceslist-title",
|
||||
"cite-ve-dialogbutton-citation-educationpopup-title",
|
||||
"cite-ve-dialogbutton-citation-educationpopup-text",
|
||||
"cite-ve-dialogbutton-reference-full-label",
|
||||
"cite-ve-dialogbutton-reference-tooltip",
|
||||
"cite-ve-dialogbutton-reference-title",
|
||||
"cite-ve-dialogbutton-referenceslist-tooltip",
|
||||
"cite-ve-reference-input-placeholder",
|
||||
"cite-ve-toolbar-group-label",
|
||||
"cite-ve-othergroup-item",
|
||||
"parentheses",
|
||||
"word-separator"
|
||||
],
|
||||
"targets": [
|
||||
"desktop",
|
||||
"mobile"
|
||||
]
|
||||
},
|
||||
"ext.cite.ux-enhancements": {
|
||||
"localBasePath": "modules",
|
||||
"remoteExtPath": "Cite/modules",
|
||||
"scripts": [
|
||||
"ext.cite.a11y.js",
|
||||
"ext.cite.highlighting.js",
|
||||
"ext.cite.tracking.js"
|
||||
],
|
||||
"styles": [
|
||||
"ext.cite.a11y.css",
|
||||
"ext.cite.highlighting.css"
|
||||
],
|
||||
"messages": [
|
||||
"cite_reference_link_prefix",
|
||||
"cite_references_link_accessibility_label",
|
||||
"cite_references_link_many_accessibility_label",
|
||||
"cite_references_link_accessibility_back_label"
|
||||
]
|
||||
}
|
||||
},
|
||||
"ResourceFileModulePaths": {
|
||||
|
@ -86,8 +230,8 @@
|
|||
},
|
||||
"EventLogging": {
|
||||
"Schemas": {
|
||||
"ReferencePreviewsBaseline": 19489336,
|
||||
"ReferencePreviewsCite": 19489328
|
||||
"ReferencePreviewsBaseline": "/analytics/legacy/referencepreviewsbaseline/1.0.0",
|
||||
"ReferencePreviewsCite": "/analytics/legacy/referencepreviewscite/1.0.0"
|
||||
}
|
||||
},
|
||||
"VisualEditor": {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue