Help:MediaWiki namespace

From HandWiki
Short description: MediaWiki: prefix, such as MediaWiki:Noarticletext


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.

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 Wikipedia:Village pump; an edit request should then be made if there is consensus for the change.

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:Translate: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

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 (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.

Template:MediaWiki messages

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 w:Template:en 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,
[{{fullurl:m:MediaWiki:Edit|action=render}} demo] demo.

Each message in the $wgAllMessagesEn array in Messages.php[|permanent dead link|dead link}}] corresponds to a page in the MediaWiki namespace. For example, there may be a line in the php file:

'recentchanges' => 'Recent changes',

To this corresponds the page MediaWiki:Recentchanges, and Template:Evaldemo. 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 w:fr:MediaWiki:Recentchanges 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.

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:

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 XHTML markup not permitted on normal pages.

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 [clarification needed] for messages used internally as system messages.

Instead, one can use in-page interlanguage links on the talk pages, m:Template:ilm does this for some major projects.

Strings exclusive to language file

Some text strings cannot be customised using this feature, and so can only be changed by editing the language file. These include:

  • The namespace titles "User", "Wikipedia", "Image", etc.
  • The names of the special pages
  • Month and days-of-the-week names
  • A number of items in Special:Preferences

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".

For a short time, before the renaming from votes for deletion (VfD) to articles for deletion (AfD), deletion debates used MediaWiki: messages named in the format "MediaWiki:VfD-articlename". These were moved to the Template: space in June 2004 and are now (as of January 2006) subpages of Wikipedia:Articles for deletion or Wikipedia:Votes for deletion.

Notes

  1. 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.
    If an administrator wishes to allow non-administrators to edit a MediaWiki page, a method is to place the message on a template, and then transclude the template back onto the MediaWiki page. Another method is to redirect the page to one in a non-MediaWiki namespace.