+ if (startsWith($l, 'msgid ')) {
+ $_f = 1;
+ $_mid = str_replace('msgid ', '' , $l);
+ $_mids = [$_mid];
+ //~ print "\t mid: $_mid \n";
+ }
+ //~ print "\t\t\t\t$_f\n\n";
+}
+
+print " done\n";
+print "Creating '$pofile'...";
+// create msgid and msgstr
+
+/**
+ * Get a string and retun a message.po ready text
+ * - replace " with \"
+ * - replace tab char with \t
+ * - manage multiline strings
+ */
+function massage_string($str) {
+ $str = str_replace('\\','\\\\',$str);
+ $str = str_replace('"','\"',$str);
+ $str = str_replace("\t",'\t',$str);
+ $str = str_replace("\n",'\n"'."\n".'"',$str);
+ if (strpos($str, "\n")!==false && $str[0]!=='"') $str = '"'."\n".$str;
+ $str = preg_replace("|\n([^\"])|", "\n\"$1", $str);
+ return sprintf('"%s"', $str);
+}
+
+function find_original_msgid($str) {
+ global $norm_base_msgids;
+ $norm_str = preg_replace(NORM_REGEXP, "", $str);
+ if (array_key_exists($norm_str, $norm_base_msgids)) {
+ return $norm_base_msgids[$norm_str];
+ }
+ return $str;
+}
+
+$warnings = "";
+foreach($a->strings as $key=>$str) {
+ $msgid = massage_string($key);