示例#1
0
    $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);
        }
    }
}
示例#2
0
function applyPot($langcode)
{
    $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();
if ($options['lang'] === ALL_LANGUAGES) {
    $codes = $langTool->getLanguages();
} else {
    $codes = array($options['lang']);
}
// Do all languages
foreach ($codes as $langcode) {
    echo "Loading messages for {$langcode}:\n";
    if (!generatePo($langcode, $langTool->getMessages($langcode))) {
        echo "ERROR: Failed to write file.\n";
    } else {
        echo "Applying template:";
        applyPot($langcode);
    }
}