django2.0 international не работает в моей серверной среде - PullRequest
0 голосов
/ 25 мая 2018

Я на некоторое время поймал проблему.Я делаю в качестве документации, и я получаю результат, как я хочу в локальной среде.Не только используя 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',
]

И URL-адрес .mo,.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, чтобы запустить мой код на сервере, чтобы проверить, работает ли перевод.Ответ - нет!

Системная версия моего сервера - Ubantu 16.04, версия gettext на моем сервере - 0.19.7-2ubuntu3.Я использую apt-get для установки gettext.

А кто знает, как решить мой вопрос?

1 Ответ

0 голосов
/ 27 мая 2018

Я преодолел эту проблему, изменив URL /project/locale/zh_hans/LC_MESSAGES/xxx.mo 'на /project/locale/zh/LC_MESSAGES/xxx.mo'.

...