Help:MediaWiki namespace
This is an information page. It is not one of policies or guidelines, but rather intends to describe some aspect(s) of our norms, customs, technicalities, or practices. |
Namespaces | |||
---|---|---|---|
Subject namespaces | Talk namespaces | ||
0 | (Main/Article) | Talk | 1 |
2 | User | User talk | 3 |
4 | AARoads | AARoads talk | 5 |
6 | File | File talk | 7 |
8 | MediaWiki | MediaWiki talk | 9 |
10 | Template | Template talk | 11 |
12 | Help | Help talk | 13 |
14 | Category | Category talk | 15 |
100 | Annex | Annex talk | 101 |
828 | Module | Module talk | 829 |
Deprecated | |||
2300 | Gadget | Gadget talk | 2301 |
2302 | Gadget definition | Gadget definition talk | 2303 |
Virtual namespaces | |||
-1 | Special | ||
-2 | Media | ||
Current list (API call) |
The MediaWiki namespace is a namespace containing the text to be displayed in certain places in the interface. Only administrators, interface administrators and interface editors can edit pages in this namespace. In addition, pages in this namespace ending with .css
or .js
are furthermore restricted to interface administrators and interface editors. However, all editors can propose changes on appropriate talk pages.
Overview
The MediaWiki namespace allows administrators and interface editors to customise or translate the MediaWiki web interface.
Some messages must have HTML links, and others must have wikilinks. To find out which is which, you must know where the message is used in the interface. |
Because the changes to these pages have a global effect, they are protected from editing, and only administrators and interface editors have the ability to edit them.[1] Non-admins who would like to request a minor change can do so by using the {{editprotected}}
template on the talk page of the MediaWiki page. More substantive changes should be discussed at an appropriate section of the AARoads:The Interchange.
Changes that can benefit other wiki sites and are not specific to Wikipedia can be submitted to translatewiki.net (also known as TWN, formerly known as BetaWiki). See translatewiki:Translating:MediaWiki. Since English is the original language of the messages, changes to them cannot be directly edited in translatewiki.net, and have to be discussed in the support page there.
MediaWiki pages can not and should not have documentation on the page itself for several reasons: among other things <noinclude> tags usually do not function in this namespace and the amount of data in MediaWiki space needs to be kept low for performance reasons. Instead, a description of the message can be put at the top of the talk page. A template {{interface explanation}} is available for this. Pages using this template can be found in Category:MediaWiki messages with interface explanation.
Some messages have old documentation available by setting the 'language' to qqq. For instance, MediaWiki:Login has old, and somewhat incorrect, documentation at MediaWiki:Login/qqq. Don't update the /qqq messages, instead update the top of the talk page.
The message names for a particular interface element can be found using the "Add a toolbox link to reload the current page with the system message names exposed" Advanced Gadget in the Special:Preferences. Once enabled a "message names" item appears in the tool box, when clicked the names of all items are displayed.
Overview of messages
The template {{MediaWiki messages}} (shown below) lists a selection of key messages. Not included are
- Tags added automatically to edit summaries by edit filters, which are listed at Special:Tags.
- Messages describing Preferences options (Mediawiki:Tog-) – search for these.
- Messages providing tooltips (Mediawiki:Tooltip-) – search for these.
- Messages relating to Cite.php are listed and discussed at Help talk:Cite errors.
- MediaWiki:Uploadtext and related subpages (the subpages transclude pages from AARoads: space) – these are covered at Wikipedia talk:Upload.
- CSS files, which are described at MediaWiki talk:Common.css.
- Gadget-related messages – Gadgets.
The template {{interface explanation}}, used on MediaWiki talk: pages (generally those with some discussion), adds pages it is on into Category:MediaWiki messages with interface explanation.
A complete list of messages is available at Special:Allmessages. MediaWiki messages serving the software default are called "unmodified" and appear as red links in the Allmessages list, and do not appear in a Prefix-based search as they don't technically exist as pages. Because Special:Allmessages displays all system messages and it's contents (the page is over 1 MB) some users might prefer to view these messages alphabetically: @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
For a list of all MediaWiki pages, see Special:Prefixindex/MediaWiki:, or search the MediaWiki namespace. This includes custom titleblacklist notices, or edit filter notices and other pages that is not part of standard MediaWiki messages.
Finding system messages
You can find a message key by browsing Wikipedia in the special pseudo-language code qqx
, which can be done by appending ?uselang=qqx
to the URL, or &uselang=qqx
if the URL already contains a ?
character (example). All the messages will then be replaced by their message keys, so you can identify which message is responsible. Messages that are always in the content language will not be shown using qqx. Special:Preferences#mw-prefsection-gadgets has the option "Add a toolbox link to reload the current page with the system message names exposed". This gadget uses the same qqx you can add manually.
When the URL includes a fragment that links to a particular point on the page such as a section or a tab like e.g. special page "Preferences" you will have to add the fragment after the uselang parameter, e.g. Special:Preferences?uselang=qqx#mw-prefsection-rendering
.
Message keys which depend on data sent by the user may not be shown when qqx is used. Allmessages from the API lists around 26,000 messages. They can be searched for a string with Ctrl+F in many browsers. Note that the underlying wikitext is often shown and not only the rendered text.
A list of all messages can be seen at Special:AllMessages.
Technical details
The MediaWiki namespace is a mechanism allowing administrators to customise or translate the MediaWiki web interface. It is enabled by default in recent mediawiki versions, mw:Manual:$wgUseDatabaseMessages = true enables them. The contents of the MediaWiki namespace pages override any corresponding settings in the language files, i.e., the static version of messages. Using the MediaWiki namespace is a bit slower than other namespaces.
The namespace number of MediaWiki messages is 8, with a corresponding MediaWiki talk namespace 9 to discuss individual messages. Some projects offer templates like en:Template:editprotected (backlinks edit) to propose modifications, others have a page like Meta:Requests for help from a sysop or bureaucrat for this purpose.
- Links to MediaWiki messages work like links to ordinary pages, examples
- [[MediaWiki:Edit]] MediaWiki:Edit,
- [[w:de:MediaWiki:Edit|w:de:MediaWiki:Edit]] w:de:MediaWiki:Edit,
- [{{fullurl:m:MediaWiki:Edit|action=render}} demo] demo.
Each message in the i18n/en.json
file corresponds to a page in the MediaWiki namespace. For example, there is a line in the JSON file:
"recentchanges": "Recent changes",
This corresponds to the page MediaWiki:Recentchanges, and {{int:Recentchanges}}
gives Recent changes. When this page is edited the new message is automatically used for the recent changes link in the left pane of the desktop site. Similarly has the content Modifications récentes, note that the page name itself is not translated.
Transclusion
Transclusion of MediaWiki messages can make sense, as noted below historically these messages also covered the function of templates.
{{MediaWiki:Edit}}
= Edit, see m:Template:Ed (backlinks edit).{{int:Edit}}
= Edit, colon function int: is a shorthand for MediaWiki:.{{int:Example}}
= ⧼Example⧽, but only as far as the message exists.{{MediaWiki:Example}}
= MediaWiki:Example doesn't exist.
The difference between {{MediaWiki:}}
and {{int:}}
is that {{MediaWiki:}}
transcludes using the default language of the Wiki (i.e. English), whereas {{int:}}
transcludes using the language set by the user's preferences. For example, if your user language is not set to English, the following two lines will differ:
- MediaWiki:Articlepage
- ⧼articlepage⧽
However many messages are not suited for transclusion, because they contain $1 and similar parameters not evaluated by the template parser, or raw CSS and markup not permitted on normal pages.
With parameters
MediaWiki messages may have parameters as $1, $2, ... and they are variables used in the software. When transcluding it with custom changed parameters, {{int:}}
transclusions would be prefered.
Interlanguage links
Interlanguage links in MediaWiki messages typically won't work as expected. Adding <noinclude> isn't good enough, because something has to evaluate it, as it's the case for messages included like ordinary templates, but not for messages used internally as system messages.
Instead, one can use in-page interlanguage links on the talk pages, m:Template:ilm (backlinks edit) does this for some major projects.
History
The MediaWiki namespace was introduced on December 6, 2003. Before this time, user interface text was part of the PHP software and could only be changed by software developers. Since the introduction they have been editable by normal administrators.
Until June 2004, the MediaWiki namespace was also used for creating other boilerplate text messages, to be used in articles. This function was replaced with the Template namespace; a conversion script running as "User:Template namespace initialisation script" was run by developer Tim Starling, which moved all non-system messages to the new namespace, and replaced MediaWiki: references in articles with Template: in order to bypass the redirects. In October and November 2005, these redirects were deleted. This background explains why the concept now known as "templates" is sometimes referred to as "messages".
See also
- MediaWiki namespace in version 1.2.6
- Template:MediaWiki redirect
- MediaWiki talk:Sitenotice - creating sitenotices
Notes
- ^ By default, all messages are protected. This is necessary for a number of reasons:
- Many messages are in plain HTML, so users could insert malicious scripts
- Vandalism of some messages would be extremely disruptive; for example, changes to the text of the links in the sidebar would immediately be visible to all users
- A few messages can in theory cause the software to stop working if they are changed. In practice the software ignores the database contents for the changed page, taking the regular expression straight out of the message files, for performance and stability reasons.