我正在尝试创建一个使用 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 文件可能出了问题,因为与 44Kb 的 .po 文件相比,它的大小只有 421 字节
编辑 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 文件中缺少翻译消息,用适当的消息替换它们然后运行python manage.py compilemessages
命令,现在翻译工作就像一个魅力!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句