--- Daniel Barrett <danb(a)VistaPrint.com> wrote:
I have an app that depends on a particular system
message that might not
exist yet.
What is the correct way to accomplish the following logic in an
extension?
if (!wfMsg('my-message')) {
set 'my-message' to a default value
}
$wgOut->addWikiText(wfMsg('my-message'));
I did it like this (see
http://www.mediawiki.org/wiki/Extension:UnitsFormatter). In the extension
constructor:
private $messageList = array(
'en' => array(
'tog-preferinput' => 'Prefer the article\'s units',
'tog-prefermetric' => 'Prefer metric units',
. . .
),
);
/*
* Construct the extension and install it as a parser hook.
*/
public function __construct() {
global $wgMessageCache;
foreach ($this->messageList as $lang => $messages)
$wgMessageCache->addMessages($messages, $lang);
}
This sets the default value for all your messages when the extension starts.
They can still be customised in the wiki by editing MediaWiki:foo.
Ian