gpt4 book ai didi

php - 如何在 php 中隐藏 gettext 信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:15 25 4
gpt4 key购买 nike

我正在使用 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 manual 中读到:

This also has another advantage, as the empty string in a PO file GNU gettext is usually translated into some system information attached to that particular MO file, and the empty string necessarily becomes the first in both the original and translated tables, making the system information very easy to find.

可能你的.po文件包含msgid,它是一个空字符串,它的值只是系统信息。

因此,当您调用 _("") 时,您会得到它。如果找不到,您可以尝试传递一些默认字段:

_($checkArray[$row] ?: "default")

关于php - 如何在 php 中隐藏 gettext 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com