Ticket #4734: make-message.patch

File make-message.patch, 1.7 KB (added by anonymous, 16 years ago)

Process javascript translation header as .html

  • /opt/django-0.97_pre7403/django/bin/make-messages.py

    old new  
    8585                src = pythonize_re.sub('\n#', src)
    8686                open(os.path.join(dirpath, '%s.py' % file), "wb").write(src)
    8787                thefile = '%s.py' % file
    88                 cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
    89                     os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
    90                 (stdin, stdout, stderr) = os.popen3(cmd, 't')
    91                 msgs = stdout.read()
     88                cmd = 'xgettext -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
     89                    domain, os.path.join(dirpath, thefile))
     90                (stdin, stdout, stderr) = os.popen3(cmd, 't')
     91                print cmd
     92                msgs = stdout.read()
    9293                errors = stderr.read()
    9394                if errors:
    9495                    print "errors happened while running xgettext on %s" % file
     
    9798                old = '#: '+os.path.join(dirpath, thefile)[2:]
    9899                new = '#: '+os.path.join(dirpath, file)[2:]
    99100                msgs = msgs.replace(old, new)
     101                if os.path.exists(potfile):
     102                    # Strip the header!
     103                    msgs = '\n'.join(dropwhile(len, msgs.split('\n')))
     104                else:
     105                    msgs = msgs.replace('charset=CHARSET', 'charset=UTF-8')
    100106                if msgs:
    101107                    open(potfile, 'ab').write(msgs)
    102108                os.unlink(os.path.join(dirpath, thefile))
Back to Top