【问题标题】:Internationalization does not work in pythonanywhere国际化在 pythonanywhere 中不起作用
【发布时间】:2021-02-01 09:15:28
【问题描述】:

上周我已将我的 Django 网站部署到 PythonAnywhere,与此同时,我对网站上的文本进行了一些更改。现在,我正在尝试使用 PythonAnywhere 中的国际化包翻译这些文本,但不知何故它不起作用。

当我运行python manage.py makemessages -l en 时,我的django.po 文件会更新并且我可以添加翻译,但是一旦我运行python manage.py compilemessages -l en,英文翻译就不会显示在网站上。

第一天,我确实让翻译工作了,但现在他们不再工作了。这可能是什么原因?有人可以帮我找到解决问题的方法吗?

谢谢!

【问题讨论】:

  • “第一天,我确实让翻译工作了,但现在它们不再工作了。” 看来你的更改破坏了它。那么你就有了一个很好的参考点。要么开始删除小部分直到你开始的地方,要么从第一天开始复制你的更改,直到你注意到中断。请记住保存当前文件的副本,以免丢失所做的更改。
  • 感谢您的回复。我只对文本做了一些小的改动(改变简单的单词和句子)。这些变化可能是原因吗?
  • 是的,您可能使翻译变得模糊,然后它们可能不会出现。您需要检查 .po 文件并确保它们没有显示为 fuzzy
  • 它们实际上并不模糊。例如,未翻译的一段文本位于po 文件中,如下所示:#: templates/QUIZ/GForm.html:23 msgid "" "De survey is beschikbaar in verschillende talen. Rechstboven in het venster " "kunt u de taal selecteren." msgstr "" "The survey is available in different languages. In the upper right corner of " "the window below you can select the language."
  • 您可以根据需要为自己的问题添加答案。它可以帮助其他面临同样问题的人。

标签: django pythonanywhere django-i18n


【解决方案1】:

显然我只是很愚蠢,因为我在 PythonAnywhere 中使用了我的开发环境中的一些命令...... 什么解决了我的问题:

  • 不要在 PythonAnywhere 中运行 python manage.py runserver,因为它会阻止您的网站更新此类内容。
  • 注意模糊翻译。

【讨论】:

  • 不错!您还可以将您的答案标记为已接受,以便将问题标记为已解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-05
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
相关资源
最近更新 更多