Django

Code

Ticket #4734: make-message.2.patch

File make-message.2.patch, 1.7 kB (added by anonymous, 6 months 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))