2

目前,我正在尝试将 Zend_Translate 应用于我正在从事的项目。常规文本工作得很好,但我在翻译表格时遇到了问题。

翻译适配器在 Zend_Registry 中注册,使用 Zend_Translate 作为键。这在大多数情况下都可以正常工作,除非在显示表单之前进行翻译。

代码示例:

$subformBusiness->setLegend(_('Bedrijfsgegevens') . ':');
$subformBusiness->setLegend(_('Bedrijfsgegevens'));

假设“Bedrijfsgegevens”在对应的翻译源文件中被翻译,那么上面一行将输出为“Bedrijfsgegevens:”,而下面一行输出“Business information”。

据我所知,有三种方法可以解决这个问题。可以通过在用冒号连接之前调用存储的 Zend_Translate_Adapter 来解决它,但这会产生很多不必要的代码。另一种选择是在翻译文件中加入标点符号,但这意味着每种标点符号都应该有一个翻译。第三个选项是简单地从图例中删除冒号,但这不是我想要的。

我的问题:有没有办法告诉 Zend_Translate 忽略标点符号?

4

2 回答 2

0

据我所知,Zend_Translate 仅适用于文字字符串,并且不包含任何标点符号功能。我要做的只是从图例中删除冒号(您的第三个选项),然后以某种方式添加它(例如,使用:afterCSS 属性)。

希望有帮助,

于 2012-01-26T12:21:58.483 回答
0

为什么不在字符串中添加标点符号?好的,您必须同时翻译“Legend”和“Legend:”,但这对我来说非常有效。

例如:

$subformBusiness->setLegend(_('Bedrijfsgegevens:'));
$element->setLabel('This is a great label:');
于 2012-01-28T04:18:10.747 回答