我想在 Django 中的一个(或多个)单独文件中包含所有模板的实际非 html 文本。目前,我的模板被以下段落塞得满满当当:
{% if request.session.lang == "en" %}
Some text in English
{% else %}
Some text in the default language
{% endif %}
模板的文本(主要语言或英语)经常被其他人更改,所以我只想拥有一些其他人也可以编辑的文件(无需编辑实际的视图文件)。在阅读了 django 文档的本地化部分之后,似乎仍然需要将文本(文档示例中的英语)硬编码到模板/视图中。
来自 django 文档的示例关于生成的 .po 文件:
msgid "Welcome to my site."
msgstr ""
我宁愿有类似的东西:
msgid APP-XY_VIEW-XY_INTRODUCTION
msgstr ""
当然,显而易见的解决方案似乎是使用类似的东西:
ugettext('APP-XY_VIEW-XY_INTRODUCTION') # in a view
但是,我想确定是否没有其他解决方案(不创建一些自定义 id 字符串文字,这些文字在每个视图/模板中都进行了硬编码)。
非常感谢!
/edit,Django 版本 1.4.5