Twig对0结果使用特定值,1结果和多个结果

时间:2015-07-07 18:16:42

标签: php symfony twig

在Symfony2中处理文章模块时,我必须显示读取内容的次数。要做出句子'语法正确我使用下面的代码。

这显而易见,但让我觉得我无法找到更简洁,更清洁的方式。 是否有像article.getReads|length|displayresult('No results', '%d result', '%d results)这样的东西,或者我必须自己做这件事吗?

{% if article.getReads|length == 0 %}Be the first one to read this!
{% else %}
  {{ article.getReads|length|number_format(0, ',', '.') }} 
  read{% if article.getReads|length != 1 %}s{% endif %}
{% endif %}

1 个答案:

答案 0 :(得分:5)

您可以按照此处所述使用symfony2复数翻译组件。 。





例如,您可以声明如下文件:




  #src / Acme / DemoBundle /资源/ translations / messages.en.xliff

 < trans-unit id =“11”>
 <信源> article.read< /源>
 < target> {0}无结果| {1}一个结果| [2,Inf]结果< / target>
 < / trans-unit>
  




广告在树枝模板中使用如下:


&# xA;
  {{'article.read'| transchoice(article.getReads | length)}}
  




Hope这个帮助