0

变量 $status 被分配了字符串值 'stop' 或 'go'(在 php 操作中)。

在视图中,我想以这样一种方式显示 $status 的值:“stop”显示为红色,“go”显示为绿色。

所以我写了类似的东西:

<span class="<?=$status?>"><?= $status?></span>

并在我的 CSS 中定义了类“stop/go”。一切正常,直到我通过在操作中将字符串包装在 _() 中开始使其成为多语言。现在 gettext 不仅翻译实际显示的字符串,而且翻译类名(我不想要)。有没有类似ungettext的东西,所以我可以写:

<span class="<?=ungettext($status)?>"><?= $status?></span>

并获得未翻译的类名?

我意识到我可以从操作中发送一个 bool 并在视图中使用 if 语句来创建我想要的。或者(更难看)我可以在 css 中添加翻译的类名。但是有没有更优雅的方式呢?

4

1 回答 1

4

我觉得你想多了这个问题。为什么不简单地在动作中创建另一个变量,比如 $status_stye,你不应用翻译呢?这样你就有了你想要的 CSS 类和文本的翻译版本。

于 2012-12-08T22:30:17.217 回答