gpt4 book ai didi

django - 当我在 Django 站点中切换语言时没有显示翻译的字符串

转载 作者:行者123 更新时间:2023-12-02 02:31:19 25 4
gpt4 key购买 nike

我有一个相当简单的 Django (1.1) 站点,我需要一些基本的界面和其他文本在两种语言之间进行翻译。我已经使用 manage.py makemessages 创建了 po 文件,翻译它们(使用 poedit),并使用 manage.py compilemessages 编译 mo 文件如 i18n docs for Django 中所述.

但问题是;大多数字符串仍然以原始语言显示......

  • 我检查了 po 文件实际上包含所有字符串
  • 我检查了上次翻译工作后新生成的 mo 文件
  • 当我使用 getlang() 切换时,语言确实发生了变化方法
  • 当我切换
  • 时,一些字符串 -do- 最终会被翻译
  • 但大多数不...

  • 不太确定还有什么地方可以看...例如,有没有什么应用程序可以用来检查编译的 mo 文件是否有效和完整?这些字符串可以缓存吗? (我没有使用任何缓存中间件)

    最佳答案

    找到了!!在拔头发试图弄清楚是什么导致我的困境时,我评论了 django.middleware.locale.LocaleMiddleware来自我的 MIDDLEWARE_CLASSES并刷新页面以尝试一切。显然,这只是一起关闭了翻译,但是当我再次打开它时,我所有的翻译好的字符串都显示为它们应该一直存在。

    所以我在猜测,当您打开语言环境中间件时,某个地方会被编译/缓存,而刷新它的唯一方法是将其关闭再打开。重新启动服务器没有帮助,所以这有点违反直觉,但谁在乎它的工作原理! :)

    关于django - 当我在 Django 站点中切换语言时没有显示翻译的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734902/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com