Skip to main content
Stack Overflow
  1. About
  2. For Teams

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

makemessages command results in html.py files and a UnicodeDecodeError

When I run this command:

django-admin makemessages -l ar

It gives this error:

Traceback (most recent call last):
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 65, in force_text
s = str(s, encoding, errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Ahmed\AppData\Local\Programs\Python\Python36-32\Scripts\django-admin.exe\__main__.py", line 9, in <module>
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\__init__.py", line 371, in execute_from_command_line
utility.execute()
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\base.py", line 335, in execute
output = self.handle(*args, **options)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 384, in handle
potfiles = self.build_potfiles()
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 426, in build_potfiles
self.process_files(file_list)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 522, in process_files
self.process_locale_dir(locale_dir, files)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 590, in process_locale_dir
msgs, errors, status = popen_wrapper(args)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\utils.py", line 23, in popen_wrapper
force_text(output, stdout_encoding, strings_only=True, errors='strict'),
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 69, in force_text
raise DjangoUnicodeDecodeError(s, *e.args)
django.utils.encoding.DjangoUnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte. You passed in 

Aside from the error, html.py files are created for each html file. For example: for index.html, an index.html.py is created with it in the template folder. These html.py files contains just 'X' and 'B' characters with some text to translate.

For example:

BBBBBBBB
BBBBB BBBBBBB
 XXXX XXXXXXXXXXXXXXXXXXXXX
 XXXX XXXXXXXXX XXXXX XXX
 XXXX XXXXXXXXXXXXXXXXXX
 XXXX XXXXXXXXXXXXX
 XXXX XXXXXXXXXXXXXXXXXX XX
 XXX XXXXXXXXXXXXXX gettext(u'Les appels à projet') XXXXX
 XXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
 XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX
 XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXX XXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXX
 XXXXXX
 XXXXXX
 XXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
 XXXX XXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXX XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX
 XXXXXXX
 XXXX
 XXXX gettext(u'Appel à projet') XXXXX
 XXXX gettext(u'Date de lencement') XXXXX
 XXXX gettext(u'Date de clature') XXXXX
 XXXX gettext(u'Année budjitaire') XXXXX
 XXXX gettext(u"N° d'apppel à projet") XXXXX
 XXXX gettext(u"Etat d'appel") XXXXX
 XXXX XXXX gettext(u'Action') XXXXX XXX
 XXXXX
 XXXXXXXX
 XXXXXXX
 BBB BBBBBB BB BBBBBBBBBBB
 XXXX
 XXXXXXXXX
 XXXXXXXXX
 XXXXXXXXX

I already have a .po file for Ar with some text to translate, which I already created 2 months ago, and it's translated perfectly.

But when I run the makemessages command to add the new text to translate, it gives the above error.

Any ideas please?

Answer*

Draft saved
Draft discarded
Cancel
1
  • I dont use the gettext(u'Les appels à projet') in my templats, it generated automatically in the .html.py, instead i use the block {% trans '....' %} in the tamplates and the function _('....') in the views Commented May 28, 2018 at 11:01

lang-py

AltStyle によって変換されたページ (->オリジナル) /