python django 翻译 .po 和 .mo 文件不翻译文件

python django translation .po and .mo file not translating the files

我正在尝试创建一个使用 2 种语言的项目 德语和英语

我的设置文件

  LOCALE_PATHS = (os.path.join(BASE_DIR, 'app /locale'),)

MIDDLEWARE = (
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

我如何运行这个工具

python manage.py makemessages -a 
This tool runs in debug mode
processing locale en
processing locale de
python manage.py compilemessages
This tool runs in debug mode
processing file django.po in app/locale/de/LC_MESSAGES
processing file django.po in app/locale/en/LC_MESSAGES

文件位置app_ac/locale/de/LC_MESSAGES

-rw-rw-r--. 1 root root 421 May 11 11:44 django.mo
-rw-rw-r--. 1 root root 44K May 11 11:43 django.po

我没有得到想要的翻译,我觉得 .mo 文件可能出了点问题,因为与 .po 文件相比大小只有 421 字节,而 .po 文件是 44Kb

编辑 1

我刚刚在 django.po 文件中发现

文件看起来像这样

#: project/settings.py:184
msgid "German"
msgstr ""

#: project/settings.py:185
msgid "English"
msgstr ""

而不是(理想情况下,对不起我可怜的德语)

#: .\project\settings.py:185 
msgid "German" 
msgstr "Deutsch" 

#: .\project\settings.py:186 
msgid "English" 
msgstr "Englisch" 

我刚刚发现 po 文件中缺少 t运行slation 消息,用适当的消息替换它们然后 运行 python manage.py compilemessages 命令,现在 t运行slation 就像一个魅力!!