首页 > 解决方案 > Django i18n 翻译在生产中不起作用(Heroku)

问题描述

我的翻译在本地工作,但在 Heroku 的生产中,我的网站在更改语言后仍保持其默认语言(英语)。

这些在我的settings.py文件中:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

USE_I18N = True
USE_L10N = True

LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]

这是我的结构:

myproject
├── Procfile
├── locale
│   └── fr
│       └── LC_MESSAGES
│           ├── django.mo
│           └── django.po
├── myproject
│   ├── __init__.py
│   └── settings.py

我认为这是一个路径问题,所以我通过 SSH 连接到我的 Heroku 应用程序并打印LOCALE_PATHS

>>> from myproject.settings import LOCALE_PATHS
>>> print(LOCALE_PATHS)
['/app/locale']

pwdlocale/回报pwd /app/locale

我做错什么了?

标签: djangoherokudjango-i18n

解决方案


我发现了问题:
我的django.mo文件被忽略了,.gitignore因为我使用了默认的 GitHub Python gitignore 文件


推荐阅读