- if ($k!="" && substr($l,0,7)=="msgstr "){
- $ink = False;
- $v = '""';
- //echo "DBG: k:'$k'\n";
- if (isset($a->strings[$k])) {
- $v= '"'.$a->strings[$k].'"';
- //echo "DBG\n";
- //var_dump($k, $v, $a->strings[$k], $v);
- //echo "/DBG\n";
-
+ $infile = file($phpfile);
+ foreach($infile as $l) {
+ $l = trim($l);
+ if (startsWith($l, 'function string_plural_select_')) {
+ $lang = str_replace( 'function string_plural_select_' , '', str_replace( '($n){','', $l) );
+ }
+ if (startsWith($l, 'return')) {
+ $lang_logic = str_replace( '$', '', trim( str_replace( 'return ' , '', $l) , ';') );
+ break;
+ }
+ }
+
+ echo "Language: $lang\n";
+ echo "Plural forms: $lang_pnum\n";
+ echo "Plural logic: $lang_logic;\n";
+
+ $out .= sprintf('"Language: %s\n"', $lang) ."\n";
+ $out .= sprintf('"Plural-Forms: nplurals=%s; plural=%s;\n"', $lang_pnum, $lang_logic) ."\n";
+ $out .= "\n";
+
+ print "\nLoading base message.po...";
+
+ // load base messages.po and extract msgids
+ $base_msgids = array();
+ $norm_base_msgids = array();
+ $base_f = file("util/messages.po") or die("No base messages.po\n");
+ $_f = 0; $_mid = ""; $_mids = array();
+ foreach( $base_f as $l) {
+ $l = trim($l);
+ //~ print $l."\n";
+
+ if (startsWith($l, 'msgstr')) {
+ if ($_mid != '""') {
+ $base_msgids[$_mid] = $_mids;
+ $norm_base_msgids[preg_replace(NORM_REGEXP, "", $_mid)] = $_mid;
+ //~ print "\t\t\t".$_mid. print_r($base_msgids[$_mid], true);