diff options
author | Christian Vogeley <christian.vogeley@hotmail.de> | 2015-01-11 16:22:59 +0100 |
---|---|---|
committer | Christian Vogeley <christian.vogeley@hotmail.de> | 2015-01-11 16:22:59 +0100 |
commit | f0c7612bcd49d32e408e67ac1829ee891c677f7e (patch) | |
tree | d4cff4aa2d728524b631776ffffee71f42056421 /util/po2php.php | |
parent | 43f143a211c75138d09ceb89acc48ea7d5c31ca9 (diff) | |
parent | 10102ac2ac4d5b02012a9794e23656717ab05556 (diff) | |
download | volse-hubzilla-f0c7612bcd49d32e408e67ac1829ee891c677f7e.tar.gz volse-hubzilla-f0c7612bcd49d32e408e67ac1829ee891c677f7e.tar.bz2 volse-hubzilla-f0c7612bcd49d32e408e67ac1829ee891c677f7e.zip |
Merge remote-tracking branch 'upstream/master'
Conflicts:
doc/html/classRedmatrix_1_1Import_1_1Import-members.html
doc/html/classRedmatrix_1_1Import_1_1Import.js
Diffstat (limited to 'util/po2php.php')
-rw-r--r-- | util/po2php.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/util/po2php.php b/util/po2php.php index d3e6d190c..cf295d8cb 100644 --- a/util/po2php.php +++ b/util/po2php.php @@ -73,7 +73,7 @@ function po2php_run($argv, $argc) { } $match=Array(); preg_match("|\[([0-9]*)\] (.*)|", $l, $match); - $out .= "\t". + $out .= "\t". preg_replace_callback($escape_s_exp,'escape_s',$match[1]) ." => " .preg_replace_callback($escape_s_exp,'escape_s',$match[2]) .",\n"; @@ -83,7 +83,7 @@ function po2php_run($argv, $argc) { if ($ink) { - $k .= trim($l,"\"\r\n"); + $k .= trim_message($l); $k = preg_replace_callback($escape_s_exp,'escape_s',$k); //$out .= '$a->strings['.$k.'] = '; } @@ -93,7 +93,7 @@ function po2php_run($argv, $argc) { if ($k!="") $out .= $arr?");\n":";\n"; $arr=False; $k = str_replace("msgid ","",$l); - $k = trim($k,"\"\r\n"); + $k = trim_message($k); $k = $ctx.$k; // echo $ctx ? $ctx."\nX\n":""; $k = preg_replace_callback($escape_s_exp,'escape_s',$k); @@ -102,14 +102,14 @@ function po2php_run($argv, $argc) { } if ($inv && substr($l,0,6)!="msgstr" && substr($l,0,7)!="msgctxt") { - $v .= trim($l,"\"\r\n"); + $v .= trim_message($l); $v = preg_replace_callback($escape_s_exp,'escape_s',$v); //$out .= '$a->strings['.$k.'] = '; } if (substr($l,0,7)=="msgctxt") { $ctx = str_replace("msgctxt ","",$l); - $ctx = trim($ctx,"\"\r\n"); + $ctx = trim_message($ctx); $ctx = "__ctx:".$ctx."__ "; $ctx = preg_replace_callback($escape_s_exp,'escape_s',$ctx); } @@ -123,6 +123,14 @@ function po2php_run($argv, $argc) { } +function trim_message($str) { + // Almost same as trim("\"\r\n") except that escaped quotes are preserved + $str = trim($str, "\r\n"); + $str = ltrim($str, "\""); + $str = preg_replace('/(?<!\\\)"+$/', '', $str); + return $str; +} + if (array_search(__file__,get_included_files())===0){ po2php_run($argv,$argc); } |