Php Mediawiki扩展,将不会读取我的i18n文件
据我所知,创建国际化扩展名所需的唯一步骤是创建i18n文件,如下所示:Php Mediawiki扩展,将不会读取我的i18n文件,php,mediawiki,composer-php,mediawiki-extensions,Php,Mediawiki,Composer Php,Mediawiki Extensions,据我所知,创建国际化扩展名所需的唯一步骤是创建i18n文件,如下所示: //SemanticHighcharts.i18n.php $messages = array(); $messages['en'] = array( 'semantichighcharts-desc' => 'A SMW result format displaying data with the help of highcharts ); 然后使用全局变量WGTextensionMessageFiles
//SemanticHighcharts.i18n.php
$messages = array();
$messages['en'] = array(
'semantichighcharts-desc' => 'A SMW result format displaying data with the help of highcharts
);
然后使用全局变量WGTextensionMessageFiles引用此文件
//SemanticHighcharts.php
global $wgExtensionMessagesFiles, $wgExtensionCredits;
$wgExtensionCredits['semantic'][] = array(
'path' => __FILE__,
'name' => 'SemanticHighcharts',
'version' => '0.0.1',
'url' => 'https://www.mediawiki.org/wiki/Extension:SemanticHighcharts',
'descriptionmsg' => 'semantichighcharts-desc'
);
//i18n
$wgExtensionMessagesFiles['SemanticHighcharts'] = dirname(__FILE__) . '/SemanticHighcharts.i18n.php';
这将导致wgExtensionCredits中的descriptionmsg在显示在Special:Version上时国际化
但事实并非如此。。。事实上,没有从i18n文件读取任何消息密钥
如何调试此问题?我曾尝试在执行wfMessage()调用时调试callstack,但没有取得任何成功
感谢您的帮助。我正在从git运行最新版本的mediawiki。所有扩展都已安装composer
//composer.json
{
"require": {
"php": ">=5.3.2",
"mediawiki/side-bar-menu": "dev-master",
"mediawiki/semantic-highcharts": "dev-master",
"mediawiki/semantic-result-formats": "dev-master"
},
"suggest": {
"ext-fileinfo": "*",
"ext-mbstring": "*",
"ext-wikidiff2": "*",
"ext-apc": "*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/netbrain/SemanticHighcharts"
}
]
}
典型的,在与这个问题斗争了一段时间之后。在发布这个问题之后,我尝试从composer.json中删除所有其他扩展,并进行了composer更新。神奇地解决了我的问题 我怀疑可能有一个冲突的扩展,或者可能只是作曲家自动加载机制出了问题 我会进一步调查的
似乎作曲者是罪魁祸首,在重新添加先前删除的扩展之后,它仍然有效。所以我只能猜测作曲家依赖关系管理中有一些怪癖