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

Django翻译未更新求助:俄文翻译显示异常

问题

尝试实现英文到俄文的翻译功能,但翻译内容始终不更新。已尝试清除缓存、删除locale文件夹、修改po文件内容等操作,均无效。

当前po文件配置:

#: core/templates/core/layout.html:59 core/templates/core/layout.html:112
msgid "Home"
msgstr "Главная"

页面实际显示的是Начало而非Главная,settings.py配置如下:

LANGUAGE_CODE = 'en'

TIME_ZONE = 'UTC'

USE_I18N = True
USE_L10N = True
USE_TZ = True

LANGUAGES = (
    ("en", ('English')),
    ("ru", ('Russian')),
)

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale/'),
)
解决思路
  • 确认po文件路径正确性:检查修改的是否是locale/ru/LC_MESSAGES/django.po(或对应app的po文件),避免误改了其他位置的文件。
  • 重新编译翻译文件:修改po文件后必须执行django-admin compilemessages命令,确保生成对应的django.mo文件,且终端无编译报错。
  • 检查模板翻译标签:确认页面中的Home文本是通过{% trans "Home" %}模板标签实现翻译的,而非硬编码内容,同时排查是否存在翻译上下文冲突。
  • 验证当前激活语言:在模板或视图中输出{{ request.LANGUAGE_CODE }},确认页面确实切换到了俄语(ru),排除语言切换失效的问题。
  • 排查翻译优先级:第三方应用或Django内置翻译可能覆盖自定义内容,可给翻译添加上下文区分,比如模板中用{% trans "Home" context "nav_bar" %},po文件中对应添加:
    msgctxt "nav_bar"
    msgid "Home"
    msgstr "Главная"
    
  • 彻底清除缓存:执行python manage.py clearcache(若启用缓存框架),同时重启开发服务器,确保旧翻译缓存被完全清空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 10:59:59