django - 如何在 Django 模板中制作 "nested"翻译字符串?

标签 django django-templates internationalization

这是我必须翻译的短语:

Poll ends in 2 hours 23 minutes

该字符串必须包含主短语以及单数和复数形式的“小时”和“分钟”。

{% 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 化。

最佳答案

如果您尝试以这种方式国际化这种类型的字符串,将会给您带来痛苦。写一个template tag为了它。

关于django - 如何在 Django 模板中制作 "nested"翻译字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923688/

相关文章:

Django - 'helpers' 不是有效的标签库

python - 无法解析余数 : '!=None' from '!=None' | Django Admin

python - 当我从多个复选框获取数据时,格式是什么?我可以得到一份 list 吗?

django - 如何修改django-celery web界面进行周期性调度

Grails:组织 i18n 包

python - Django - 上传有效图像

python - 使用 GeoDjango 进行 3d 距离计算

python - 如何使模型中的整数字段固定为十个数字输出

r - {shinydashboard} 的标题和侧边栏中的项目未使用 {shiny.i18n} 进行翻译

internationalization - “zh-Hans”形式的语言代码属于什么标准?