$langdir = LOCALE_OUTPUT_DIR . '/' . $langcode; $from = $langdir . '/fromlanguagefile.po'; $pot = LOCALE_OUTPUT_DIR . '/wfMsg.pot'; $dest = $langdir . '/messages.po'; // 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); } // Generate a template .pot based on source tree echo "Getting 'gettext' default messages from sources:"; generatePot(); echo "done.\n"; $langTool = new languages(); // Do all languages foreach ($langTool->getList() as $langcode) { echo "Loading messages for {$langcode}:\t"; require_once 'languages/Language' . $langcode . '.php'; $arr = 'wgAllMessages' . $langcode; if (!@is_array(${$arr})) { echo "NONE FOUND\n"; } else { echo "ok\n"; if (!generatePo($langcode, ${$arr})) { echo "ERROR: Failed to wrote file.\n"; } else { echo "Applying template:"; applyPot($langcode); } } }