diff options
author | Mario <mario@mariovavti.com> | 2018-07-30 10:01:19 +0200 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2018-07-30 10:01:19 +0200 |
commit | 4e402dca7de0526b969c39d161fd715b9809ca96 (patch) | |
tree | 1649103b8865671a81145b5d499edc6a095ec0c6 | |
parent | 149071bf0cb5f59d5462cd1857f8d95f3daa72cb (diff) | |
parent | cb4afd39bd372597c66f6e14c276861f2d2b1781 (diff) | |
download | volse-hubzilla-4e402dca7de0526b969c39d161fd715b9809ca96.tar.gz volse-hubzilla-4e402dca7de0526b969c39d161fd715b9809ca96.tar.bz2 volse-hubzilla-4e402dca7de0526b969c39d161fd715b9809ca96.zip |
Merge branch 'patch-13' into 'dev'
Workaround on possible error with php2po
See merge request hubzilla/core!1247
-rw-r--r-- | util/php2po.php | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/util/php2po.php b/util/php2po.php index 99578a12d..c710b86fe 100644 --- a/util/php2po.php +++ b/util/php2po.php @@ -26,32 +26,36 @@ $out = ""; $infile = file($pofile); - $k=""; + $k = ""; + $c = ""; $ink = False; foreach ($infile as $l) { + $l = trim($l, " "); if (!preg_match("/^msgstr\[[1-9]/",$l)) { if ($k!="" && (substr($l,0,7)=="msgstr " || substr($l,0,8)=="msgstr[0")){ $ink = False; - $k = str_replace('\"','"',$k); + $k = stripslashes($k); $v = ""; if (isset(App::$strings[$k])) { $v = App::$strings[$k]; } else { $k = "__ctx:".$c."__ ".$k; - if (isset(App::$strings[$k])) + if (isset(App::$strings[$k])) { $v = App::$strings[$k]; + $c = ""; + }; } if (!empty($v)) { if (is_array($v)) { $l = ""; $n = 0; foreach ($v as &$value) { - $l .= "msgstr[".$n."] \"".str_replace('"','\"',$value)."\"\n"; + $l .= "msgstr[".$n."] \"".addcslashes($value,"\"\n")."\"\n"; $n++; } } else { - $l = "msgstr \"".str_replace('"','\"',$v)."\"\n"; + $l = "msgstr \"".addcslashes($v,"\"\n")."\"\n"; } } } @@ -59,17 +63,18 @@ if (substr($l,0,6)=="msgid_" || substr($l,0,7)=="msgstr[") $ink = False; if ($ink) { - $k .= trim($l,"\"\r\n"); + preg_match('/^"(.*)"$/',$l,$m); + $k .= $m[1]; } if (substr($l,0,6)=="msgid ") { - preg_match('/^msgid "(.*)"/',$l,$m); + preg_match('/^msgid "(.*)"$/',$l,$m); $k = $m[1]; $ink = True; } if (substr($l,0,8)=="msgctxt ") { - preg_match('/^msgctxt "(.*)"/',$l,$m); + preg_match('/^msgctxt "(.*)"$/',$l,$m); $c = $m[1]; } |