如何在 mediawiki 中使用非英语命名空间?

How to have a Non-English namespace in mediawiki?

我在我的 mediawiki 中创建了一个自定义命名空间,如下所示:https://www.mediawiki.org/wiki/Manual_talk:Using_custom_namespaces

我创建了一个命名空间如下:

define("NS_CAFE", 3000); // This MUST be even.
define("NS_CAFE_TALK", 3001); // This MUST be the following odd integer.
$wgExtraNamespaces[NS_CAFE] = "کافه";
$wgExtraNamespaces[NS_CAFE_TALK] = "کافه_بحث"; // Note underscores in the namespace name.
$wgNamespaceProtection[NS_CAFE] = array( 'editfoo' ); // permission "editfoo" required to edit the foo namespace
$wgNamespacesWithSubpages[NS_CAFE] = true;            // subpages enabled for the foo namespace
$wgGroupPermissions['sysop']['editfoo'] = true;      // permission "editfoo" granted to users in the "sysop" group
$wgContentNamespaces[] = NS_CAFE;

AS NS_CAFE 在我们的语言中,那么 $wgNamespaceProtection[NS_CAFE]$wgGroupPermissions['sysop'] 的第二个数组元素应该是什么值?

用户很少看到权限名称(Special:ListGroupRights除外)。他们面临被授予或剥夺某些权利的后果。所以用户权限选择非拉丁名字是没有意义的,你的editfoo就可以了

但是,您需要在您的 wiki 中创建两条 MediaWiki 消息:

  • MediaWiki:right-editfoo,将在 Special:ListGroupRights
  • 上看到
  • MediaWiki:action-editfoo,这将用于“您没有权限 (editfoo)”之类的句子中。

用您的 wiki 语言创建这些消息是有意义的,例如ووراو کاوه。如果您希望某些用户将他们的用户界面语言更改为其他语言,您可能也想用该语言定义这些消息的版本:例如,MediaWiki:right-editfoo/enMediaWiki:right-editfoo/en.