6

У меня возникла странная проблема при переводе строк (в админе) с использованием django's gettext: Локальный запуск dev-сервера все переводы отображаются корректно в администраторе, но когда проект развертывается на производственный сервер некоторые строки вообще не переведены. Я не могу определить систему, за которой затронуты строки, а какие нет!gettext translation не работает над производственной системой

Чтобы произвести впечатление, например. модель определяется как:

class Company(models.Model): 

    .... 

    class Meta: 
     verbose_name = _('Company Profile') 
     verbose_name_plural = _('Company Profiles') 

Использование сервера Dev имя модели отображается корректно на разных языках, в админке, на производстве не сервер! Это влияет на некоторые модели, другие нет ... Это сводит меня действительно орехи, так как я вряд ли имеют представление о том, как отладить это ...

+1

Возможно, 'ugettext_lazy' против' ugettext'? – Wolph

ответ

7

Несколько возможностей:

  • сервер производства не см скомпилированные сообщения
  • непереведенные сообщения, помеченные как fuzzy
  • _() решает ugettext вместо ugettext_lazy
+0

Они не помечены как нечеткие, но можете ли вы назвать некоторые причины, по которым сервер не увидит скомпилированные сообщения (они находятся в приложении dirs). Еще не прочитали, что проблема использования 'ugettext' вместо' ugettext_lazy'? –

+1

Хорошо. решил это сейчас. Я наследовал от модели, которая использовала 'ugettext', в то время как ребенок использовал' ugettext_lazy', поэтому я получил эту странную смесь! Благодаря! –

+0

Я имел в виду, что, может быть, например, скомпилированные сообщения не были отправлены на сервер. Ничего волшебного, просто случаются такие тривиальные вещи. –

3

я был в imilar проблемы и, кроме того, что Томаш Зелинский отметил, что я должен был сделать следующие изменения:

в settings.py

LOCALE_PATHS = (
    "/path/to/your/project/locale", 
) 

Помните слэш и убедитесь, что структура каталогов выглядит примерно так:

project 
    your_app 
    your_other_app 
    locale 
     en_US 
      LC_MESSAGES 
     sv_SE 
      LC_MESSAGES 
Смежные вопросы