如何在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;

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

权限名称很少被用户看到(在Special:ListGroupRights上除外(。他们面临着被授予或剥夺某些权利的后果。因此,为用户权限选择非拉丁名称是没有意义的,您的editfoo也可以。

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

  • MediaWiki:right-editfoo,将在Special:ListGroupRights
  • MediaWiki:action-editfoo;您没有权限(editfoo(">

用你的wiki语言创建这些消息是有意义的,例如ویراېدکا1601;ه。如果您希望某些用户将其用户界面语言更改为其他语言,则可能还需要用该语言定义这些消息的版本:例如,MediaWiki:right-editfoo/enMediaWiki:right-editfoo/en

最新更新