Jjasco makemessages javascript (xgettext) — переполнение стека

Джанго makemessages javascript (xgettext)

Версия django, которую я использовал ранее — 1.5.6, она может отлично извлекать ключевые слова из .js. Но выдает ошибки после обновления до 1.11.15. Например, warning: unterminated string literal , warning: RegExp literal terminated too early

Спустя много времени я выкопал факт: makemessages.py изменился после обновления. Файл находится в /usr/lib/python2.7/site-packages/django/core/management/commands/makemessages.py как 1.5.6, так и 1.11.15.

В версии 1.5.6 поток makemessage выглядит следующим образом: 1. использовать форму django.utils.jslex для предварительной обработки js-файлов в контент, соответствующий синтаксису языка C 2. записывать контент в файл .c 3. использовать xgettext extract из ключевых слов Файл .c и укажите язык для C

Но в 1.11.15 это: 1. определить версию xgettext, если она больше, чем 1.18.3, использовать xgettext, обработать файл js напрямую или обработать, как 1.5.6

Ошибка, которую я получил, вызвана ошибкой в ​​xgettext при обработке js-файлов.

Так что я просто возвращаю True линию: 77 и все работает как прежде

  # django/core/management/commands/makemessages.py def is_templatized(self): if self.domain == 'djangojs': return True # return self.command.gettext_version {amp}lt; (0, 18, 3) elif self.domain == 'django': file_ext = os.path.splitext(self.translatable.file)[1] return file_ext != '.py' return False 

Может быть, вы можете попробовать эту галочку или переписать скрипт

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector