aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kostikov <max@kostikov.co>2018-07-29 02:11:27 +0200
committerMax Kostikov <max@kostikov.co>2018-07-29 02:11:27 +0200
commit77dfe63d909202526fd6ffae25f4c14850c5c2a1 (patch)
tree1e4582c37c523ae7f8e4e4597039801b131c1b08
parentd85c849668c2d0b7e1eb010005e69c02b7b762c4 (diff)
downloadvolse-hubzilla-77dfe63d909202526fd6ffae25f4c14850c5c2a1.tar.gz
volse-hubzilla-77dfe63d909202526fd6ffae25f4c14850c5c2a1.tar.bz2
volse-hubzilla-77dfe63d909202526fd6ffae25f4c14850c5c2a1.zip
Process msgctxt plurals
-rw-r--r--util/php2po.php24
1 files changed, 15 insertions, 9 deletions
diff --git a/util/php2po.php b/util/php2po.php
index 459226f85..99578a12d 100644
--- a/util/php2po.php
+++ b/util/php2po.php
@@ -33,9 +33,16 @@
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);
$v = "";
if (isset(App::$strings[$k])) {
$v = App::$strings[$k];
+ } else {
+ $k = "__ctx:".$c."__ ".$k;
+ if (isset(App::$strings[$k]))
+ $v = App::$strings[$k];
+ }
+ if (!empty($v)) {
if (is_array($v)) {
$l = "";
$n = 0;
@@ -53,20 +60,19 @@
if ($ink) {
$k .= trim($l,"\"\r\n");
- $k = str_replace('\"','"',$k);
}
- if (substr($l,0,6)=="msgid "){
- $k = str_replace("msgid ","",$l);
- if ($k != '""' ) {
- $k = trim($k,"\"\r\n");
- $k = str_replace('\"','"',$k);
- } else {
- $k = "";
- }
+ if (substr($l,0,6)=="msgid ") {
+ preg_match('/^msgid "(.*)"/',$l,$m);
+ $k = $m[1];
$ink = True;
}
+ if (substr($l,0,8)=="msgctxt ") {
+ preg_match('/^msgctxt "(.*)"/',$l,$m);
+ $c = $m[1];
+ }
+
$out .= $l;
}
}