User:Hadseys/Organising/Namespaces

Page titles in MediaWiki are composed of two parts: an optional namespace name, and the remainder of the title. For example, this page has the title : , so it is in the  namespace. A title without a colon, for example Goings-on, is in the main namespace.

By default, a wiki using the MediaWiki software has 18 namespaces, including:


 * the main namespace, where page names have no prefix
 * 15 additional namespaces, each with its own prefix. (Two namespaces, the so-called 'project' namespaces, get their names from the name of the wiki project, and so differ in name from one wiki to the next; on the Wikipedia, they are called Wikipedia: and Wikipedia talk:. On each wiki, these project namespaces (whatever they may happen to be for that wiki), can be referred to by the pseudonyms "Project:" and "Project Talk:", respectively.)
 * two pseudo-namespaces

In addition to these 18 namespaces, the Wikipedia specially adds to these the Portal: and Portal talk: namespaces. Other wiki projects may have their own additional custom namespaces.

But take note:


 * Namespace prefixes should not be confused with prefixes for interwiki linking.
 * If a page title contains a colon, but the initial part of the title is not one of the pre-defined namespaces, that page is considered to be in the main namespace.

Namespace uses
Namespaces allow, among other things, a separation of content from policy and discussion. They encourage separation of the pages of a wiki into a core set intended for public viewing, and private information intended for the editing community.

This core set is the main namespace. Other namespaces that are also useful to viewers are:
 * the image namespace (with the full-size images)
 * the category namespace (for navigation)
 * the help pages and the preferences page (as far as they concern viewing)

By default, searches and the random page feature are restricted to the main namespace, thus the user interface is directed towards readers who are not part of the community. Note that this separation of community and readership is not a feature of many wiki engines. It may not be required for your editing community. You are always free to put discussion and policy in the main namespace, if you desire.

On most Wikimedia wikis, pages in the main namespace and a few other ones are actively policed by the community, with inappropriate content being quickly removed. The rules for the other namespaces are generally more relaxed.

From MediaWiki 1.5 Recent changes ditto; for each of the two, one can also select all namespaces except a specified one; thus, although one cannot have a single list of all pages, one can select a small namespace and use the invert option, to get almost all pages.
 * Special:Allpages can be applied to a namespace of choice
 * Searching can be restricted to any subset of namespaces

User contributions can only show all or be restricted to a namespace of choice.

It is possible to customise the visual appearance of pages by namespace (see e.g. ); also enabling the subpage feature can be done for selected namespaces.

List of namespaces
The two pseudo-namespaces, main namespace and 15 auxiliary namespaces in this project (Meta) are as follows (the variables for them are also shown):

Note that all characters of namespace prefixes are case-insensitive, so one can write e.g "mediawiki".

The names are set in files such as those listed in Locales for the Wikimedia projects, with default Language.php:

/* private */ $wgNamespaceNamesEn = array(	NS_MEDIA           => 'Media',	NS_SPECIAL          => 'Special',	NS_MAIN	            => '',	NS_TALK	            => 'Talk',	NS_USER             => 'User',	NS_USER_TALK        => 'User_talk',	NS_WIKIPEDIA        => $wgMetaNamespace,	NS_WIKIPEDIA_TALK   => $wgMetaNamespace . '_talk',	NS_IMAGE            => 'Image',	NS_IMAGE_TALK       => 'Image_talk',	NS_MEDIAWIKI        => 'MediaWiki',	NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',	NS_TEMPLATE         => 'Template',	NS_TEMPLATE_TALK    => 'Template_talk',	NS_HELP             => 'Help',	NS_HELP_TALK        => 'Help_talk',	NS_CATEGORY	    => 'Category',	NS_CATEGORY_TALK    => 'Category_talk' );

Automatic conversions of page names
On the column "Alternate syntax" in the table at the beginning of the previous section, a list of project-independent namespace names is shown in the form of    , the same as those on Meta and the English Wikipedia, except that "Meta" and "Wikipedia" are replaced by "Project". The prefixes are the terms listed, followed by a colon.

The prefix "Project:" is for every project automatically converted to the project namespace, e.g. try the link Project:xyz. It is like a piped link. Therefore a page name starting with "Project:" is not possible (unless, of course, that is the name of the project).

Similarly the other project-independent namespace prefixes are also automatically converted to the project-specific ones.

An exception to the rule that the link label is the name used in the wikitext and not the converted name, applies if the target of a redirect is expressed using a project-independent namespace name: in that case the converted name is shown on the redirect page, compare with the preview of.

Prefixes in various languages
For Wikimedia projects this project prefix is "Wikipedia:", "Wiktionary:", "Wikibooks:", "Wikisource:", "Wikiquote:", and "Meta:". In languages other than English, the Wikipedia project has its own prefixes: in French "Wikipédia:", in Czech "Wikipedie:", in Russian "Википедия:", in Korean "위키백과:", in Hindi "विकिपीडिया:", in Hebrew ":ויקיפדיה" and in Arabic ":ويكيبيديا". The last two are RTL languages which put the prefixes on the right. In URLs the prefixes are always on the left.

To check which prefix is used in a project, you may edit and preview a page in the project to render the variable     (and cancel the edit after the check), though what you will see is deprived of a colon. Another way: visiting any project page there, you will find it at the left (in LTR languages) or the right (in RTL languages) of the page title. This applies even for non-existing pages, so, in view of the conversion explained in the previous section, you can use a URL like http://ar.wikipedia.org/wiki/Project:A. Also you may go to a project page of a target language from a project page of a language familiar to you (e.g. en:Wikipedia:Contact us) by clicking an interlanguage link, if applicable. "Talk", "User", "Image" and combinations can also be translated in the case of non-English wikis. see Locales for the Wikipedia Software.

Colon in page name
Adding a colon to a page name does not automatically create a new namespace. To see the namespace of a page, use which returns the namespace. For this page it returns "". The same code would return an empty string for a page in the main namespace. Similarly, returns the page name without prefix. For this page it returns "". returns both namespace and pagename; for this page, that is "".

To take some examples from Wiktionary: Wiktionary:FAQ has Talk page Wiktionary talk:FAQ, but Wiktionary Appendix:Colours has Talk page Talk:Wiktionary Appendix:Colours, because the first is in the project preface namespace and the second is not. In Special:Allpages, accordingly, the first is, unlike the second, not in the list of articles, but in the page list of the namespace Wiktionary.

Special namespace
Main article: Help:Special page

The namespace "Special:" consists of "special pages", which are created by the software on demand, for example Special:Recentchanges.

Custom namespaces
For instructions on creating a custom namespace or for more information, see Help:Custom namespaces.

A project can have additional namespaces. For example, if a single project is multilingual (as opposed to the case of sister projects, each in one language) there may be a namespace Help and also a namespace Hilfe:, for help pages in the English and German language, respectively.

A list of all namespaces is in the dropdown menus of Special:Prefixindex, Special:Allpages, Special:Recent changes, and "My contributions". With query a list including also the numbers of the namespaces is given by /query.php?what=namespaces, for this project /query.php?what=namespaces.

Custom namespaces are numbered from 100. See m:Help:MediaWiki help policy for a list of custom namespaces on Meta.