【发布时间】:2015-02-11 18:56:47
【问题描述】:
目前,我的 Django 项目的模板文件中有以下代码:
{% blocktrans with type=content.get_type %}Edit this {{ type }}{% endblocktrans %}
{{ type }} 是一个字符串,其值可以是 "lecture" 和 "exercise"。这是.po 文件中的输出:
msgid "Edit this %(type)s"
msgstr ""
这适用于不共轭对象的语言,例如英语。对于这样做的语言,例如芬兰语,这将导致问题。
在芬兰语中,名词“lecture”翻译为“luento”,在这种特定情况下所需的部分形式是共轭“luentoa”。名词“exercise”翻译为“tehtävä”或“harjoitus”,其分词形式为“tehtävää”和“harjoitusta”。
有没有办法,例如,在这种情况下为单词添加特定的翻译?或者也许有某种基于条件的方式来填充msgstr?
显然以下方法不起作用,因为单词的共轭形式以不同的字符结尾:
msgstr "Muokkaa tätä %(type)sa"
(这将正确地导致“luentoa”,但错误地导致“tehtäväa”。)
【问题讨论】:
标签: django internationalization gettext