django ugettext msguniq:错误太多,中止了

问题描述 投票:1回答:1

我正在使用ugettext进行翻译,这很好,但我不知道发生了什么事情,当我在命令上写django-admin makemessages时,它显示了很多错误:

CommandError: errors happened while running msguniq
 C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite       \locale\d
 jango.pot:25:3: syntax error 
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:25: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:25: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:25: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:25: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:42:3: syntax error
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:42: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:42: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:55:3: syntax error
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:55: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:55: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:60:3: syntax error
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:60: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:60: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:60: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:60: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:65:3: syntax error
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:65: keyword "models" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:65: keyword "py" unknown
C:\Users\pouyasystem\Desktop\Project\BallBearingProject\BallbearingSite\locale\d
jango.pot:70:3: syntax error
msguniq: too many errors, aborting

我在设置中仔细检查了这些行:

STATIC_DIR=os.path.join(BASE_DIR,"static")

MIDDLEWARE_CLASSES = (
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',

)

django-admin makemessages命令正在执行时,django.pot文件出现在“fa”文件夹中(文件夹下的文件夹,直到Lc_MESSAGES)但是在错误之后这个文件消失了,我想知道为什么它试图在fa文件夹中创建.POT文件而不是在django.po和django.mo旁边的Lc_MESSAGES?

当我手动将代码添加到django.po时,如:

#: .\models.py:29
msgid "car"
msgstr "نوع خودرو"

并执行django-admin compilemessages命令,翻译工作,但makemessages不起作用

django translation gettext
1个回答
0
投票

在你的应用程序内创建一个文件夹,并将其命名为locale,然后在locale中创建另一个文件夹,并将其命名为fa,用于PERSIAN语言。

之后,您的项目结构必须与下面的相同:

- your_project
- your_app
  - locale
    - fa
manage.py
...

现在使用cd命令并转到your_app目录,然后使用django-admin makemessages

之后,您的项目结构必须与下面的相同:

- your_project
- your_app
  - locale
    - fa
      - LC_MESSAGES
          django.po
manage.py
...
© www.soinside.com 2019 - 2024. All rights reserved.