Перевод Django на пользовательский язык работает в разработке, но не в производстве - PullRequest
0 голосов
/ 05 февраля 2019

Для проекта Django, над которым я работаю, я создал перевод с именем en-ORGNAME, который отражает конкретный английский жаргон, используемый в целевой организации.Я использую несколько экземпляров этого приложения для нескольких организаций и хочу иметь возможность настроить жаргон в соответствии с организацией клиента.

Это началось довольно неплохо, после запуска django makemessages -l en_ORGNAME я получил с.PO файл, который я мог бы перевести.Запуск compilemessages убедился, что у меня также есть файл .mo.

Приложение использует только параметр LANGUAGE_CODE для определения языка (без контекстного процессора или URL-адресов).Путь локали установлен на

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

Когда я запускаю приложение (используя docker-compose и сервер разработки), все работает хорошо, и мои переводы отображаются, как и ожидалось.Однако когда я развертываю приложение (используя тот же образ докера) с помощью Rancher, пользовательский перевод перестает работать.Я использовал переменную окружения, чтобы установить язык на уровне контейнера, и все остальные языки работают нормально.

Я тестировал тот же стек в разработке (NGINX, Gunicorn, Django) и мои собственные переводческие работы.Я попытался добавить пользовательский перевод в словарь django.conf.locale (согласно Добавить пользовательский язык для локализации в приложении Django ).Не имеет значения, что так всегда.С или без настроенного языкового словаря пользовательские переводы работают на разработке, но не работают на производстве.

Любые идеи приветствуются.

1 Ответ

0 голосов
/ 07 февраля 2019

После тщательного анализа и обсуждения с моим дорогим другом и коллегой @sandertuit мы обнаружили, что en-ORG - это просто слишком много символов. Расширение языкового варианта может содержать только 2 символа в соответствии со стандартным форматированием, поэтому теперь я использую en-OR.Теперь все отлично работает.Почему это работает на развитие, все еще озадачивает меня.Также большое спасибо @Risadinha за вашу помощь.

...