我正在使用getText php函数编写简单的脚本。一切都很好,但我试图监测什么变化。
例如,当用户更改2个字段
时Type: (old) Agreement (new) Anex
Notes: (old) #empty field# (new) Agreement ID: 123
我的EditInfo发电机看起来像
foreach($checkArray as $row => $value)
{
if ($addData[$row] != $checkArray[$row])
{
$editInfo .= ' <b>' . _("FILED") . '</b> ' . _("$row") . ' <b>' . _("CHANGED FROM") . '</b> ' . _($checkArray[$row]) . ' <b>' . _("FOR") . '</b> ' . _($addData[$row]) . '<br />';
}
}
但是我收到了这样的信息
<b>POLE</b> Type <b>ZMIENIONE Z</b> Umowa <b>NA</b> Aneks <br />
<b>POLE</b> Notes <b>ZMIENIONE Z</b> Project-Id-Version:
POT-Creation-Date:
PO-Revision-Date:
Language-Team:
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Generator: Poedit 2.0.9
Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
Last-Translator:
Language: pl
<b>NA</b> Agreement ID: 123<br />
您可以看到所有翻译都很好,但是当字段为空时,getText函数返回一些疯狂的东西,但我想拥有
<b>Pole</b> Type <b>ZMIENIONE Z</b> Umowa <b>NA</b> Aneks<br>
<b>Pole</b> Notes <b>ZMIENIONE Z</b> <b>NA</b> Agreement ID: 123<br>
所以我的问题是我应该在服务器中更改PHP或PHP设置以隐藏该getText信息。我要设置"如果getText找不到翻译只写纯文本",在这种情况下什么都没有。
问候
我们可以在getText手册中阅读:
这也具有另一个优势,因为PO文件中的空字符串通常被翻译成附加到该特定MO文件的某些系统信息,并且空字符串必然成为原始表和翻译表中的第一个信息,从而制作系统信息非常容易找到。
您的.po
文件可能包含一个空字符串的msgid
,其值只是系统信息。
因此,当您致电_("")
时,您会得到。如果找不到的话,您可以尝试通过一些默认字段:
_($checkArray[$row] ?: "default")