私の知る限り、国際化された拡張機能を作成するために必要な唯一の手順は、次のような i18n ファイルを作成することです。
//SemanticHighcharts.i18n.php
$messages = array();
$messages['en'] = array(
'semantichighcharts-desc' => 'A SMW result format displaying data with the help of highcharts
);
次に、このファイルをグローバル変数 wgExtensionMessageFiles で参照します
//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() 呼び出しを実行するときにコールスタックをデバッグしようとしましたが、大きな成功はありませんでした。
どんな助けでも大歓迎です。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"
}
]
}