我陷入了一段时间的问题。我作为文档,在本地环境中得到我想要的结果。不仅使用python3 manage runserver,而且还使用uwsgi --http :8000 xxx.uwsgi。但是,在我将文件上传到服务器后,我无法获得与本地环境相同的结果。
以下是配置:
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
# print(LOCALE_PATHS)
LANGUAGE_CODE = 'en-us'
LANGUAGES = [
('en-us', t_l('English')),
('zh-hans', t_l('Chinese'))
]
USE_TZ = True
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'util.middleware.MultipleDomainMiddleware',
'util.middleware.VisitHistoryMiddleware',
'django.middleware.gzip.GZipMiddleware',
'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',
# 'debug_toolbar.middleware.DebugToolbarMiddleware',
]而.mo的url,.po文件是'/project/locale/zh_hans/LC_MESSAGES/xxx.po‘、'/project/locale/zh_hans/LC_MESSAGES/xxx.mo’。
当然,我将{% load i18n %}添加到我的网页顶部。该函数在本地环境中运行良好,但在服务器环境中不工作。
我使用nginx + uwsgi + django部署我的服务器。我可以确保服务器得到实际的request.LANGUAGE_CODE。我尝试使用python3 manage runserver和uwsgi --http在服务器上运行我的代码,以查看翻译是否有效。答案是不!
我的服务器的系统版本是Ubantu16.04,服务器中的gettext版本是0.19.7-2ubuntu3。我使用apt-get安装gettext。
谁知道怎么解决我的问题?
发布于 2018-05-27 17:28:35
通过将url /project/locale/zh_hans/LC_MESSAGES/xxx.mo‘改为/project/locale/zh/LC_MESSAGES/xxx.mo’,我克服了这个问题。
https://stackoverflow.com/questions/50527533
复制相似问题