Beispiel #1
0
function get_newstrings()
{
    global $scanned_strings;
    $dirs = array(APPROOT . "data", APPROOT . "inc", APPROOT . "inst", APPROOT . "mod", APPROOT . "tpls");
    foreach ($dirs as $dir) {
        $scan_stats_all = scan_files($dir, 0);
        //echo $scan_stats_all;
    }
    $msgids = get_existing_msgids();
    $dif1 = array_diff($msgids, $scanned_strings);
    $dif2 = array_diff($scanned_strings, $msgids);
    foreach ($dif2 as $v) {
        echo "PHP\t" . $v . "\t" . $v . "<br/>";
    }
}
Beispiel #2
0
function generate_translations()
{
    global $languages;
    $msgids = get_existing_msgids();
    $translations = get_translations_array();
    require APPROOT . "translate" . DIRECTORY_SEPARATOR . 'php-mo.php';
    foreach ($languages as $lkey => $language) {
        $path = APPROOT . "translate" . DIRECTORY_SEPARATOR . "translated\\php\\" . $language . "\\LC_MESSAGES" . DIRECTORY_SEPARATOR;
        $pofile = $path . $language . "_openevsys.po";
        $fh = fopen($pofile, 'w+');
        $jsfile = APPROOT . "translate" . DIRECTORY_SEPARATOR . "translated\\js" . DIRECTORY_SEPARATOR . $language . ".json";
        $jsfh = fopen($jsfile, 'w+');
        fwrite($jsfh, "{\n");
        $jsonArray = array();
        foreach ($translations as $key => $transArray) {
            $origKey = $key;
            $key = addslashes($key);
            if ($transArray[$language]) {
                $value = $transArray[$language];
            } else {
                $value = $language;
            }
            $value = str_replace('"', '\\"', $value);
            fwrite($fh, "#: ----\n");
            fwrite($fh, "msgid \"{$key}\"\n");
            fwrite($fh, "msgstr \"{$value}\"\n");
            //fwrite($jsfh,"\"$key\": \"$value\",\n");
            $jsonArray[] = "\"{$origKey}\": \"{$value}\"";
            //$value;
        }
        fclose($fh);
        phpmo_convert($pofile, $path . "openevsys.mo");
        fwrite($jsfh, implode(",\n", $jsonArray));
        fwrite($jsfh, "\n}");
        fclose($jsfh);
    }
}