It's due to --omit-header option passed to xgettext and input file containing UTF-8 strings to translate. Attached patch solves it in another way: it allows xgettext to output the header, but if unneeded it strips it later.

This is reasonably correct. Patch needs a little reworking (or, at least, I'm thinking about the conditional header replacement) and we need to check all existing PO files for the right encoding (which I'll do at checkin time). This is on my list already. Sorry, should have moved it out of 'unreviewed' when I looked at it the first time.

Fixed reverse URL lookup using functions when the original URL pattern was a
string. This is now just as fragile as it was prior to [5609], but works in a
few cases that people were relying on, apparently.

Improved syndication feed framework to use RequestSite if the sites framework is not installed -- i.e., the sites framework is no longer required to use the syndication feed framework. This is backwards incompatible if anybody has subclassed Feed and overridden init(), because the second parameter is now expected to be an HttpRequest object instead of request.path

Fixed #4459 -- Added 'raw' argument to save method, to override any pre-save processing, and modified serializers to use a raw-save. This enables serialization of DateFields with auto_now/auto_now_add. Also modified serializers to invoke save() directly on the model baseclass, to avoid any (potentially order-dependent, data modifying) behavior in a custom save() method.

Fixed #4538 -- Split the installation instructions to differentiate between installing a distribution package and installing an official release. Thanks to Carl Karsten for the idea, and Paul Bissex for the patch.

Fixed #3505 -- Added handling for the error raised when the user forgets the comma in a single element tuple when defining AUTHENTICATION_BACKENDS. Thanks for the help identifying this problem, Mario Gonzalez <gonzalemario@…>.

Refs #3012 -- Removed iterator from test_data_types cache test that I added in [5703]. Iterators cannot be pickled either. Left the rest of [5703] there though since it fixed another issue that was causing the test_data_types cache test to fail with the locmem cache backend, the fact that functions cannot be copied.

Added a db_type() method to the database Field class. This is a hook for calculating the database column type for a given Field. Also converted all management.py CREATE TABLE statements to use db_type(), which made that code cleaner. The Field.get_internal_type() hook still exists, but we should consider removing it at some point, because db_type() is more general. Also added docs -- the beginnings of docs on how to create custom database Field classes. This is backwards-compatible.

Fixed #4738 -- Modified the prompt that is displayed when a test database cannot be created. The existing prompt was misleading if the issue wasn't a pre-existing database. Thanks for the suggestion, John Shaffer <jshaffer2112@…>.

Fixed #4304 -- Modified sys.exit to os._exit to make sure development server quits when an error occurs attempting to bind to the requested port (e.g., if another server is already running). Thanks, Mario Gonzalez <gonzalemario@…>.

Fixed #4952 -- Fixed the get_template_sources functions of the app_directories and filesystem template loaders to not return paths outside of given template directories. Both functions now make use of a new safe_join utility function. Thanks to SmileyChris for help with the patch.

Fixed #3771 -- Modified the test runner to observe the --noinput argument controlling script interactivity. This means that test scripts can now be put in a buildbot environment. This is a backwards incompatible change for anyone that has written a custom test runner. Thanks for the suggestion, moof@….

Fixed bug with using values() and extra(select) in the same QuerySet, with a select dictionary containing more than a few elements. This bug was identified in unit test from [5767]. The problem was that we were relying on the dictionary's .items() ordering, which is undefined

Fixed #4228 -- Removed hardcoding of RadioFieldRenderer in the RadioSelect Widget so that the display of RadioSelects can be more easily customized. BoundField.__unicode__ also no longer special cases RadioSelect since RadioSelect.render() now returns a string like every other Widget.

Fixed #2101 -- Renamed maxlength argument to max_length for oldforms FormFields and db model Fields. This is fully backwards compatible at the moment since the legacy maxlength argument is still supported. Using maxlength will, however, issue a PendingDeprecationWarning when used.

Also, when you do open a new ticket, please include a description of how we can go about repeating this problem. You have attached a patch which doesn't necessarily look correct, but I cannot evaluate it, since I don't have anyway to replicate the problem.