Django模板中多个可复数化变量的国际化处理
我正在对我们的Django项目进行国际化,也就是在我们的模板中添加 {% blocktrans %}
。我知道可以使用 count
和 {% plural %}
来处理变量的不同字符串。不过,我有一个字符串里面有两个变量,每个变量都需要变成复数,也就是说有4种可能的选项。
举个例子,我的字符串是 "你有 {{ num_unread }} 条未读消息{{ num_unread|pluralize }},总共有 {{ total }} 条消息{{ total|pluralize }}"
我该如何把它转换成 blocktrans
标签呢?
1 个回答
4
经过一些进一步的研究和阅读,特别是关于gettext的内容,我觉得这件事可能做不到。gettext的文档只允许一个变量来控制复数形式。如果要用两个变量来处理复数,可能会遇到问题,因为在阿拉伯语中,你需要翻译出36个不同的字符串。
最后,我只是绕过了最初的问题,把它分成了两个字符串来处理。