Skip empty message strings in Console\PoToPhp

- Fix issue with empty plurals not displaying the defaut translation string
This commit is contained in:
Hypolite Petovan 2021-01-30 22:57:39 -05:00
parent 185adc61f0
commit 3c4d3dc2d0
1 changed files with 13 additions and 15 deletions

View File

@ -115,19 +115,15 @@ HELP;
} }
if ($k != '' && substr($l, 0, 7) == 'msgstr ') { if ($k != '' && substr($l, 0, 7) == 'msgstr ') {
if ($ink) {
$ink = false;
$out .= '$a->strings["' . $k . '"] = ';
}
if ($inv) {
$out .= '"' . $v . '"';
}
$v = substr($l, 8, $len - 10); $v = substr($l, 8, $len - 10);
$v = preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $v); $v = preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $v);
$inv = true; if ($v != '') {
$out .= '$a->strings["' . $k . '"] = "' . $v . '"';
} else {
$k = '';
$ink = false;
}
} }
if ($k != "" && substr($l, 0, 7) == 'msgstr[') { if ($k != "" && substr($l, 0, 7) == 'msgstr[') {
@ -147,11 +143,13 @@ HELP;
$match = []; $match = [];
preg_match("|\[([0-9]*)\] (.*)|", $l, $match); preg_match("|\[([0-9]*)\] (.*)|", $l, $match);
$out .= "\t" if ($match[2] !== '""') {
. preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $match[1]) $out .= "\t"
. ' => ' . preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $match[1])
. preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $match[2]) . ' => '
. ",\n"; . preg_replace_callback($escape_s_exp, [$this, 'escapeDollar'], $match[2])
. ",\n";
}
} }
if (substr($l, 0, 6) == 'msgid_') { if (substr($l, 0, 6) == 'msgid_') {