/** * Enter description here... * * @param unknown_type $domain * @param unknown_type $langdir */ function compile($lang, $textdomain, $enc = 'utf-8') { if (!is_dir("{$textdomain}/{$lang}/LC_MESSAGES")) { mkdir("{$textdomain}/{$lang}/LC_MESSAGES/"); } $catalog = new PHPGettext_catalog($lang, $textdomain); $catalog->setproperty('mode', _MODE_PO_); $catalog->setproperty('lang', $lang); $headers = $this->header(); $catalog->setproperty('comments', $headers[0]); $catalog->setproperty('headers', $headers[1]); $catalog->load(); $d = dir($textdomain . "/" . $lang); while (false !== ($file = $d->read())) { if (preg_match('/.po$/', $file)) { list($file, $ext) = explode(".", $file); $catalog_aux = new PHPGettext_catalog($file, $textdomain); $catalog_aux->setproperty('mode', _MODE_PO_); $catalog_aux->setproperty('lang', $lang); $catalog_aux->load(); foreach ($catalog_aux->strings as $msgid => $string) { if (!$string->is_fuzzy) { if (is_array($string->msgstr)) { if (in_array("", $string->msgstr)) { continue; } } else { if (!$string->msgstr) { continue; } } $catalog->addentry($string->msgid, $string->msgid_plural, $string->msgstr, $string->comments); } } } } $catalog->setproperty('mode', _MODE_MO_); $catalog->save(); return true; }