跳转到内容

维基百科:MediaWiki命名空间

命名空间
基本命名空间 讨论命名空间
0 主/條目 帮助 讨论 1
2 用戶 帮助 用户讨论 3
4 维基百科 维基百科讨论 5
6 文件 帮助 文件讨论 7
8 MediaWiki MediaWiki讨论 9
10 模板 帮助 模板讨论 11
12 帮助 帮助讨论 13
14 分类 帮助 分类讨论 15
100 主题 主题讨论 101
102 維基專題 維基專題討論 103
118 草稿 草稿讨论 119
126 格式手册快捷方式 PNS 格式手册快捷方式讨论 127
710 字幕 字幕討論 711
828 模块 模块讨论 829
1728 活动 活动讨论 1729
2600 话题 帮助
虚拟命名空间
-1 特殊
-2 媒体

MediaWiki命名空间(MediaWiki namespace)是一个允许开发者定制或翻译MediaWiki网页界面的一个机制,启用$wgUseDatabaseMessages后生效。

保护措施

在默认情况下,全部的消息都被全保护。这是出于以下的考虑:

  • 一些消息的破坏将造成很严重的后果,例如工具条上的链接文字。

如果你认为中文维基百科的界面文字有需要改进的地方,可以考虑在相关文本的讨论页或互助客栈发起讨论。Special:AllMessages是一个记录了软件代码提供的文本和本站定制的文本的表格。

你还可以通过在页面标题前面添加Draft:MediaWiki:的方式创建带有这个命名空间的页面,最后这个页面将会以草稿命名空间保存下来,直到此页面被发布。

没有包括在MediaWiki命名空间中的项目

某些字符串不能使用这个功能进行定制,只能编辑相应的语言文件。包括:

  • "User", "Wikipedia", "File", 等命名空间的标题
  • 特殊页面的名称(是名稱,而非顯示名稱,顯示名稱可在MediaWiki:特殊頁面名(英文,全部小寫)更改)
  • 月份名称
  • 参数设置中的许多项目
這些需要修改MessagesZh.php

在模板中使用

int魔术字可将系统消息作为模板使用

  • 例子:{{int:edit}} → 编辑本页

维护

一般MediaWiki软件(包括各插件,含mw:Extension:WikimediaMessages)的系统消息翻译在translatewiki.net进行,本站的MediaWiki命名空间可用于依本地需要对消息进行定制。MediaWiki命名空间的内容显示在界面上时不会自动繁简转换[1],也不支持字词转换标记-{}-

指定URL query parameter为uselang=qqx后可以看到系统消息的ID名。可使用英语维基百科的en:MediaWiki:Gadget-ShowMessageNames.js小工具或mw:Translator Buddy用户小工具方便查看。

MediaWiki软件源代码内置的系统消息会同时提供zh-hans和zh-hant版本(部分消息还提供zh-hk版本,用于覆盖遵循台湾用字的zh-hant版本)。过去若需覆盖这些消息曾需要为本站可用的所有用字模式建立主页面(对应语言代码zh)和8个子页面[2]。从2023年6月(MediaWiki 1.41.0-wmf.15,phab:T229992)开始,覆盖这些消息只需建立源码中存在的/zh-hans、/zh-hant(如存在则还需处理/zh-hk)即可,其余语言代码将依fallback chain解析到/zh-hans或/zh-hant页面。管理員可使用User:Xiplus/js/TranslateVariants用户工具來简化手动转换源代码中文用字的流程。

过去的习惯是管理员在/zh子页面撰写原版系统消息代码,然后由TranslateVariants机器人(已弃用)或用户工具自动更新其余9个页面,/zh并不会被MediaWiki使用(因为本站的content language是zh,所以zh界面语言的消息为主页面)。目前为简化流程,建议管理员在更新相关消息时将主页面连同zh-hans/hant(或hk)以外的各变体页面删除(需留心主页面可能的历史价值)。管理员可以继续在/zh编辑源码后使用TranslateVariants生成/zh-hans及/zh-hant版本,或直接手动更新/zh-hans及/zh-hant,并保留/zh供查阅历史用。

若需自定义的系统消息较为复杂、维护者认为在一个页面集中维护更方便,不妨将系统消息置于模板命名空间,并在MediaWiki空间原处直接嵌入包含对应模板(例如{{Blockedtext}})。模板代码可使用{{lan}}以便直接在单一页面的源代码中定义各语言变体的消息内容。然而对于部分需频繁渲染界面消息的场景,需时较长的复杂模板可能会影响用户体验。若有可能不妨考虑分别在子页面事先完成转换并简化模板设计。

自行建立的系统消息

本站维护编者因日常需要有时会自行创建编辑提示防滥用过滤器警告小工具描述修订标签等系统消息。这些消息无需覆盖来自软件源代码的消息,所以可不用建立子页面。

出于性能考虑,对于简单的纯文本系统消息(例如修订标签),建议分别建立/zh-hans及/zh-hant子页面(过去亦有建立主页面及/zh-hant子页面的做法)且避免使用模板。稍复杂的系统消息则可考虑仅建立主页面,并使用{{lan}}在一处代码中完成繁简转换。

参看

脚注

  1. ^ 相关的功能请求包括phab:T34971phab:T229988
  2. ^ /zh-hans、/zh-cn、/zh-sg、/zh-my、/zh-hant、/zh-tw、/zh-hk、/zh-mo