You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中{% trans %}生效但{% blocktrans %}翻译失效问题求解

问题原因与修复方案
  • 核心匹配错误:你在{% blocktrans %}标签内填写的msgid前后带有换行、缩进空白,Django多语言提取工具makemessages会完整保留这些空白生成msgid,和你手动写在.po文件里无空白的纯大写msgid无法匹配,因此不会触发翻译。
    两种修复方式二选一即可:
    1. 把标签和字符串写在同一行,去掉多余空白:
    {% blocktrans with USERNAME=worker.username MANAGER=manager.username %}LOGIN_INFORMATION_FOR_USER_HAVE_BEEN_RESET_BY_MANAGER{% endblocktrans %}
    
    1. 给blocktrans添加trimmed参数,自动过滤前后空白:
    {% blocktrans trimmed with USERNAME=worker.username MANAGER=manager.username%}
        LOGIN_INFORMATION_FOR_USER_HAVE_BEEN_RESET_BY_MANAGER
    {% endblocktrans %}
    
  • 编译验证:修改.po文件后需要执行compilemessages命令生成最新的.mo二进制文件,重新部署后修改才会生效。
  • 排查技巧:可以直接查看makemessages自动生成的.po文件对应条目,确认自动提取的msgid实际内容,避免手动编写的msgid和实际提取结果不匹配。

内容的提问来源于stack exchange,提问作者0xDr0id

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:24:04