MessagesEn.php 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
  1. <?php
  2. /**
  3. * This is the default English localisation file containing language specific
  4. * information excluding interface strings, which are stored in JSON files.
  5. *
  6. * Please see https://www.mediawiki.org/wiki/Localisation for more information.
  7. * To improve a translation please visit https://translatewiki.net
  8. */
  9. /**
  10. * Fallback language, used for all unspecified messages and behavior. This
  11. * is English by default, for all files other than this one.
  12. *
  13. * Do NOT set this to false in any other message file! Leave the line out to
  14. * accept the default fallback to "en".
  15. */
  16. $fallback = false;
  17. /**
  18. * Is the language written right-to-left?
  19. */
  20. $rtl = false;
  21. /**
  22. * Should all nouns (not just proper ones) be capitalized?
  23. * Enabling this property will add the capitalize-all-nouns class to the <body> tag
  24. */
  25. $capitalizeAllNouns = false;
  26. /**
  27. * Optional array mapping ASCII digits 0-9 to local digits.
  28. */
  29. $digitTransformTable = null;
  30. /**
  31. * Transform table for decimal point '.' and thousands separator ','
  32. */
  33. $separatorTransformTable = null;
  34. /**
  35. * Extra user preferences, which will be shown in Special:Preferences as
  36. * checkboxes. Extra settings in derived languages will automatically be
  37. * appended to the array of the fallback languages.
  38. */
  39. $extraUserToggles = [];
  40. /**
  41. * URLs do not specify their encoding. UTF-8 is used by default, but if the
  42. * URL is not a valid UTF-8 sequence, we have to try to guess what the real
  43. * encoding is. The encoding used in this case is defined below, and must be
  44. * supported by iconv().
  45. */
  46. $fallback8bitEncoding = 'windows-1252';
  47. /**
  48. * To allow "foo[[bar]]" to extend the link over the whole word "foobar"
  49. */
  50. $linkPrefixExtension = false;
  51. /**
  52. * Namespace names. NS_PROJECT is always set to $wgMetaNamespace after the
  53. * settings are loaded, it will be ignored even if you specify it here.
  54. *
  55. * NS_PROJECT_TALK will be set to $wgMetaNamespaceTalk if that variable is
  56. * set, otherwise the string specified here will be used. The string may
  57. * contain "$1", which will be replaced by the name of NS_PROJECT. It may
  58. * also contain a grammatical transformation, e.g.
  59. *
  60. * NS_PROJECT_TALK => 'Keskustelu_{{grammar:elative|$1}}'
  61. *
  62. * Only one grammatical transform may be specified in the string. For
  63. * performance reasons, this transformation is done locally by the language
  64. * module rather than by the full wikitext parser. As a result, no other
  65. * parser features are available.
  66. */
  67. $namespaceNames = [
  68. NS_MEDIA => 'Media',
  69. NS_SPECIAL => 'Special',
  70. NS_MAIN => '',
  71. NS_TALK => 'Talk',
  72. NS_USER => 'User',
  73. NS_USER_TALK => 'User_talk',
  74. # NS_PROJECT set by $wgMetaNamespace
  75. NS_PROJECT_TALK => '$1_talk',
  76. NS_FILE => 'File',
  77. NS_FILE_TALK => 'File_talk',
  78. NS_MEDIAWIKI => 'MediaWiki',
  79. NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
  80. NS_TEMPLATE => 'Template',
  81. NS_TEMPLATE_TALK => 'Template_talk',
  82. NS_HELP => 'Help',
  83. NS_HELP_TALK => 'Help_talk',
  84. NS_CATEGORY => 'Category',
  85. NS_CATEGORY_TALK => 'Category_talk',
  86. ];
  87. /**
  88. * Array of namespace aliases, mapping from name to NS_xxx index
  89. */
  90. $namespaceAliases = [];
  91. /**
  92. * Array of gender specific. namespace aliases.
  93. * Mapping NS_xxx to array of GENDERKEY to alias.
  94. * Example:
  95. * @code
  96. * $namespaceGenderAliases = [
  97. * NS_USER => [ 'male' => 'Male_user', 'female' => 'Female_user' ],
  98. * ];
  99. * @endcode
  100. */
  101. $namespaceGenderAliases = [];
  102. /**
  103. * A list of date format preference keys, which can be selected in user
  104. * preferences. New preference keys can be added, provided they are supported
  105. * by the language class's timeanddate(). Only the 5 keys listed below are
  106. * supported by the wikitext converter (parser/DateFormatter.php).
  107. *
  108. * The special key "default" is an alias for either dmy or mdy depending on
  109. * $wgAmericanDates
  110. */
  111. $datePreferences = [
  112. 'default',
  113. 'mdy',
  114. 'dmy',
  115. 'ymd',
  116. 'ISO 8601',
  117. ];
  118. /**
  119. * The date format to use for generated dates in the user interface.
  120. * This may be one of the above date preferences, or the special value
  121. * "dmy or mdy", which uses mdy if $wgAmericanDates is true, and dmy
  122. * if $wgAmericanDates is false.
  123. */
  124. $defaultDateFormat = 'dmy or mdy';
  125. /**
  126. * Associative array mapping old numeric date formats, which may still be
  127. * stored in user preferences, to the new string formats.
  128. */
  129. $datePreferenceMigrationMap = [
  130. 'default',
  131. 'mdy',
  132. 'dmy',
  133. 'ymd'
  134. ];
  135. /**
  136. * These are formats for dates generated by MediaWiki (as opposed to the wikitext
  137. * DateFormatter). Documentation for the format string can be found in
  138. * Language.php, search for sprintfDate.
  139. *
  140. * This array is automatically inherited by all subclasses. Individual keys can be
  141. * overridden.
  142. */
  143. $dateFormats = [
  144. 'mdy time' => 'H:i',
  145. 'mdy date' => 'F j, Y',
  146. 'mdy monthonly' => 'F Y',
  147. 'mdy both' => 'H:i, F j, Y',
  148. 'mdy pretty' => 'F j',
  149. 'dmy time' => 'H:i',
  150. 'dmy date' => 'j F Y',
  151. 'dmy monthonly' => 'F Y',
  152. 'dmy both' => 'H:i, j F Y',
  153. 'dmy pretty' => 'j F',
  154. 'ymd time' => 'H:i',
  155. 'ymd date' => 'Y F j',
  156. 'ymd monthonly' => 'Y F',
  157. 'ymd both' => 'H:i, Y F j',
  158. 'ymd pretty' => 'F j',
  159. 'ISO 8601 time' => 'xnH:xni:xns',
  160. 'ISO 8601 date' => 'xnY-xnm-xnd',
  161. 'ISO 8601 monthonly' => 'xnY-xnm',
  162. 'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',
  163. 'ISO 8601 pretty' => 'xnm-xnd'
  164. ];
  165. /**
  166. * Default list of book sources
  167. */
  168. $bookstoreList = [
  169. 'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
  170. 'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
  171. 'Amazon.com' => 'https://www.amazon.com/gp/search/?field-isbn=$1'
  172. ];
  173. /**
  174. * Magic words
  175. * Customizable syntax for wikitext and elsewhere.
  176. *
  177. * IDs must be valid identifiers, they cannot contain hyphens.
  178. * CASE is 0 to match all case variants, 1 for case-sensitive
  179. *
  180. * Note to localisers:
  181. * - Include the English magic words as synonyms. This allows people from
  182. * other wikis that do not speak the language to contribute more easily.
  183. * - The first alias listed MUST be the preferred alias in that language.
  184. * Tools (like Visual Editor) are expected to use the first listed alias
  185. * when editing or creating new content.
  186. * - Order the other aliases so that common aliases occur before more rarely
  187. * used aliases. The aliases SHOULD be sorted by the following convention:
  188. * 1. Local first, English last, then
  189. * 2. Most common first, least common last.
  190. *
  191. * This array can be modified at runtime with the LanguageGetMagic hook
  192. */
  193. $magicWords = [
  194. # ID CASE SYNONYMS
  195. 'redirect' => [ 0, '#REDIRECT' ],
  196. 'notoc' => [ 0, '__NOTOC__' ],
  197. 'nogallery' => [ 0, '__NOGALLERY__' ],
  198. 'forcetoc' => [ 0, '__FORCETOC__' ],
  199. 'toc' => [ 0, '__TOC__' ],
  200. 'noeditsection' => [ 0, '__NOEDITSECTION__' ],
  201. '!' => [ 1, '!' ],
  202. 'currentmonth' => [ 1, 'CURRENTMONTH', 'CURRENTMONTH2' ],
  203. 'currentmonth1' => [ 1, 'CURRENTMONTH1' ],
  204. 'currentmonthname' => [ 1, 'CURRENTMONTHNAME' ],
  205. 'currentmonthnamegen' => [ 1, 'CURRENTMONTHNAMEGEN' ],
  206. 'currentmonthabbrev' => [ 1, 'CURRENTMONTHABBREV' ],
  207. 'currentday' => [ 1, 'CURRENTDAY' ],
  208. 'currentday2' => [ 1, 'CURRENTDAY2' ],
  209. 'currentdayname' => [ 1, 'CURRENTDAYNAME' ],
  210. 'currentyear' => [ 1, 'CURRENTYEAR' ],
  211. 'currenttime' => [ 1, 'CURRENTTIME' ],
  212. 'currenthour' => [ 1, 'CURRENTHOUR' ],
  213. 'localmonth' => [ 1, 'LOCALMONTH', 'LOCALMONTH2' ],
  214. 'localmonth1' => [ 1, 'LOCALMONTH1' ],
  215. 'localmonthname' => [ 1, 'LOCALMONTHNAME' ],
  216. 'localmonthnamegen' => [ 1, 'LOCALMONTHNAMEGEN' ],
  217. 'localmonthabbrev' => [ 1, 'LOCALMONTHABBREV' ],
  218. 'localday' => [ 1, 'LOCALDAY' ],
  219. 'localday2' => [ 1, 'LOCALDAY2' ],
  220. 'localdayname' => [ 1, 'LOCALDAYNAME' ],
  221. 'localyear' => [ 1, 'LOCALYEAR' ],
  222. 'localtime' => [ 1, 'LOCALTIME' ],
  223. 'localhour' => [ 1, 'LOCALHOUR' ],
  224. 'numberofpages' => [ 1, 'NUMBEROFPAGES' ],
  225. 'numberofarticles' => [ 1, 'NUMBEROFARTICLES' ],
  226. 'numberoffiles' => [ 1, 'NUMBEROFFILES' ],
  227. 'numberofusers' => [ 1, 'NUMBEROFUSERS' ],
  228. 'numberofactiveusers' => [ 1, 'NUMBEROFACTIVEUSERS' ],
  229. 'numberofedits' => [ 1, 'NUMBEROFEDITS' ],
  230. 'pagename' => [ 1, 'PAGENAME' ],
  231. 'pagenamee' => [ 1, 'PAGENAMEE' ],
  232. 'namespace' => [ 1, 'NAMESPACE' ],
  233. 'namespacee' => [ 1, 'NAMESPACEE' ],
  234. 'namespacenumber' => [ 1, 'NAMESPACENUMBER' ],
  235. 'talkspace' => [ 1, 'TALKSPACE' ],
  236. 'talkspacee' => [ 1, 'TALKSPACEE' ],
  237. 'subjectspace' => [ 1, 'SUBJECTSPACE', 'ARTICLESPACE' ],
  238. 'subjectspacee' => [ 1, 'SUBJECTSPACEE', 'ARTICLESPACEE' ],
  239. 'fullpagename' => [ 1, 'FULLPAGENAME' ],
  240. 'fullpagenamee' => [ 1, 'FULLPAGENAMEE' ],
  241. 'subpagename' => [ 1, 'SUBPAGENAME' ],
  242. 'subpagenamee' => [ 1, 'SUBPAGENAMEE' ],
  243. 'rootpagename' => [ 1, 'ROOTPAGENAME' ],
  244. 'rootpagenamee' => [ 1, 'ROOTPAGENAMEE' ],
  245. 'basepagename' => [ 1, 'BASEPAGENAME' ],
  246. 'basepagenamee' => [ 1, 'BASEPAGENAMEE' ],
  247. 'talkpagename' => [ 1, 'TALKPAGENAME' ],
  248. 'talkpagenamee' => [ 1, 'TALKPAGENAMEE' ],
  249. 'subjectpagename' => [ 1, 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ],
  250. 'subjectpagenamee' => [ 1, 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ],
  251. 'msg' => [ 0, 'MSG:' ],
  252. 'subst' => [ 0, 'SUBST:' ],
  253. 'safesubst' => [ 0, 'SAFESUBST:' ],
  254. 'msgnw' => [ 0, 'MSGNW:' ],
  255. 'img_thumbnail' => [ 1, 'thumb', 'thumbnail' ],
  256. 'img_manualthumb' => [ 1, 'thumbnail=$1', 'thumb=$1' ],
  257. 'img_right' => [ 1, 'right' ],
  258. 'img_left' => [ 1, 'left' ],
  259. 'img_none' => [ 1, 'none' ],
  260. 'img_width' => [ 1, '$1px' ],
  261. 'img_center' => [ 1, 'center', 'centre' ],
  262. 'img_framed' => [ 1, 'frame', 'framed', 'enframed' ],
  263. 'img_frameless' => [ 1, 'frameless' ],
  264. 'img_lang' => [ 1, 'lang=$1' ],
  265. 'img_page' => [ 1, 'page=$1', 'page $1' ],
  266. 'img_upright' => [ 1, 'upright', 'upright=$1', 'upright $1' ],
  267. 'img_border' => [ 1, 'border' ],
  268. 'img_baseline' => [ 1, 'baseline' ],
  269. 'img_sub' => [ 1, 'sub' ],
  270. 'img_super' => [ 1, 'super', 'sup' ],
  271. 'img_top' => [ 1, 'top' ],
  272. 'img_text_top' => [ 1, 'text-top' ],
  273. 'img_middle' => [ 1, 'middle' ],
  274. 'img_bottom' => [ 1, 'bottom' ],
  275. 'img_text_bottom' => [ 1, 'text-bottom' ],
  276. 'img_link' => [ 1, 'link=$1' ],
  277. 'img_alt' => [ 1, 'alt=$1' ],
  278. 'img_class' => [ 1, 'class=$1' ],
  279. 'int' => [ 0, 'INT:' ],
  280. 'sitename' => [ 1, 'SITENAME' ],
  281. 'ns' => [ 0, 'NS:' ],
  282. 'nse' => [ 0, 'NSE:' ],
  283. 'localurl' => [ 0, 'LOCALURL:' ],
  284. 'localurle' => [ 0, 'LOCALURLE:' ],
  285. 'articlepath' => [ 0, 'ARTICLEPATH' ],
  286. 'pageid' => [ 0, 'PAGEID' ],
  287. 'server' => [ 0, 'SERVER' ],
  288. 'servername' => [ 0, 'SERVERNAME' ],
  289. 'scriptpath' => [ 0, 'SCRIPTPATH' ],
  290. 'stylepath' => [ 0, 'STYLEPATH' ],
  291. 'grammar' => [ 0, 'GRAMMAR:' ],
  292. 'gender' => [ 0, 'GENDER:' ],
  293. 'bidi' => [ 0, 'BIDI:' ],
  294. 'notitleconvert' => [ 0, '__NOTITLECONVERT__', '__NOTC__' ],
  295. 'nocontentconvert' => [ 0, '__NOCONTENTCONVERT__', '__NOCC__' ],
  296. 'currentweek' => [ 1, 'CURRENTWEEK' ],
  297. 'currentdow' => [ 1, 'CURRENTDOW' ],
  298. 'localweek' => [ 1, 'LOCALWEEK' ],
  299. 'localdow' => [ 1, 'LOCALDOW' ],
  300. 'revisionid' => [ 1, 'REVISIONID' ],
  301. 'revisionday' => [ 1, 'REVISIONDAY' ],
  302. 'revisionday2' => [ 1, 'REVISIONDAY2' ],
  303. 'revisionmonth' => [ 1, 'REVISIONMONTH' ],
  304. 'revisionmonth1' => [ 1, 'REVISIONMONTH1' ],
  305. 'revisionyear' => [ 1, 'REVISIONYEAR' ],
  306. 'revisiontimestamp' => [ 1, 'REVISIONTIMESTAMP' ],
  307. 'revisionuser' => [ 1, 'REVISIONUSER' ],
  308. 'revisionsize' => [ 1, 'REVISIONSIZE' ],
  309. 'plural' => [ 0, 'PLURAL:' ],
  310. 'fullurl' => [ 0, 'FULLURL:' ],
  311. 'fullurle' => [ 0, 'FULLURLE:' ],
  312. 'canonicalurl' => [ 0, 'CANONICALURL:' ],
  313. 'canonicalurle' => [ 0, 'CANONICALURLE:' ],
  314. 'lcfirst' => [ 0, 'LCFIRST:' ],
  315. 'ucfirst' => [ 0, 'UCFIRST:' ],
  316. 'lc' => [ 0, 'LC:' ],
  317. 'uc' => [ 0, 'UC:' ],
  318. 'raw' => [ 0, 'RAW:' ],
  319. 'displaytitle' => [ 1, 'DISPLAYTITLE' ],
  320. 'rawsuffix' => [ 1, 'R' ],
  321. 'nocommafysuffix' => [ 0, 'NOSEP' ],
  322. 'newsectionlink' => [ 1, '__NEWSECTIONLINK__' ],
  323. 'nonewsectionlink' => [ 1, '__NONEWSECTIONLINK__' ],
  324. 'currentversion' => [ 1, 'CURRENTVERSION' ],
  325. 'urlencode' => [ 0, 'URLENCODE:' ],
  326. 'anchorencode' => [ 0, 'ANCHORENCODE' ],
  327. 'currenttimestamp' => [ 1, 'CURRENTTIMESTAMP' ],
  328. 'localtimestamp' => [ 1, 'LOCALTIMESTAMP' ],
  329. 'directionmark' => [ 1, 'DIRECTIONMARK', 'DIRMARK' ],
  330. 'language' => [ 0, '#LANGUAGE:' ],
  331. 'contentlanguage' => [ 1, 'CONTENTLANGUAGE', 'CONTENTLANG' ],
  332. 'pagelanguage' => [ 1, 'PAGELANGUAGE' ],
  333. 'pagesinnamespace' => [ 1, 'PAGESINNAMESPACE:', 'PAGESINNS:' ],
  334. 'numberofadmins' => [ 1, 'NUMBEROFADMINS' ],
  335. 'formatnum' => [ 0, 'FORMATNUM' ],
  336. 'padleft' => [ 0, 'PADLEFT' ],
  337. 'padright' => [ 0, 'PADRIGHT' ],
  338. 'special' => [ 0, 'special' ],
  339. 'speciale' => [ 0, 'speciale' ],
  340. 'defaultsort' => [ 1, 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ],
  341. 'filepath' => [ 0, 'FILEPATH:' ],
  342. 'tag' => [ 0, 'tag' ],
  343. 'hiddencat' => [ 1, '__HIDDENCAT__' ],
  344. 'pagesincategory' => [ 1, 'PAGESINCATEGORY', 'PAGESINCAT' ],
  345. 'pagesize' => [ 1, 'PAGESIZE' ],
  346. 'index' => [ 1, '__INDEX__' ],
  347. 'noindex' => [ 1, '__NOINDEX__' ],
  348. 'numberingroup' => [ 1, 'NUMBERINGROUP', 'NUMINGROUP' ],
  349. 'staticredirect' => [ 1, '__STATICREDIRECT__' ],
  350. 'protectionlevel' => [ 1, 'PROTECTIONLEVEL' ],
  351. 'protectionexpiry' => [ 1, 'PROTECTIONEXPIRY' ],
  352. 'cascadingsources' => [ 1, 'CASCADINGSOURCES' ],
  353. 'formatdate' => [ 0, 'formatdate', 'dateformat' ],
  354. 'url_path' => [ 0, 'PATH' ],
  355. 'url_wiki' => [ 0, 'WIKI' ],
  356. 'url_query' => [ 0, 'QUERY' ],
  357. 'defaultsort_noerror' => [ 0, 'noerror' ],
  358. 'defaultsort_noreplace' => [ 0, 'noreplace' ],
  359. 'displaytitle_noerror' => [ 0, 'noerror' ],
  360. 'displaytitle_noreplace' => [ 0, 'noreplace' ],
  361. 'pagesincategory_all' => [ 0, 'all' ],
  362. 'pagesincategory_pages' => [ 0, 'pages' ],
  363. 'pagesincategory_subcats' => [ 0, 'subcats' ],
  364. 'pagesincategory_files' => [ 0, 'files' ],
  365. ];
  366. /**
  367. * Alternate names of special pages. All names are case-insensitive. The first
  368. * listed alias will be used as the default. Aliases from the fallback
  369. * localisation (usually English) will be included by default.
  370. *
  371. * This array may be altered at runtime using the LanguageGetSpecialPageAliases
  372. * hook.
  373. */
  374. $specialPageAliases = [
  375. 'Activeusers' => [ 'ActiveUsers' ],
  376. 'Allmessages' => [ 'AllMessages' ],
  377. 'AllMyUploads' => [ 'AllMyUploads', 'AllMyFiles' ],
  378. 'Allpages' => [ 'AllPages' ],
  379. 'ApiHelp' => [ 'ApiHelp' ],
  380. 'ApiSandbox' => [ 'ApiSandbox' ],
  381. 'Ancientpages' => [ 'AncientPages' ],
  382. 'AutoblockList' => [ 'AutoblockList', 'ListAutoblocks' ],
  383. 'Badtitle' => [ 'Badtitle' ],
  384. 'Blankpage' => [ 'BlankPage' ],
  385. 'Block' => [ 'Block', 'BlockIP', 'BlockUser' ],
  386. 'Booksources' => [ 'BookSources' ],
  387. 'BotPasswords' => [ 'BotPasswords' ],
  388. 'BrokenRedirects' => [ 'BrokenRedirects' ],
  389. 'Categories' => [ 'Categories' ],
  390. 'ChangeContentModel' => [ 'ChangeContentModel' ],
  391. 'ChangeCredentials' => [ 'ChangeCredentials' ],
  392. 'ChangeEmail' => [ 'ChangeEmail' ],
  393. 'ChangePassword' => [ 'ChangePassword', 'ResetPass', 'ResetPassword' ],
  394. 'ComparePages' => [ 'ComparePages' ],
  395. 'Confirmemail' => [ 'ConfirmEmail' ],
  396. 'Contributions' => [ 'Contributions', 'Contribs' ],
  397. 'CreateAccount' => [ 'CreateAccount' ],
  398. 'Deadendpages' => [ 'DeadendPages' ],
  399. 'DeletedContributions' => [ 'DeletedContributions' ],
  400. 'Diff' => [ 'Diff' ],
  401. 'DoubleRedirects' => [ 'DoubleRedirects' ],
  402. 'EditTags' => [ 'EditTags' ],
  403. 'EditWatchlist' => [ 'EditWatchlist' ],
  404. 'Emailuser' => [ 'EmailUser', 'Email' ],
  405. 'ExpandTemplates' => [ 'ExpandTemplates' ],
  406. 'Export' => [ 'Export' ],
  407. 'Fewestrevisions' => [ 'FewestRevisions' ],
  408. 'FileDuplicateSearch' => [ 'FileDuplicateSearch' ],
  409. 'Filepath' => [ 'FilePath' ],
  410. 'GoToInterwiki' => [ 'GoToInterwiki' ],
  411. 'Import' => [ 'Import' ],
  412. 'Invalidateemail' => [ 'InvalidateEmail' ],
  413. 'JavaScriptTest' => [ 'JavaScriptTest' ],
  414. 'BlockList' => [ 'BlockList', 'ListBlocks', 'IPBlockList' ],
  415. 'LinkSearch' => [ 'LinkSearch' ],
  416. 'LinkAccounts' => [ 'LinkAccounts' ],
  417. 'Listadmins' => [ 'ListAdmins' ],
  418. 'Listbots' => [ 'ListBots' ],
  419. 'Listfiles' => [ 'ListFiles', 'FileList', 'ImageList' ],
  420. 'Listgrouprights' => [ 'ListGroupRights', 'UserGroupRights' ],
  421. 'Listgrants' => [ 'ListGrants' ],
  422. 'Listredirects' => [ 'ListRedirects' ],
  423. 'ListDuplicatedFiles' => [ 'ListDuplicatedFiles', 'ListFileDuplicates' ],
  424. 'Listusers' => [ 'ListUsers', 'UserList' ],
  425. 'Lockdb' => [ 'LockDB' ],
  426. 'Log' => [ 'Log', 'Logs' ],
  427. 'Lonelypages' => [ 'LonelyPages', 'OrphanedPages' ],
  428. 'Longpages' => [ 'LongPages' ],
  429. 'MediaStatistics' => [ 'MediaStatistics' ],
  430. 'MergeHistory' => [ 'MergeHistory' ],
  431. 'MIMEsearch' => [ 'MIMESearch' ],
  432. 'Mostcategories' => [ 'MostCategories' ],
  433. 'Mostimages' => [ 'MostLinkedFiles', 'MostFiles', 'MostImages' ],
  434. 'Mostinterwikis' => [ 'MostInterwikis' ],
  435. 'Mostlinked' => [ 'MostLinkedPages', 'MostLinked' ],
  436. 'Mostlinkedcategories' => [ 'MostLinkedCategories', 'MostUsedCategories' ],
  437. 'Mostlinkedtemplates' => [ 'MostTranscludedPages', 'MostLinkedTemplates', 'MostUsedTemplates' ],
  438. 'Mostrevisions' => [ 'MostRevisions' ],
  439. 'Movepage' => [ 'MovePage' ],
  440. 'Mycontributions' => [ 'MyContributions' ],
  441. 'MyLanguage' => [ 'MyLanguage' ],
  442. 'Mypage' => [ 'MyPage' ],
  443. 'Mytalk' => [ 'MyTalk' ],
  444. 'Myuploads' => [ 'MyUploads', 'MyFiles' ],
  445. 'Newimages' => [ 'NewFiles', 'NewImages' ],
  446. 'Newpages' => [ 'NewPages' ],
  447. 'PagesWithProp' => [ 'PagesWithProp', 'Pageswithprop', 'PagesByProp', 'Pagesbyprop' ],
  448. 'PageData' => [ 'PageData' ],
  449. 'PageLanguage' => [ 'PageLanguage' ],
  450. 'PasswordReset' => [ 'PasswordReset' ],
  451. 'PermanentLink' => [ 'PermanentLink', 'PermaLink' ],
  452. 'Preferences' => [ 'Preferences' ],
  453. 'Prefixindex' => [ 'PrefixIndex' ],
  454. 'Protectedpages' => [ 'ProtectedPages' ],
  455. 'Protectedtitles' => [ 'ProtectedTitles' ],
  456. 'Randompage' => [ 'Random', 'RandomPage' ],
  457. 'RandomInCategory' => [ 'RandomInCategory' ],
  458. 'Randomredirect' => [ 'RandomRedirect' ],
  459. 'Randomrootpage' => [ 'RandomRootpage' ],
  460. 'Recentchanges' => [ 'RecentChanges' ],
  461. 'Recentchangeslinked' => [ 'RecentChangesLinked', 'RelatedChanges' ],
  462. 'Redirect' => [ 'Redirect' ],
  463. 'RemoveCredentials' => [ 'RemoveCredentials' ],
  464. 'ResetTokens' => [ 'ResetTokens' ],
  465. 'Revisiondelete' => [ 'RevisionDelete' ],
  466. 'RunJobs' => [ 'RunJobs' ],
  467. 'Search' => [ 'Search' ],
  468. 'Shortpages' => [ 'ShortPages' ],
  469. 'Specialpages' => [ 'SpecialPages' ],
  470. 'Statistics' => [ 'Statistics', 'Stats' ],
  471. 'Tags' => [ 'Tags' ],
  472. 'TrackingCategories' => [ 'TrackingCategories' ],
  473. 'Unblock' => [ 'Unblock' ],
  474. 'Uncategorizedcategories' => [ 'UncategorizedCategories' ],
  475. 'Uncategorizedimages' => [ 'UncategorizedFiles', 'UncategorizedImages' ],
  476. 'Uncategorizedpages' => [ 'UncategorizedPages' ],
  477. 'Uncategorizedtemplates' => [ 'UncategorizedTemplates' ],
  478. 'Undelete' => [ 'Undelete' ],
  479. 'UnlinkAccounts' => [ 'UnlinkAccounts' ],
  480. 'Unlockdb' => [ 'UnlockDB' ],
  481. 'Unusedcategories' => [ 'UnusedCategories' ],
  482. 'Unusedimages' => [ 'UnusedFiles', 'UnusedImages' ],
  483. 'Unusedtemplates' => [ 'UnusedTemplates' ],
  484. 'Unwatchedpages' => [ 'UnwatchedPages' ],
  485. 'Upload' => [ 'Upload' ],
  486. 'UploadStash' => [ 'UploadStash' ],
  487. 'Userlogin' => [ 'UserLogin', 'Login' ],
  488. 'Userlogout' => [ 'UserLogout', 'Logout' ],
  489. 'Userrights' => [ 'UserRights', 'MakeSysop', 'MakeBot' ],
  490. 'Version' => [ 'Version' ],
  491. 'Wantedcategories' => [ 'WantedCategories' ],
  492. 'Wantedfiles' => [ 'WantedFiles' ],
  493. 'Wantedpages' => [ 'WantedPages', 'BrokenLinks' ],
  494. 'Wantedtemplates' => [ 'WantedTemplates' ],
  495. 'Watchlist' => [ 'Watchlist' ],
  496. 'Whatlinkshere' => [ 'WhatLinksHere' ],
  497. 'Withoutinterwiki' => [ 'WithoutInterwiki' ],
  498. ];
  499. /**
  500. * Regular expression matching the "link trail", e.g. "ed" in [[Toast]]ed, as
  501. * the first group, and the remainder of the string as the second group.
  502. */
  503. $linkTrail = '/^([a-z]+)(.*)$/sD';
  504. /**
  505. * Regular expression charset matching the "link prefix", e.g. "foo" in
  506. * foo[[bar]]. UTF-8 characters may be used.
  507. */
  508. $linkPrefixCharset = 'a-zA-Z\\x{80}-\\x{10ffff}';
  509. /**
  510. * List of filenames for some ui images that can be overridden per language
  511. * basis if needed.
  512. */
  513. $imageFiles = [
  514. 'button-bold' => 'en/button_bold.png',
  515. 'button-italic' => 'en/button_italic.png',
  516. 'button-link' => 'en/button_link.png',
  517. 'button-extlink' => 'en/button_extlink.png',
  518. 'button-headline' => 'en/button_headline.png',
  519. 'button-image' => 'en/button_image.png',
  520. 'button-media' => 'en/button_media.png',
  521. 'button-nowiki' => 'en/button_nowiki.png',
  522. 'button-sig' => 'en/button_sig.png',
  523. 'button-hr' => 'en/button_hr.png',
  524. ];
  525. /**
  526. * A list of messages to preload for each request.
  527. * Here we add messages that are needed for a typical anonymous parser cache hit.
  528. */
  529. $preloadedMessages = [
  530. 'aboutpage',
  531. 'aboutsite',
  532. 'accesskey-ca-edit',
  533. 'accesskey-ca-history',
  534. 'accesskey-ca-nstab-main',
  535. 'accesskey-ca-talk',
  536. 'accesskey-ca-viewsource',
  537. 'accesskey-n-currentevents',
  538. 'accesskey-n-help',
  539. 'accesskey-n-mainpage-description',
  540. 'accesskey-n-portal',
  541. 'accesskey-n-randompage',
  542. 'accesskey-n-recentchanges',
  543. 'accesskey-p-logo',
  544. 'accesskey-pt-login',
  545. 'accesskey-pt-createaccount',
  546. 'accesskey-search',
  547. 'accesskey-search-fulltext',
  548. 'accesskey-search-go',
  549. 'accesskey-t-info',
  550. 'accesskey-t-permalink',
  551. 'accesskey-t-print',
  552. 'accesskey-t-recentchangeslinked',
  553. 'accesskey-t-specialpages',
  554. 'accesskey-t-whatlinkshere',
  555. 'actions',
  556. 'anonnotice',
  557. 'brackets',
  558. 'comma-separator',
  559. 'currentevents',
  560. 'currentevents-url',
  561. 'disclaimerpage',
  562. 'disclaimers',
  563. 'edit',
  564. 'editsection',
  565. 'editsectionhint',
  566. 'help',
  567. 'helppage',
  568. 'interlanguage-link-title',
  569. 'jumpto',
  570. 'jumptonavigation',
  571. 'jumptosearch',
  572. 'lastmodifiedat',
  573. 'mainpage',
  574. 'mainpage-description',
  575. 'mainpage-nstab',
  576. 'namespaces',
  577. 'navigation',
  578. 'nav-login-createaccount',
  579. 'nstab-main',
  580. 'opensearch-desc',
  581. 'pagecategories',
  582. 'pagecategorieslink',
  583. 'pagetitle',
  584. 'pagetitle-view-mainpage',
  585. 'permalink',
  586. 'personaltools',
  587. 'portal',
  588. 'portal-url',
  589. 'printableversion',
  590. 'privacy',
  591. 'privacypage',
  592. 'randompage',
  593. 'randompage-url',
  594. 'recentchanges',
  595. 'recentchangeslinked-toolbox',
  596. 'recentchanges-url',
  597. 'retrievedfrom',
  598. 'search',
  599. 'searcharticle',
  600. 'searchbutton',
  601. 'searchsuggest-search',
  602. 'sidebar',
  603. 'navigation-heading',
  604. 'site-atom-feed',
  605. 'sitenotice',
  606. 'specialpages',
  607. 'tagline',
  608. 'talk',
  609. 'toolbox',
  610. 'tooltip-ca-edit',
  611. 'tooltip-ca-history',
  612. 'tooltip-ca-nstab-main',
  613. 'tooltip-ca-talk',
  614. 'tooltip-ca-viewsource',
  615. 'tooltip-n-currentevents',
  616. 'tooltip-n-help',
  617. 'tooltip-n-mainpage-description',
  618. 'tooltip-n-portal',
  619. 'tooltip-n-randompage',
  620. 'tooltip-n-recentchanges',
  621. 'tooltip-p-logo',
  622. 'tooltip-pt-login',
  623. 'tooltip-pt-createaccount',
  624. 'tooltip-search',
  625. 'tooltip-search-fulltext',
  626. 'tooltip-search-go',
  627. 'tooltip-t-info',
  628. 'tooltip-t-permalink',
  629. 'tooltip-t-print',
  630. 'tooltip-t-recentchangeslinked',
  631. 'tooltip-t-specialpages',
  632. 'tooltip-t-whatlinkshere',
  633. 'variants',
  634. 'vector-view-edit',
  635. 'vector-view-history',
  636. 'vector-view-view',
  637. 'viewcount',
  638. 'views',
  639. 'whatlinkshere',
  640. 'word-separator',
  641. ];