对于一小部分文本,我们使用 django standart {% trans %} 标签
如何处理常见问题、术语和其他静态页面等大文本
请您参考如下方法:
有一个{% blocktrans %}您可以使用的模板标签。
您也可以自己编写一个简单的模板标签,其中包含一个基于当前语言的模板。
{% i18ninclude "faq/question1.html" "en" %}
将包括 faq/question1.en.html。这是代码:
import os
from django import template
register = template.Library()
@register.simpletag
def i18ninclude(template_name, language):
template_name, extension = os.path.splitext(template_name)
template_name = '%s.%s%s' % (template_name, language, extension)
return template.loader.render_to_string(template_name)
将其放入您应用的模板标签库中。我还建议阅读 documentation about custom templatetags如果您还没有这样做。
