Django 对字符串常量的翻译
Django Translation of String Constants
在 Django 中,我有一个字符串常量文件(例如错误消息),我将把它作为用户可见内容传递给模板。我想将它们与 Django 的翻译框架一起使用。执行此操作的最佳方法是什么?
最好的方法是在常量文件中使用 Django 的 lazy translation:
from django.utils.translation import ugettext_lazy
STRING_CONSTANT1 = ugettext_lazy("Here is some string")
...
如果使用gettext_lazy
,渲染模板时可能运行出现以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\uxxxx' in
position 0: ordinal not in range(128)
使用 ugettext_lazy
而不是 gettext_lazy
解决了这个问题。
在 Django 中,我有一个字符串常量文件(例如错误消息),我将把它作为用户可见内容传递给模板。我想将它们与 Django 的翻译框架一起使用。执行此操作的最佳方法是什么?
最好的方法是在常量文件中使用 Django 的 lazy translation:
from django.utils.translation import ugettext_lazy
STRING_CONSTANT1 = ugettext_lazy("Here is some string")
...
如果使用gettext_lazy
,渲染模板时可能运行出现以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\uxxxx' in position 0: ordinal not in range(128)
使用 ugettext_lazy
而不是 gettext_lazy
解决了这个问题。