compilemessages вызывает сбои i18n
У меня проблема, когда я бегу
python manage.py compilemessages
Раньше он работал отлично, но сегодня, когда я это делаю, i18n не загружается на моих веб-страницах. Я всегда получаю одну и ту же проблему:
raise ValueError('invalid token in plural form: %s' % value)
ValueError: invalid token in plural form: EXPRESSION
Я попытался очистить свои.po файлы и повторно запустить сообщения компиляции, и я все еще получаю ошибку. У меня нет абсолютно никакой другой подсказки, где искать.
Примечание: когда я возвращаюсь к любому прежнему коммиту, все будет работать нормально, пока я не запущу сообщения компиляции
1 ответ
В Джанго 1,11 makemessages -l en
создает неисправный.po файл для en языка, но для некоторых других языков, которые я тестировал, он работает просто отлично.
например. для английского - неправильно:
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
а для хорватского - ок:
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
я сообщил об этой проблеме здесь https://code.djangoproject.com/ticket/28709