用'gettext'回显字符串时有没有办法隐藏html标签?

时间:2012-02-24 17:43:38

标签: php internationalization translation gettext

我想知道在使用php gettext函数回显字符串时是否有隐藏html标签的方法。

这是我得到的,我想在将它们放到.po文件之前从字符串中删除html标签。

<?=_('You must be logged in to add a link.<br />
If you already have a account, 
<a href="#" name="Log In">click here</a> to log in or 
<a href="#" name="Register">join us</a> now!'); ?>

这会将字符串放到.po文件中,如下所示:

You must be logged in to add a link.<br />  If you already have a account, <a href="#" name="Log In">click here</a> to log in or <a href="#" name="Register">join us</a> now!

我网站的翻译将是可公开编辑的(使用Pootle)所以我想知道有没有办法隐藏公共的HTML标签?有这样的东西:

You must be logged in to add a link. If you already have a account, click here to log in or join us now!

1 个答案:

答案 0 :(得分:1)

没有真正的方法来隐藏它们并且能够在翻译后重新插入它们,你可以使用字符位置图,但是在翻译之后,html标签的字符长度会发生变化。

如果你绝对想要避免使用html标签,那么你可以做的就是留下中断并将其转换为换行符所需的新行,然后在html标签内使用单独的翻译文本;

<?=_('You must be logged in to add a link.<br /> If you already have a account,') ?>
<a href="#" name="Log In"><?= _('click here') ?></a> <?= _('to log in or') ?>

'); ?&GT;