【问题标题】:django makemessages - CommandError: errors happened while running msguniq - syntax errordjango makemessages - 命令错误:运行 msguniq 时发生错误 - 语法错误
【发布时间】:2019-03-26 23:34:15
【问题描述】:

我在 Windows 7 操作系统上使用 django 1.10.5 和 python 3.6.5。

我有一个包含现有翻译字符串的测试应用。

makemessages 命令过去有效。

但是,在上周我尝试运行 django-admin makemessages 命令时收到以下错误:

(myappenv36) C:\Users\me\desktop\myapp\myapp [master ≡ +0 ~13 -0 !]> dja
ngo-admin makemessages
CommandError: errors happened while running msguniq
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783:3: syntax error
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "core" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "models"
unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "py" unkn
own
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "core" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "models"
unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1783: keyword "py" unkn
own
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1785: keyword "core" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1785: keyword "models"
unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:1785: keyword "py" unkn
own
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4543:3: syntax error
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4543: keyword "template
s" unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4543: keyword "base" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4543: keyword "resume_m
enu" unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4543: keyword "html" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4545: keyword "template
s" unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4545: keyword "header"
unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4545: keyword "header"
unknown
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4545: keyword "html" un
known
C:\Users\me\desktop\myapp\myapp\locale\django.pot:4548: keyword "template
s" unknown
msguniq: too many errors, aborting

我已经在 Google 和 SO 上彻底搜索过这个问题的答案,但我一无所获。

这些是我为解决此问题所做的尝试:

1. 关注django 1.10 docs 并从download 重新安装gettext。

2. 将我的所有 .po 和 .mo 文件从我的语言环境目录中移出,并尝试在空翻译文件上运行 django-admin makemessages。这给了我同样的错误信息。

谁能告诉我错误消息以及如何解决此问题?

谢谢。

【问题讨论】:

  • 您找到解决此错误的方法了吗?我有同样的错误,我不知道如何解决它
  • Jacek B Budzynski - 我无法正确记住我的解决方案。但是,这篇文章可能是您的解决方案:stackoverflow.com/questions/37559647/django-makemessages-issue/…
  • 谢谢!最后,我修改了冲突的文本并删除了带有重音符号的字符(Fecha creación > Fecha creacion)并且可以正常工作。由于某些原因,在这个文件中重音符号失败了,尽管在项目的其余部分中它们可以正常工作
  • @Jacek B Budzynski - 既然你提到了这个问题,我现在记得重音确实会导致编译翻译文件出现问题(我正在从英语翻译成法语)。只有当我完成查找并用可接受的口音替换时,问题才解决。

标签: python django translation


【解决方案1】:

对我来说,在我的 django.po 文件中,这一行前面缺少一个 #

: .\my_project\templates\base.html:114

做完之后:

$ django-admin makemessages --locale 'de_DE' --ignore=venv/*

错误代码:

#: .\my_project\templates\account\signup.html:9
#: .\my_project\templates\account\signup.html:19
: .\my_project\templates\base.html:114
msgid "Sign Up"
msgstr "Registrieren"

好代码:

#: .\my_project\templates\account\signup.html:9
#: .\my_project\templates\account\signup.html:19
: .\my_project\templates\base.html:114
msgid "Sign Up"
msgstr "Registrieren"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多