Author: van.de.bugger
Description:
MediaWiki setups namespaces incorrectly. English (canonical) namespace names are set as namespace aliases. This is wrong, because MWNamespace::getCanonicalName( SMW_NS_PROPERTY ) returns "Свойство", not expected "Property".
To setup namespaces correctly:
- Create file "SMW_Namespaces.php" with content:
$namespaceNames = array();
$namespaceAliases = array();$namespaceNames[ 'en' ] = array(
SMW_NS_PROPERTY => 'Property', ...);
$namespaceAliases[ 'en' ] = array(...);
$namespaceNames[ 'xx' ] = array(
SMW_NS_PROPERTY => 'Localised name',);
$namespaceAliases[ 'xx' ] = array(...);
- Let MediaWiki know about namespace:
$wgExtensionMessagesFiles[ 'SMW_Namespaces' ] = ".../SMW_Namespaces.php";
- Canonical namespace names must be setup via hook:
$wgHooks[ 'CanonicalNamespaces' ][] = 'SMW_onCanonicalNamespaceNames';
- The hook body:
function SMW_onCanonicalNamespaceNames( &$namespaces ) {
$namespaces += array( SMW_NS_PROPERTY => 'Property', ... ); return true;} // function ocCanonicalNamespaceNames
In such a case everything works as expected -- users see localized namespace names, while MWNamespace::getCanonicalName() returns English name.
Version: unspecified
Severity: normal