Please enter a well-formatted address or empty that field.',
'cannotchangeemail' => 'Account email addresses cannot be changed on this wiki.',
'emaildisabled' => 'This site cannot send emails.',
+'emailsender' => '{{SITENAME}}', # do not translate or duplicate this message to other languages
'accountcreated' => 'Account created',
'accountcreatedtext' => 'The user account for [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) has been created.',
'createaccount-title' => 'Account creation for {{SITENAME}}',
# Account creation failure
'cantcreateaccounttitle' => 'Cannot create account',
+'cantcreateaccount-range-text' => "Account creation from IP addresses in the range '''$1''', which includes your IP address ('''$4'''), has been blocked by [[User:$3|$3]].
+
+The reason given by $3 is ''$2''",
'cantcreateaccount-text' => "Account creation from this IP address ('''$1''') has been blocked by [[User:$3|$3]].
The reason given by $3 is ''$2''",
Other administrators on {{SITENAME}} will still be able to access the hidden content and can undelete it again through this same interface, unless additional restrictions are set.",
'revdelete-confirm' => 'Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].',
'revdelete-suppress-text' => "Suppression should '''only''' be used for the following cases:
-* Potentially libelous information
-* Inappropriate personal information
+* potentially libelous information
+* inappropriate personal information
*: ''home addresses and telephone numbers, national identification numbers, etc.''",
'revdelete-legend' => 'Set visibility restrictions',
'revdelete-hide-text' => 'Revision text',
'recentchanges-label-bot' => 'This edit was performed by a bot',
'recentchanges-label-unpatrolled' => 'This edit has not yet been patrolled',
'recentchanges-label-plusminus' => 'The page size changed by this number of bytes',
+'recentchanges-legend-heading' => "'''Legend:'''",
'recentchanges-legend-newpage' => '(also see [[Special:NewPages|list of new pages]])',
'recentchanges-legend-plusminus' => "(''±123'')",
'rcnotefrom' => "Below are the changes since '''$2''' (up to '''$1''' shown).",
'rclistfrom' => 'Show new changes starting from $1',
'rcshowhideminor' => '$1 minor edits',
'rcshowhidebots' => '$1 bots',
-'rcshowhideliu' => '$1 logged-in users',
+'rcshowhideliu' => '$1 registered users',
'rcshowhideanons' => '$1 anonymous users',
'rcshowhidepatr' => '$1 patrolled edits',
'rcshowhidemine' => '$1 my edits',
'file-exists-duplicate' => 'This file is a duplicate of the following {{PLURAL:$1|file|files}}:',
'file-deleted-duplicate' => "A file identical to this file ([[:$1]]) has previously been deleted.
You should check that file's deletion history before proceeding to re-upload it.",
+'file-deleted-duplicate-notitle' => "A file identical to this file has previously been deleted, and the title has been suppressed.
+You should ask someone with the ability to view suppressed file data to review the situation before proceeding to re-upload it.",
'uploadwarning' => 'Upload warning',
'uploadwarning-text' => 'Please modify the file description below and try again.',
'savefile' => 'Save file',
'protectedpages-indef' => 'Indefinite protections only',
'protectedpages-summary' => '', # do not translate or duplicate this message to other languages
'protectedpages-cascade' => 'Cascading protections only',
+'protectedpages-noredirect' => 'Hide redirects',
'protectedpagesempty' => 'No pages are currently protected with these parameters.',
'protectedtitles' => 'Protected titles',
'protectedtitles-summary' => '', # do not translate or duplicate this message to other languages
'historywarning' => "'''Warning:''' The page you are about to delete has a history with approximately $1 {{PLURAL:$1|revision|revisions}}:",
'confirmdeletetext' => 'You are about to delete a page along with all of its history.
Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].',
+'deleting-backlinks-warning' => "'''Warning:''' Other pages link to the page you are about to delete.",
'actioncomplete' => 'Action complete',
'actionfailed' => 'Action failed',
'deletedtext' => '"$1" has been deleted.
'ipb_expiry_invalid' => 'Expiry time invalid.',
'ipb_expiry_temp' => 'Hidden username blocks must be permanent.',
'ipb_hide_invalid' => 'Unable to suppress this account; it may have too many edits.',
-'ipb_already_blocked' => '"$1" is already blocked',
+'ipb_already_blocked' => '"$1" is already blocked.',
'ipb-needreblock' => '$1 is already blocked. Do you want to change the settings?',
'ipb-otherblocks-header' => 'Other {{PLURAL:$1|block|blocks}}',
'unblock-hideuser' => 'You cannot unblock this user, as their username has been hidden.',
'sorbs' => 'DNSBL', # only translate this message to other languages if you have to change it
'sorbsreason' => 'Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.',
'sorbs_create_account_reason' => 'Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.
-You cannot create an account',
+You cannot create an account.',
'xffblockreason' => 'An IP address present in the X-Forwarded-For header, either yours or that of a proxy server you are using, has been blocked. The original block reason was: $1',
'cant-see-hidden-user' => "The user you are trying to block has already been blocked and hidden.
Since you do not have the hideuser right, you cannot see or edit the user's block.",
-'ipbblocked' => 'You cannot block or unblock other users because you are yourself blocked',
-'ipbnounblockself' => 'You are not allowed to unblock yourself',
+'ipbblocked' => 'You cannot block or unblock other users because you are yourself blocked.',
+'ipbnounblockself' => 'You are not allowed to unblock yourself.',
'ipb-default-expiry' => '', # do not translate or duplicate this message to other languages
# Developer tools
'img-lang-opt' => '$2 ($1)',
'img-lang-default' => '(default language)',
-'img-lang-info' => 'Render this image in $1 $2.',
+'img-lang-info' => 'Render this image in $1. $2',
'img-lang-go' => 'Go',
# Table pager
'version-credits-title' => 'Credits for $1',
'version-credits-not-found' => 'No detailed credits information was found for this extension.',
'version-ext-license' => 'License',
+ 'version-ext-colheader-name' => 'Extension',
+ 'version-ext-colheader-version' => 'Version',
+ 'version-ext-colheader-license' => 'License',
+ 'version-ext-colheader-description' => 'Description',
+ 'version-ext-colheader-credits' => 'Authors',
'version-poweredby-credits' => "This wiki is powered by '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
'version-poweredby-others' => 'others',
'version-poweredby-translators' => 'translatewiki.net translators',
'version-entrypoints-load-php' => '[https://www.mediawiki.org/wiki/Manual:load.php load.php]', # do not translate or duplicate this message to other languages
# Special:Redirect
-'redirect' => 'Redirect by file, user, or revision ID',
+'redirect' => 'Redirect by file, user, page or revision ID',
'redirect-legend' => 'Redirect to a file or page',
'redirect-text' => '', # do not translate or duplicate this message to other languages
-'redirect-summary' => 'This special page redirects to a file (given the file name), a page (given a revision ID), or a user page (given a numeric user ID). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'This special page redirects to a file (given the file name), a page (given a revision ID or page ID), or a user page (given a numeric user ID). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
'redirect-submit' => 'Go',
'redirect-lookup' => 'Lookup:',
'redirect-value' => 'Value:',
'redirect-user' => 'User ID',
'redirect-revision' => 'Page revision',
+'redirect-page' => 'Page ID',
'redirect-file' => 'File name',
'redirect-not-exists' => 'Value not found',
'api-error-unknownerror' => 'Unknown error: "$1".',
'api-error-uploaddisabled' => 'Uploading is disabled on this wiki.',
'api-error-verification-error' => 'This file might be corrupt, or have the wrong extension.',
+'api-error-stasherror' => 'There was an error while uploading the file to stash.',
# Durations
'duration-seconds' => '$1 {{PLURAL:$1|second|seconds}}',
'limitreport-expensivefunctioncount-value' => '$1/$2', # only translate this message to other languages if you have to change it
# ExpandTemplates
-'expandtemplates' => 'Expand templates',
-'expand_templates_intro' => 'This special page takes text and expands all templates in it recursively.
+'expandtemplates' => 'Expand templates',
+'expand_templates_intro' => 'This special page takes text and expands all templates in it recursively.
It also expands supported parser functions like
<code><nowiki>{{</nowiki>#language:…}}</code> and variables like
<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.
In fact, it expands pretty much everything in double-braces.',
-'expand_templates_title' => 'Context title, for {{FULLPAGENAME}}, etc.:',
-'expand_templates_input' => 'Input text:',
-'expand_templates_output' => 'Result',
-'expand_templates_xml_output' => 'XML output',
-'expand_templates_ok' => 'OK',
-'expand_templates_remove_comments' => 'Remove comments',
-'expand_templates_remove_nowiki' => 'Suppress <nowiki> tags in result',
-'expand_templates_generate_xml' => 'Show XML parse tree',
-'expand_templates_preview' => 'Preview',
+'expand_templates_title' => 'Context title, for {{FULLPAGENAME}}, etc.:',
+'expand_templates_input' => 'Input text:',
+'expand_templates_output' => 'Result',
+'expand_templates_xml_output' => 'XML output',
+'expand_templates_html_output' => 'Raw HTML output',
+'expand_templates_ok' => 'OK',
+'expand_templates_remove_comments' => 'Remove comments',
+'expand_templates_remove_nowiki' => 'Suppress <nowiki> tags in result',
+'expand_templates_generate_xml' => 'Show XML parse tree',
+'expand_templates_generate_rawhtml' => 'Show raw HTML',
+'expand_templates_preview' => 'Preview',
);
* @author PhiLiP
* @author Piangpha
* @author Platonides
+ * @author PleaseStand
* @author Prima klasy4na
* @author Prometheus.pyrphoros
* @author Psubhashish
Parameters:
* $1 - (Optional) username, for GENDER support',
'wrongpassword' => 'Used as error message when the provided password is wrong.
+This message is used in html.
{{Identical|Please try again}}',
'wrongpasswordempty' => 'Error message displayed when entering a blank password.
{{Identical|Please try again}}',
** {{msg-mw|Duration-seconds}}
This is a protection against robots trying to find the password by trying lots of them.
-The number of attempts and waiting time are configured via [[mw:Manual:$wgPasswordAttemptThrottle|$wgPasswordAttemptThrottle]].',
+The number of attempts and waiting time are configured via [[mw:Manual:$wgPasswordAttemptThrottle|$wgPasswordAttemptThrottle]].
+This message is used in html.',
'login-abort-generic' => 'The generic unsuccessful login message is used unless otherwise specified by hook writers',
'loginlanguagelabel' => 'Used on [[Special:UserLogin]] if $wgLoginLanguageSelector is true. Parameters:
* $1 - a pipe-separated list built from the names that appear in the message {{msg-mw|Loginlanguagelinks}}.
See also:
* {{msg-mw|Showdiff}}
* {{msg-mw|Accesskey-diff}}
-* {{msg-mw|Tooltip-diff}}',
+* {{msg-mw|Tooltip-diff}}
+{{Identical|Show change}}',
'anoneditwarning' => 'Shown when editing a page anonymously.
See also:
* {{msg-mw|Sf autoedit anoneditwarning}}
# Account creation failure
'cantcreateaccounttitle' => 'Used as title of the error message {{msg-mw|Cantcreateaccount-text}}.',
-'cantcreateaccount-text' => 'Used as error message, with the title {{msg-mw|cantcreateaccounttitle}}.
+'cantcreateaccount-text' => 'Used as error message, with the title {{msg-mw|Cantcreateaccounttitle}}.
* $1 - target IP address
-* $2 - reason or {{msg-mw|blockednoreason}}
-* $3 - username',
+* $2 - reason or {{msg-mw|Blockednoreason}}
+* $3 - username
+See also:
+* {{msg-mw|Cantcreateaccount-range-text}}',
+'cantcreateaccount-range-text' => "Used as more detailed version of the {{msg-mw|Cantcreateaccount-text}} error message, with the title {{msg-mw|Cantcreateaccounttitle}}.
+* $1 - target IP range
+* $2 - reason or {{msg-mw|Blockednoreason}}
+* $3 - username
+* $4 - current user's IP address",
# History pages
'viewpagelogs' => 'Link displayed in history of pages',
'recentchanges-label-plusminus' => 'Legend item for plus/minus.
Preceded by legend example {{msg-mw|Recentchanges-legend-plusminus}}.',
+'recentchanges-legend-heading' => 'Used as a heading for legend box on [[Special:RecentChanges]] and [[Special:Watchlist]].
+{{Identical|Legend}}',
'recentchanges-legend-newpage' => 'Used as legend in [[Special:RecentChanges]]. Preceded by {{msg-mw|Recentchanges-label-newpage}}.',
'recentchanges-legend-plusminus' => 'A plus/minus sign with a number for the legend.',
'rcnotefrom' => 'This message is displayed at [[Special:RecentChanges]] when viewing recentchanges from some specific time.
Parameters:
* $1 - number of duplicate files',
'file-deleted-duplicate' => 'Used in [[Special:Upload]. Parameters:
-* $1 - page title of the file',
+* $1 - page title of the file
+
+See also:
+* {{msg-mw|file-deleted-duplicate-notitle}}',
+'file-deleted-duplicate-notitle' => 'Used in [[Special:Upload] when the title of the deleted duplicate is not available.
+
+See also:
+* {{msg-mw|file-deleted-duplicate}}',
'uploadwarning' => 'Used as section header in [[Special:Upload]].',
'uploadwarning-text' => 'Used in [[Special:Upload]].',
'savefile' => 'When uploading a file',
'protectedpages' => '{{doc-special|ProtectedPages}}',
'protectedpages-indef' => 'Option in [[Special:ProtectedPages]]',
'protectedpages-cascade' => 'Option in [[Special:ProtectedPages]]',
+'protectedpages-noredirect' => 'Option in [[Special:ProtectedPages]].
+{{Identical|Hide redirect}}',
'protectedpagesempty' => 'Used in [[Special:ProtectedPages]], when there are no protected pages with the specified parameters.',
'protectedtitles' => '{{doc-special|ProtectedTitles}}',
'protectedtitlesempty' => 'Used on [[Special:ProtectedTitles]]. This text appears if the list of protected titles is empty. See the [[mw:Project:Protected_titles|help page on MediaWiki]] for more information.',
'allpagesbadtitle' => 'Used in [[Special:AllPages]], [[Special:PrefixIndex]] and [[Special:RecentChangesLinked]].',
'allpages-bad-ns' => 'Used as error message. Parameters:
* $1 - namespace name, other than "Main" namespace',
-'allpages-hide-redirects' => 'Label for a checkbox. If the checkbox is checked redirects will not be shown in the list. Used in [[Special:PrefixIndex]] and [[Special:Allpages]].',
+'allpages-hide-redirects' => 'Label for a checkbox. If the checkbox is checked redirects will not be shown in the list. Used in [[Special:PrefixIndex]] and [[Special:Allpages]].
+{{Identical|Hide redirect}}',
# SpecialCachedPage
'cachedspecial-viewing-cached-ttl' => 'Message notifying they are watching a cached page. $1 is a duration (ie "1 hour and 30 minutes")',
* $1 - the upper limit of number of revisions
See also:
* {{msg-mw|Delete-toobig}}',
+'deleting-backlinks-warning' => 'A warning shown when a page that is being deleted has links to it.',
# Rollback
'rollback' => '{{Identical|Rollback}}',
'block' => '{{doc-special|Block}}
{{Identical|Block user}}',
'unblock' => '{{doc-special|Unblock}}',
-'blockip' => 'The title of the special page [[Special:BlockIP]].
+'blockip' => 'Used as the text of a link in the sidebar toolbox. Clicking this link takes you to [[Special:Block]], with a relevant username or IP address (e.g. "Username" on [[User talk:Username]], [[Special:Contributions/Username]], etc.) already filled in.
{{Identical|Block user}}',
'blockip-legend' => 'Legend/Header for the fieldset around the input form of [[Special:Block]].
'pageinfo-display-title' => 'The title that is displayed when the page is viewed.',
'pageinfo-default-sort' => 'The key by which the page is sorted in categories by default.',
'pageinfo-length' => 'The length of the page, in bytes.',
-'pageinfo-article-id' => 'The numeric identifier of the page.',
+'pageinfo-article-id' => 'The numeric identifier of the page.
+{{Identical|Page ID}}',
'pageinfo-language' => 'Language in which the page content is written.',
'pageinfo-content-model' => 'The model in which the page content is written.
'pageinfo-few-watchers' => 'Message displayed when there are fewer than $wgUnwatchedPageThreshold watchers. $1 is the value of $wgUnwatchedPageThreshold.',
'pageinfo-redirects-name' => 'Header of the row in the first table of the info action.
-Followed by the number of redirects to the page.
+Followed by {{msg-mw|Pageinfo-redirects-value}}.
+
Used as link text. The link points to "{{int:Whatlinkshere-title}}" page ([[Special:WhatLinksHere]]).
See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
* $1 - the number of redirects to the page',
'pageinfo-subpages-name' => 'Header of the row in the first table of the info action.
-Followed by the number of subpages of the page.
+Followed by {{msg-mw|Pageinfo-subpages-value}}.
+
Used as link text. The link points to the "{{int:Prefixindex}}" page ([[Special:PrefixIndex]]).
See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
'version-credits-title' => 'Page title for an about/credits page for a MediaWiki extension. $1 is the name of the extension.',
'version-credits-not-found' => 'Descriptive error used when detailed about/credits for an extension are not available.',
'version-ext-license' => '{{Identical|License}}',
+ 'version-ext-colheader-name' => 'Column header for the name of an extension',
+ 'version-ext-colheader-version' => '{{Identical|version}} Column header for describing an extensions version',
+ 'version-ext-colheader-license' => '{{Identical|License}} Column header for describing an extensions license',
+ 'version-ext-colheader-description' => 'Column header for the description of an extension',
+ 'version-ext-colheader-credits' => 'Column header for the list of authors and credits for an extension',
# Special:Redirect
'redirect' => "{{doc-special|Redirect}}
-This means \"Redirect by file'''name''', user '''ID''', or revision ID\".",
+This means \"Redirect by file'''name''', user '''ID''', page '''ID''', or revision ID\".",
'redirect-legend' => 'Legend of fieldset around input box in [[Special:Redirect]]',
'redirect-summary' => 'Shown at top of [[Special:Redirect]]',
'redirect-submit' => 'Button label in [[Special:Redirect]].
Followed by the select box which has the following options:
* {{msg-mw|Redirect-user}}
+* {{msg-mw|Redirect-page}}
* {{msg-mw|Redirect-revision}}
* {{msg-mw|Redirect-file}}',
'redirect-value' => 'Second field label in [[Special:Redirect]]
{{Identical|Value}}',
'redirect-user' => 'Description of lookup type for [[Special:Redirect]].
{{Identical|User ID}}',
+'redirect-page' => 'Description of lookup type for [[Special:Redirect]].
+{{Identical|Page ID}}',
'redirect-revision' => "Description of lookup type for [[Special:Redirect]].
This means \"Page revision '''ID'''\".",
'specialpages-group-media' => '{{doc-special-group|like=[[Special:FilePath]], [[Special:MIMESearch]] and [[Special:Upload]]}}',
'specialpages-group-users' => '{{doc-special-group|like=[[Special:ActiveUsers]], [[Special:Contributions]] and [[Special:ListGroupRights]]}}',
'specialpages-group-highuse' => '{{doc-special-group|like=[[Special:MostCategories]], [[Special:MostLinked]] and [[Special:MostRevisions]]}}',
-'specialpages-group-pages' => '{{doc-special-group|like=[[Special:AllPages]], [[Special:PrefixIndex]], [[Special:Categories]],
+'specialpages-group-pages' => '{{doc-special-group|like=[[Special:AllPages]], [[Special:PrefixIndex]], [[Special:Categories]],
[[Special:Disambiguations]], etc}}',
'specialpages-group-pagetools' => '{{doc-special-group|like=[[Special:MovePage]], [[Special:Undelete]], [[Special:WhatLinksHere]], [[Special:Export]] etc}}',
'specialpages-group-wiki' => '{{doc-special-group|like=[[Special:Version]], [[Special:Statistics]], [[Special:LockDB]], etc}}',
'api-error-overwrite' => 'API error message that can be used for client side localisation of API errors.',
'api-error-stashfailed' => 'API error message that can be used for client side localisation of API errors.',
'api-error-publishfailed' => 'API error message that can be used for client side localisation of API errors.',
+'api-error-stasherror' => 'API error message that can be used for client side localisation of API errors.',
'api-error-timeout' => 'API error message that can be used for client side localisation of API errors.',
'api-error-unclassified' => 'API error message that can be used for client side localisation of API errors.',
'api-error-unknown-code' => 'API error message that can be used for client side localisation of API errors.
'expand_templates_input' => '{{Identical|Input text}}',
'expand_templates_output' => '{{Identical|Result}}',
'expand_templates_xml_output' => 'Used as HTML <code><nowiki><h2></nowiki></code> heading.',
+'expand_templates_html_output' => 'Used as HTML <code><nowiki><h2></nowiki></code> heading.',
'expand_templates_ok' => '{{Identical|OK}}',
'expand_templates_remove_comments' => 'Check box to tell [[mw:Extension:ExpandTemplates]] to not show comments in the expanded template.',
'expand_templates_remove_nowiki' => "Option on [[Special:Expandtemplates]]
test
</pre>",
'expand_templates_generate_xml' => 'Used as checkbox label.',
+'expand_templates_generate_rawhtml' => 'Used as checkbox label.',
'expand_templates_preview' => '{{Identical|Preview}}',
);
'invalidemailaddress',
'cannotchangeemail',
'emaildisabled',
+ 'emailsender',
'accountcreated',
'accountcreatedtext',
'createaccount-title',
'cantcreateaccount' => array(
'cantcreateaccounttitle',
'cantcreateaccount-text',
+ 'cantcreateaccount-range-text',
),
'history' => array(
'viewpagelogs',
'recentchanges-label-bot',
'recentchanges-label-unpatrolled',
'recentchanges-label-plusminus',
+ 'recentchanges-legend-heading',
'recentchanges-legend-newpage',
'recentchanges-legend-plusminus',
'rcnotefrom',
'fileexists-shared-forbidden',
'file-exists-duplicate',
'file-deleted-duplicate',
+ 'file-deleted-duplicate-notitle',
'uploadwarning',
'uploadwarning-text',
'savefile',
'protectedpages-indef',
'protectedpages-summary',
'protectedpages-cascade',
+ 'protectedpages-noredirect',
'protectedpagesempty',
'protectedtitles',
'protectedtitles-summary',
'delete-edit-reasonlist',
'delete-toobig',
'delete-warning-toobig',
+ 'deleting-backlinks-warning',
),
'rollback' => array(
'rollback',
'version-svn-revision',
'version-license',
'version-ext-license',
+ 'version-ext-colheader-name',
+ 'version-ext-colheader-version',
+ 'version-ext-colheader-license',
+ 'version-ext-colheader-description',
+ 'version-ext-colheader-credits',
'version-license-title',
'version-license-not-found',
'version-credits-title',
'redirect-lookup',
'redirect-value',
'redirect-user',
+ 'redirect-page',
'redirect-revision',
'redirect-file',
'redirect-not-exists',
'api-error-overwrite',
'api-error-stashfailed',
'api-error-publishfailed',
+ 'api-error-stasherror',
'api-error-timeout',
'api-error-unclassified',
'api-error-unknown-code',
'expand_templates_input',
'expand_templates_output',
'expand_templates_xml_output',
+ 'expand_templates_html_output',
'expand_templates_ok',
'expand_templates_remove_comments',
'expand_templates_remove_nowiki',
'expand_templates_generate_xml',
+ 'expand_templates_generate_rawhtml',
'expand_templates_preview',
),
);
// Scripts for the dynamic language specific data, like grammar forms.
'mediawiki.language.data' => array( 'class' => 'ResourceLoaderLanguageDataModule' ),
+ /**
+ * Common skin styles, grouped into three graded levels.
+ *
+ * Level 1 "elements":
+ * The base level that only contains the most basic of common skin styles.
+ * Only styles for single elements are included, no styling for complex structures like the TOC
+ * is present. This level is for skins that want to implement the entire style of even content area
+ * structures like the TOC themselves.
+ *
+ * Level 2 "content":
+ * The most commonly used level for skins implemented from scratch. This level includes all the single
+ * element styles from "elements" as well as styles for complex structures such as the TOC that are output
+ * in the content area by MediaWiki rather than the skin. Essentially this is the common level that lets
+ * skins leave the style of the content area as it is normally styled, while leaving the rest of the skin
+ * up to the skin implementation.
+ *
+ * Level 3 "interface":
+ * The highest level, this stylesheet contains extra common styles for classes like .firstHeading, #contentSub,
+ * et cetera which are not outputted by MediaWiki but are common to skins like MonoBook, Vector, etc...
+ * Essentially this level is for styles that are common to MonoBook clones. And since practically every skin
+ * that currently exists within core is a MonoBook clone, all our core skins currently use this level.
+ *
+ * These modules are typically loaded by addModuleStyles which has absolutely no concept of dependency
+ * management. As a result the skins.common.* modules contain duplicate stylesheet references instead of
+ * setting 'dependencies' to the lower level the module is based on. For this reason avoid including multiple
+ * skins.common.* modules into your skin as this will result in duplicate css.
+ */
+ 'skins.common.elements' => array(
+ 'styles' => array(
+ 'common/commonElements.css' => array( 'media' => 'screen' ),
+ ),
+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
+ ),
+ 'skins.common.content' => array(
+ 'styles' => array(
+ 'common/commonElements.css' => array( 'media' => 'screen' ),
+ 'common/commonContent.css' => array( 'media' => 'screen' ),
+ ),
+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
+ ),
+ 'skins.common.interface' => array(
+ // Used in the web installer. Test it after modifying this definition!
+ 'styles' => array(
+ 'common/commonElements.css' => array( 'media' => 'screen' ),
+ 'common/commonContent.css' => array( 'media' => 'screen' ),
+ 'common/commonInterface.css' => array( 'media' => 'screen' ),
+ ),
+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
+ ),
+
/**
* Skins
* Be careful not to add 'scripts' to these modules,
'remoteBasePath' => $GLOBALS['wgStylePath'],
'localBasePath' => $GLOBALS['wgStyleDirectory'],
),
+ // FIXME: Remove in favour of skins.monobook.styles when cache expires
'skins.monobook' => array(
'styles' => array(
'common/commonElements.css' => array( 'media' => 'screen' ),
'remoteBasePath' => $GLOBALS['wgStylePath'],
'localBasePath' => $GLOBALS['wgStyleDirectory'],
),
+ // FIXME: Remove in favour of skins.vector.styles when cache expires
'skins.vector' => array(
- // Used in the web installer. Test it after modifying this definition!
'styles' => array(
'common/commonElements.css' => array( 'media' => 'screen' ),
'common/commonContent.css' => array( 'media' => 'screen' ),
'remoteBasePath' => $GLOBALS['wgStylePath'],
'localBasePath' => $GLOBALS['wgStyleDirectory'],
),
- 'skins.vector.beta' => array(
- // Keep in sync with skins.vector
+ 'skins.vector.styles' => array(
+ // Used in the web installer. Test it after modifying this definition!
'styles' => array(
- 'common/commonElements.css' => array( 'media' => 'screen' ),
- 'common/commonContent.css' => array( 'media' => 'screen' ),
- 'common/commonInterface.css' => array( 'media' => 'screen' ),
- 'vector/styles-beta.less',
+ 'vector/styles.less',
+ ),
+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
+ ),
+ 'skins.monobook.styles' => array(
+ 'styles' => array(
+ 'monobook/main.css' => array( 'media' => 'screen' ),
),
'remoteBasePath' => $GLOBALS['wgStylePath'],
'localBasePath' => $GLOBALS['wgStyleDirectory'],
'messages' => array( 'htmlform-chosen-placeholder' ),
),
'mediawiki.icon' => array(
- 'styles' => 'resources/mediawiki/mediawiki.icon.css',
+ 'styles' => 'resources/mediawiki/mediawiki.icon.less',
),
'mediawiki.inspect' => array(
'scripts' => 'resources/mediawiki/mediawiki.inspect.js',
'styles' => 'resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css',
'dependencies' => array(
'jquery.makeCollapsible',
+ 'jquery.cookie',
'mediawiki.icon',
),
),
'mediawiki.special.changeslist' => array(
'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
),
+ 'mediawiki.special.changeslist.js' => array(
+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.changeslist.js',
+ 'dependencies' => array(
+ 'jquery.makeCollapsible',
+ 'jquery.cookie',
+ ),
+ ),
'mediawiki.special.changeslist.enhanced' => array(
'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.enhanced.css',
),
'mediawiki.util',
),
),
- 'mediawiki.special.userlogin' => array(
+ 'mediawiki.special.userlogin.common.styles' => array(
+ 'styles' => array(
+ 'resources/mediawiki.special/mediawiki.special.userlogin.common.css',
+ ),
+ 'position' => 'top',
+ ),
+ 'mediawiki.special.userlogin.signup.styles' => array(
'styles' => array(
- 'resources/mediawiki.special/mediawiki.special.vforms.css',
- 'resources/mediawiki.special/mediawiki.special.userLogin.css',
+ 'resources/mediawiki.special/mediawiki.special.userlogin.signup.css',
),
'position' => 'top',
),
- 'mediawiki.special.createaccount' => array(
+ 'mediawiki.special.userlogin.login.styles' => array(
'styles' => array(
- 'resources/mediawiki.special/mediawiki.special.vforms.css',
- 'resources/mediawiki.special/mediawiki.special.createAccount.css',
+ 'resources/mediawiki.special/mediawiki.special.userlogin.login.css',
),
+ 'position' => 'top',
),
- 'mediawiki.special.createaccount.js' => array(
- 'scripts' => 'resources/mediawiki.special/mediawiki.special.createAccount.js',
+ 'mediawiki.special.userlogin.common.js' => array(
+ 'scripts' => array(
+ 'resources/mediawiki.special/mediawiki.special.userlogin.common.js',
+ ),
'messages' => array(
'createacct-captcha',
+ 'createacct-imgcaptcha-ph',
+ ),
+ ),
+ 'mediawiki.special.userlogin.signup.js' => array(
+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.userlogin.signup.js',
+ 'messages' => array(
'createacct-emailrequired',
- 'createacct-imgcaptcha-ph'
),
'dependencies' => 'mediawiki.jqueryMsg',
- 'position' => 'top',
),
'mediawiki.special.javaScriptTest' => array(
'scripts' => 'resources/mediawiki.special/mediawiki.special.javaScriptTest.js',
'position' => 'top',
'targets' => array( 'desktop', 'mobile' ),
),
+ 'mediawiki.special.version' => array(
+ 'styles' => 'resources/mediawiki.special/mediawiki.special.version.css',
+ ),
/* MediaWiki Tests */
'vector' => 'resources/mediawiki.ui/vector.less',
),
'position' => 'top',
+ 'targets' => array( 'desktop', 'mobile' ),
+ ),
+ // Lightweight module for button styles
+ 'mediawiki.ui.button' => array(
+ 'skinStyles' => array(
+ 'default' => 'resources/mediawiki.ui/components/default/buttons.less',
+ 'vector' => 'resources/mediawiki.ui/components/vector/buttons.less',
+ ),
+ 'position' => 'top',
+ 'targets' => array( 'desktop', 'mobile' ),
),
/* OOJS */
),
'targets' => array( 'desktop', 'mobile' ),
),
-
);