]> git.mxchange.org Git - friendica.git/blobdiff - util/po2php.php
Litte typo ...
[friendica.git] / util / po2php.php
old mode 100755 (executable)
new mode 100644 (file)
index c703172..881a9b2
@@ -1,7 +1,8 @@
 <?php
+define("DQ_ESCAPE", "__DQ__");
 
 
-function po2php_run($argv, $argc) {
+function po2php_run(&$argv, &$argc) {
 
        if ($argc!=2) {
                print "Usage: ".$argv[0]." <file.po>\n\n";
@@ -38,15 +39,19 @@ function po2php_run($argv, $argc) {
                return str_replace('$','\$',$match[0]);
        }
        foreach ($infile as $l) {
+               $l = str_replace('\"', DQ_ESCAPE, $l);
                $len = strlen($l);
                if ($l[0]=="#") $l="";
                if (substr($l,0,15)=='"Plural-Forms: '){
                        $match=Array();
                        preg_match("|nplurals=([0-9]*); *plural=(.*)[;\\\\]|", $l, $match);
                        $cond = str_replace('n','$n',$match[2]);
-                       $out .= 'function string_plural_select_' . $lang . '($n){'."\n";
+                       // define plural select function if not already defined
+                       $fnname = 'string_plural_select_' . $lang;
+                       $out .= 'if(! function_exists("'.$fnname.'")) {'."\n";
+                       $out .= 'function '. $fnname . '($n){'."\n";
                        $out .= '       return '.$cond.';'."\n";
-                       $out .= '}'."\n";
+                       $out .= '}}'."\n";
                }
                
 
@@ -54,7 +59,7 @@ function po2php_run($argv, $argc) {
 
                if ($k!="" && substr($l,0,7)=="msgstr "){
                        if ($ink) { $ink = False; $out .= '$a->strings["'.$k.'"] = '; }
-                       if ($inv) {     $inv = False; $out .= '"'.$v.'"'; }
+                       if ($inv) { $inv = False; $out .= '"'.$v.'"'; }
                        
                        $v = substr($l,8,$len-10);
                        $v = preg_replace_callback($escape_s_exp,'escape_s',$v);
@@ -113,6 +118,7 @@ function po2php_run($argv, $argc) {
        if ($inv) {     $inv = False; $out .= '"'.$v.'"'; }
        if ($k!="") $out .= $arr?");\n":";\n";
        
+       $out = str_replace(DQ_ESCAPE, '\"', $out);
        file_put_contents($outfile, $out);
        
 }