Author: mtredinnick
Date: 2007-07-15 05:10:44 -0500 (Sun, 15 Jul 2007)
New Revision: 5708

Modified:
   django/trunk/django/bin/make-messages.py
Log:
Fixed #4734 -- Changed message extraction to permit non-ACSII msgid strings.
Thanks, [EMAIL PROTECTED]

This is slightly backwards-incompatible for translators: PO files are now
assumed to be in UTF-8 encoding.


Modified: django/trunk/django/bin/make-messages.py
===================================================================
--- django/trunk/django/bin/make-messages.py    2007-07-15 10:08:05 UTC (rev 
5707)
+++ django/trunk/django/bin/make-messages.py    2007-07-15 10:10:44 UTC (rev 
5708)
@@ -103,8 +103,8 @@
                         open(os.path.join(dirpath, '%s.py' % file), 
"wb").write(templatize(src))
                         thefile = '%s.py' % file
                     if verbose: sys.stdout.write('processing file %s in %s\n' 
% (file, dirpath))
-                    cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop 
--keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --keyword=ugettext_noop 
--keyword=ugettext_lazy --keyword=ungettext_lazy:1,2 --from-code UTF-8 -o - 
"%s"' % (
-                        os.path.exists(potfile) and '--omit-header' or '', 
domain, os.path.join(dirpath, thefile))
+                    cmd = 'xgettext -d %s -L Python --keyword=gettext_noop 
--keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --keyword=ugettext_noop 
--keyword=ugettext_lazy --keyword=ungettext_lazy:1,2 --from-code UTF-8 -o - 
"%s"' % (
+                        domain, os.path.join(dirpath, thefile))
                     (stdin, stdout, stderr) = os.popen3(cmd, 'b')
                     msgs = stdout.read()
                     errors = stderr.read()
@@ -116,13 +116,18 @@
                         old = '#: '+os.path.join(dirpath, thefile)[2:]
                         new = '#: '+os.path.join(dirpath, file)[2:]
                         msgs = msgs.replace(old, new)
+                    if os.path.exists(potfile):
+                        # Strip the header
+                        msgs = '\n'.join(msgs.split('\n')[17:])
+                    else:
+                        msgs = msgs.replace('charset=CHARSET', 'charset=UTF-8')
                     if msgs:
                         open(potfile, 'ab').write(msgs)
                     if thefile != file:
                         os.unlink(os.path.join(dirpath, thefile))
 
         if os.path.exists(potfile):
-            (stdin, stdout, stderr) = os.popen3('msguniq "%s"' % potfile, 'b')
+            (stdin, stdout, stderr) = os.popen3('msguniq --to-code=utf-8 "%s"' 
% potfile, 'b')
             msgs = stdout.read()
             errors = stderr.read()
             if errors:


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to