define('XGETTEXT_BIN', 'xgettext');
define('MSGMERGE_BIN', 'msgmerge');
-define('XGETTEXT_OPTIONS', '-n --keyword=wfMsg ');
+// used to generate the .pot
+define('XGETTEXT_OPTIONS', '-n --keyword=wfMsg --keyword=wfMsgForContent --keyword=wfMsgHtml --keyword=wfMsgWikiHtml ');
+define('MSGMERGE_OPTIONS', ' -v ');
define('LOCALE_OUTPUT_DIR', $IP.'/locale');
-if( isset($options['help']) ) { usage(); die(); }
+if( isset($options['help']) ) { usage(); wfDie(); }
// default output is WikiText
if( !isset($options['lang']) ) { $options['lang'] = ALL_LANGUAGES; }
* @return string A dummy header
*/
function poHeader() {
-return
+return
'# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2005 MediaWiki
# This file is distributed under the same license as the MediaWiki package.
}
}
+function generatePot() {
+ global $IP;
+ $curdir = getcwd();
+ chdir($IP);
+ exec( XGETTEXT_BIN
+ .' '.XGETTEXT_OPTIONS
+ .' -o '.LOCALE_OUTPUT_DIR.'/wfMsg.pot'
+ .' includes/*php'
+ );
+ chdir($curdir);
+}
+
function applyPot($langcode) {
$langdir = LOCALE_OUTPUT_DIR.'/'.$langcode;
$pot = LOCALE_OUTPUT_DIR.'/wfMsg.pot';
$dest = $langdir.'/messages.po';
- // Merge template and generate file to get final .po
- exec(MSGMERGE_BIN." $from $pot -o $dest ");
+ // Merge template and generate file to get final .po
+ exec(MSGMERGE_BIN.MSGMERGE_OPTIONS." $from $pot -o $dest ");
// delete no more needed file
- unlink($from);
+// unlink($from);
}
// Generate a template .pot based on source tree
echo "Getting 'gettext' default messages from sources:";
-exec( XGETTEXT_BIN
- .' '.XGETTEXT_OPTIONS
- .' -o '.$IP.'/locale/wfMsg.pot'
- .' '.$IP.'/includes/*php'
- );
+generatePot();
echo "done.\n";