#21928: updating .po files with 'django-admin.py makemessages' under windows with russian locale fail --------------------------------------+------------------------------- Reporter: gurovic@… | Owner: nobody Type: Bug | Status: new Component: Internationalization | Version: 1.7-alpha-1 Severity: Release blocker | Keywords: encoding msgmerge Triage Stage: Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------------+------------------------------- django1.7, python 3.2, windows 7 64 bit russian
--- I have Windows 7 Rus, default encoding is cp1251. If i have some translations in .po-file in russian (utf-8 encoding), and running makemessages again to add new phrases, it uses msgmerge.exe in function write_po_file, popen got output in cp1251 encoding instead utf-8 and crashes: Exception in thread Thread-63: Traceback (most recent call last): File "c:\python32\lib\threading.py", line 740, in _bootstrap_inner self.run() File "c:\python32\lib\threading.py", line 693, in run self._target(*self._args, **self._kwargs) File "c:\python32\lib\subprocess.py", line 1013, in _readerthread buffer.append(fh.read()) File "c:\python32\lib\encodings\cp1251.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1157: character maps to <undefined> Traceback (most recent call last): File "c:\python32\Scripts\django-admin-script.py", line 9, in <module> load_entry_point('Django==1.7a1', 'console_scripts', 'django-admin')() File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\__init__.py", line 427, in execute_from_command_line utility.execute() File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\__init__.py", line 419, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\base.py", line 288, in run_from_argv self.execute(*args, **options.__dict__) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\base.py", line 337, in execute output = self.handle(*args, **options) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\base.py", line 529, in handle return self.handle_noargs(**options) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\commands\makemessages.py", line 288, in handle_noargs self.write_po_file(potfile, locale) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\commands\makemessages.py", line 399, in write_po_file msgs, errors, status = popen_wrapper(args) File "c:\python32\lib\site- packages\django-1.7a1-py3.2.egg\django\core\management\utils.py", line 25, in popen_wrapper output, errors = p.communicate() File "c:\python32\lib\subprocess.py", line 813, in communicate return self._communicate(input) File "c:\python32\lib\subprocess.py", line 1050, in _communicate stdout = stdout[0] IndexError: list index out of range popen runs for the following process: ['msgmerge', '-q', 'C:\\temp\\oluch\\oluch\\locale\\ru\\LC_MESSAGES\\django.po', 'C:\\temp\\oluch\\oluch\\locale\\django.pot'] -- Ticket URL: <https://code.djangoproject.com/ticket/21928> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/060.e4502524450b8af08732b9639c52e193%40djangoproject.com. For more options, visit https://groups.google.com/groups/opt_out.