代码之家  ›  专栏  ›  技术社区  ›  culebrón

如何在Django模板中生成“嵌套”翻译字符串?

  •  1
  • culebrón  · 技术社区  · 16 年前

    Poll ends in 2 hours 23 minutes
    

    此字符串必须具有单数和复数形式的主要短语以及“hour”和“minute”。

    {% blocktrans %}Poll ends in {{ poll.expire_hours }} ??? {{ poll.expire_minutes }} ???{% endblocktrans %}
    

    ???


    解决方案:制作一个简单的标记,使用如下参数:

    {% readable_interval _('Poll ends in %s') poll.expire %}
    

    在它里面转化了 poll.expire ( timedelta )变成可读的文本('X天'/'N小时M分钟'/'N小时M分钟'/'不到一分钟')。在标记代码中编码的所有字符串都是i18。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Ignacio Vazquez-Abrams    16 年前

    如果你想用这种方式来描述它,这种类型的线会给你带来痛苦。写一个 template tag 为了它。