2012-12-08 76 views
0

变量$ status分配了字符串值'stop'或'go'(在php action中)。防止gettext转换

在视图中,我想在这样的方式“停止”显示为红色和“走出去”以绿色显示的$状态值。

所以我写是这样的:在我的CSS

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

和定义的类 “停/启”。一切工作正常,直到我开始通过在_()中包装字符串来使其成为多语言。现在,gettext不仅可以翻译实际显示的字符串,还可以翻译类名(我不想)。有没有像ungettext,这样我可以写:

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

并获得未翻译的类名?

我意识到,我可以从动作发送一个布尔值,并使用if语句在视图中创建我想要的东西。或者(更丑陋),我可以在CSS中添加翻译的类名称。但是有没有更优雅的方式?

回答

3

我想你是在思考问题。为什么不简单地在动作中创建另一个变量,比如说$ status_stye,而不是将这个转换应用到?这样你就可以拥有你想要的CSS类和文本的翻译版本。

+1

非常这。当我今天出局时,考虑这个评论是一个优惠的借条。 – Charles

+0

那种你现在被称为“代码味道”的感觉。你会感觉好些。 :) –