From Wikisource
Jump to navigation Jump to search

A namespace is a type of page in a wiki project. Page names with prefixes are probably associated with a category. Each wiki using the MediaWiki software has 16+2 namespaces: the main namespace, where page names have no prefix, 15 auxiliary types, each with its own prefix, and two pseudo-namespaces.

In each project they are similar to the 18 explained in w:Wikipedia:Namespace for Wikipedia. One of these is the project namespace, which uses as prefix the project prefix (variable {{ns:4}} below).

Namespace uses[edit]

  • allows separation of different kinds of unrelated content;
  • several namespaces have special features related to their intended purpose
  • allows unrelated content to be stored in one wiki, but requires lots of extra typing
  • provides facilities to limit searches to a particular area
  • in principle allows easy exporting (but not with the Export feature, which is for selected individual pages) of a selection of work (categories could also be used for this more cleanly)
  • allows for feature separation

Namespace issues and ideas for improvements[edit]

Lots of programming languages have namespaces for their variables. Namespaces are commonly contained within curly braces "{}" and if a variable is referenced that is not included in the namespace, it might use the global namespace's variable.

Extensive content within a namespace causes lots of [[namespace:page name|page name]] in place of [[page name]] typing, which isn't in the spirit of wikis. Nevertheless, it could be useful if the default would be to have the current namespace be searched first, and then the main namespace, or any other order of namespaces consulted.

Namespaces are used for a variety of features, including: interwiki linking, templates, and system messages. How are interwiki and namespace overlap issues dealt with?

Namespace benefits[edit]

(can namespaces go into their own tables, allowing for separation across servers?)

List of namespaces[edit]

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

Variables Alternate syntax Name, linked to list of all pages Notes
{{ns:-2}} {{ns:Media}} "Media" pseudo-namespace for images and other files themselves, as opposed to the image description pages; see also below
{{ns:-1}} {{ns:Special}} "Special" pseudo-namespace for special pages (list: Special:Specialpages)
- main main namespace, no prefix, or optionally a colon (this is needed when using the page as template)
{{ns:1}} {{ns:Talk}} Talk see Help:Talk page for this and the following odd-numbered namespaces
{{ns:2}} {{ns:User}} User logged-in users (list: Special:Listusers) have a user homepage User:username (linked to by the system from lines about edits, and from signatures on talk pages; this and subpages of it can be used to present oneself, for project-related bookmarks, and for drafts, tests, and other working material. One can put here material to give oneself one-step access to it from any page in the same project, and one can put here links to give oneself two-step access to the link targets from any page in the same project as the user page. For users who do not log in, the same applies, with the IP as username. Dynamic IPs are a complication.
{{ns:3}} {{ns:User_talk}} User talk  
{{ns:4}} {{ns:Project}} Wikisource the project namespace for matters about the project, such as guidelines and discussions; see also the Help namespace
{{ns:5}} {{ns:Project_talk}} Wikisource talk  
{{ns:6}} {{ns:Image}} File images and other uploaded files, with image description pages (list: Special:Imagelist)
{{ns:7}} {{ns:Image_talk}} File talk  
{{ns:8}} {{ns:MediaWiki}} MediaWiki system messages (list: Special:Allmessages), editable by users, or if protected, by sysops
{{ns:9}} {{ns:MediaWiki_talk}} MediaWiki talk  
{{ns:10}} {{ns:Template}} Template the default namespace for templates: the wikitext code {{name }} refers to and includes the page Template:name
{{ns:11}} {{ns:Template_talk}} Template talk  
{{ns:12}} {{ns:Help}} Help typically used for the MediaWiki User's Guide, with the wikitext a frequently refreshed copy of the master version on Meta-Wikipedia, but with project-specific templates
{{ns:13}} {{ns:Help_talk}} Help talk  
{{ns:14}} {{ns:Category}} Category each page (list: Special:Categories) represents a category of pages, with each category page displaying a list of pages in that category and optional additional text.
{{ns:15}} {{ns:Category_talk}} Category talk  

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 m:Locales for the Wikimedia projects, with default m: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[edit]

On the left in the table at the beginning of the previous section, a list of project-independent namespace names is shown, 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.

Prefixes in various languages[edit]

For Wikimedia projects this project prefix is "Wikipedia:", "Wiktionary:", "Wikibooks:", "Wikisource:", "Wikiquote:", "Meta:", and in the case of In Memoriam also "Wikipedia:" (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, see e.g. the link "Contact us" or "Bug reports". "Talk", "User", "Image" and combinations can also be translated in the case of non-English wikis. see m:Locales for the Wikipedia Software.

Colon in page name[edit]

Adding a colon to a page name does not automatically create a new namespace. To see the namespace of a page, use {{NAMESPACE}} which returns the namespace. For this page it returns "Help". The same code would return an empty string for a page in the main namespace. Similarly, {{PAGENAME}} returns the page name without prefix. For this page it returns "Namespace".

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. Accordingly the first is not in Special:Allpages but the second is. Unclear is why Wiktionary:Recentchanges is an exception.

Sites outside Wikimedia[edit]

Sites using MediaWiki but outside Wikimedia usually have their own project name as project prefix, but several have simply retained "Wikipedia:".

Interwiki linking is done with a prefix, that is similar to namespaces.

Special namespace[edit]

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[edit]

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.

Custom namespaces are numbered from 100.

For a full list of all namespaces in this project, see the search options of the preferences (Special:Preferences), or see the list in // In both cases they are in the order of ascending number, starting with 0 and without numbers 16-99.

The list of custom namespaces is $wgExtraNamespaces in LocalSettings.php. See also Help:Custom namespaces.

Tab labels[edit]

The first tab shows the namespace. See the link, if it is there, to see what it is in this project. For Meta-Wikipedia it is as shown on the right.

  • category: mediawiki:nstab-category => "Category"
  • help: 'nstab-help' => "Help",
  • image: 'nstab-image' => "Image",
  • main: 'nstab-main' => "content page",
  • media: 'nstab-media' => "Media",
  • mediawiki: 'nstab-mediawiki' => "Message",
  • project: 'nstab-wp' => "About",
  • special: 'nstab-special' => "Special" - the tab is in an HTML element A without class or id, like an internal link, but it is not a link; to see the distinction, use a style for a:link and a:visited that is different from the style of just "a"
  • template: 'nstab-template' => "Template",
  • user: 'nstab-user' => "User page",

The second tab, linking to the talk page:

  • Talk: 'talk' => "Discussion"

On a diff page or a page with an old version, the links are to the current version (however, the edit tab on a page with an old version links to the edit page of that old version; this does not apply on a diff page comparing two old versions, there the edit tab links to the edit page for the current version).

The self link feature (a self link appearing as bold text) does not work for the tabs, no distinction is shown between a self link and a link to a different (version of a) page.

With the class "selected" one can let the tab for the same namespace as the current page (either a self link or a link to the current revison) be displayed differently; also the tabs "edit" and "history" are then displayed in this different way when applicable.

See also[edit]