gpt4 book ai didi

python - Django {% trans %} 模板标签给出 DjangoUnicodeDecodeError

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:28 26 4
gpt4 key购买 nike

我们正在尝试将 i18n 实现到我们的 Django 1.7.4 网络应用程序中。成功创建 .mo 和 .po 文件,希伯来语 .po 文件:

#: templates/community/profile.html:109
msgid "Games"
msgstr "משחקים"

有些包含希伯来字符(非 ascii),我创建了一个只有这个的小模板:

{% load i18n %}
{% trans "Games" %}

获取错误:

DjangoUnicodeDecodeError at /community/testtrans/
'ascii' codec can't decode byte 0xd7 in position 0: ordinal not in range(128). You passed in <django.utils.functional.__proxy__ object at 0x05A29550> (<class 'django.utils.functional.__proxy__'>)

我注意到生成的 .PO 文件被编译为 ASCII,尝试更改为 UTF-8,没有帮助

这些测试顺利通过:

  • 直接在 HTML 文件中写入希伯来语文本
  • 传递一个 View 参数 viewParams['trans_games'] = _("Games") 然后用 {{trans_games}} 在模板上显示它

我们在两台本地计算机上进行了测试:Windows 和 Mac

最佳答案

我在这里找到了解决方案: https://groups.google.com/forum/#!topic/django-users/5-EjBFQoeyU

原来我必须将这个 header 添加到 .po 文件

"Content-Type: text/plain; charset=UTF-8\n"

关于python - Django {% trans %} 模板标签给出 DjangoUnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31161440/

26 4 0