Commits

russ...@bcc190cf-cafb-0310-a4f2-bffc1f526a37  committed f6ded66

Merged revisions 4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-4643,4653-4655,4657,4669,4673-4675,4694-4696,4713-4714,4720-4723,4725-4732,4735-4741,4750,4755,4758,4769-4770,4776-4777,4783-4795,4798,4805-4808,4810,4813-4815,4817,4824,4836,4838-4843,4851-4855,4869,4872,4882-4884,4906,4916,4935-4936,4940-4944,4946-4953,4962-4963,4969,4971-4973,4990,4994-4997,5000-5003,5006-5008,5013-5014,5019-5024,5026-5036,5046-5047,5054-5059,5062,5079,5081-5083,5090,5100-5101,5114,5122-5123,5126,5128,5134-5136,5148-5149,5151,5157,5174,5178,5183-5185,5192-5195,5197-5200,5203,5205,5208,5214,5223-5224,5226-5227,5229-5230,5235-5236,5238-5244,5246-5249,5251,5254-5262,5266-5280,5282-5284,5286,5301,5307,5309-5310,5312,5314-5317,5319-5332,5334-5345,5372-5378,5381-5382,5384,5386,5388-5390,5393-5397,5399-5400,5416,5419-5430,5440-5441,5444-5448,5461-5464,5467,5473-5481,5487-5489,5491-5492,5498-5499,5507-5510,5512,5527,5529,5531-5535,5540-5541,5546,5570,5572-5574,5576-5578,5580-5581,5583-5589,5591,5595-5597,5601-5608,5613,5626-5826 via svnmerge from
http://code.djangoproject.com/svn/django/trunk

........
r5626 | russellm | 2007-07-07 10:16:23 +0800 (Sat, 07 Jul 2007) | 2 lines

Added some uncredited authors that worked on the Oracle branch.
........
r5629 | mtredinnick | 2007-07-08 01:15:54 +0800 (Sun, 08 Jul 2007) | 8 lines

Changed HttpRequest.path to be a Unicode object. It has already been
URL-decoded by the time we see it anyway, so keeping it as a UTF-8 bytestring
was causing unnecessary problems.

Also added handling for non-ASCII URL fragments in feed creation (the portion
that was outside the control of the Feed class was messed up).
........
r5630 | mtredinnick | 2007-07-08 02:24:27 +0800 (Sun, 08 Jul 2007) | 4 lines

Fixed #4772 -- Fixed reverse URL creation to work with non-ASCII arguments.
Also included a test for non-ASCII strings in URL patterns, although that
already worked correctly.
........
r5631 | mtredinnick | 2007-07-08 02:39:23 +0800 (Sun, 08 Jul 2007) | 3 lines

Corrected misleading comment from [5619]. Not sure what I was smoking at the
time.
........
r5632 | mtredinnick | 2007-07-08 08:39:32 +0800 (Sun, 08 Jul 2007) | 5 lines

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.
........
r5636 | mtredinnick | 2007-07-08 19:22:53 +0800 (Sun, 08 Jul 2007) | 4 lines

Fixed #4798-- Made sure that function keyword arguments are strings (for the
keywords themselves) when using Unicode URL patterns.
........
r5638 | gwilson | 2007-07-10 10:34:42 +0800 (Tue, 10 Jul 2007) | 2 lines

Fixed #4817 -- Removed leading forward slashes from some urlconf examples in the documentation.
........
r5639 | gwilson | 2007-07-10 10:45:11 +0800 (Tue, 10 Jul 2007) | 2 lines

Fixed #4814 -- Fixed some whitespace issues in tutorial01, thanks John Shaffer.
........
r5640 | gwilson | 2007-07-10 11:26:26 +0800 (Tue, 10 Jul 2007) | 2 lines

Fixed #4812 -- Fixed an octal escape in regular expression that is used in the `isValidEmail` validator, thanks batchman@free.fr.
........
r5641 | mtredinnick | 2007-07-10 20:02:06 +0800 (Tue, 10 Jul 2007) | 3 lines

Fixed #4823 -- Fixed a Python 2.3 incompatibility from [5636] (it was even
demonstrated by existing tests, so I really screwed this up).
........
r5642 | mtredinnick | 2007-07-10 20:03:36 +0800 (Tue, 10 Jul 2007) | 3 lines

Fixed #4804 -- Fixed a problem when validating choice lists with non-ASCII
data. Thanks, django@vonposer.de.
........
r5643 | mtredinnick | 2007-07-10 20:33:55 +0800 (Tue, 10 Jul 2007) | 4 lines

Fixed #3760 -- Added the ability to manually set feed- and item-level id
elements in Atom feeds. This is fully backwards compatible. Based on a patch
from spark343@cs.ubc.ca.
........
r5644 | mtredinnick | 2007-07-11 14:55:12 +0800 (Wed, 11 Jul 2007) | 3 lines

Fixed #4815 -- Fixed decoding of request parameters when the input encoding is
not UTF-8. Thanks, Jordan Dimov.
........
r5645 | mtredinnick | 2007-07-11 15:00:27 +0800 (Wed, 11 Jul 2007) | 3 lines

Fixed #4802 -- Updated French translation. Combined contribution from
baptiste.goupil@gmail.com and rocherl@club-internet.fr.
........
r5646 | mtredinnick | 2007-07-11 15:12:50 +0800 (Wed, 11 Jul 2007) | 2 lines

Fixed #4753 -- Small update to Spanish translation from Mario Gonzalez.
........
r5649 | jacob | 2007-07-12 08:33:44 +0800 (Thu, 12 Jul 2007) | 1 line

Fixed #4615: corrected reverse URL resolution examples in tutorial 4. Thanks for the patch, simeonf.
........
r5650 | adrian | 2007-07-12 12:43:29 +0800 (Thu, 12 Jul 2007) | 1 line

Added 'New in Django development version' note to docs/syndication_feeds.txt changes from [5643]
........
r5651 | adrian | 2007-07-12 12:44:45 +0800 (Thu, 12 Jul 2007) | 1 line

Edited changes to docs/tutorial04.txt from [5649]
........
r5652 | adrian | 2007-07-12 13:23:47 +0800 (Thu, 12 Jul 2007) | 1 line

Added helpful error message to SiteManager.get_current() if the user hasn't set SITE_ID
........
r5653 | adrian | 2007-07-12 13:28:04 +0800 (Thu, 12 Jul 2007) | 1 line

Added RequestSite class to sites framework
........
r5654 | adrian | 2007-07-12 13:29:32 +0800 (Thu, 12 Jul 2007) | 1 line

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
........
r5658 | russellm | 2007-07-12 15:45:35 +0800 (Thu, 12 Jul 2007) | 2 lines

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.
........
r5659 | russellm | 2007-07-12 19:24:16 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #3770 -- Remove null=True tag from OneToOne serialization test. OneToOne fields can't have a value of null.
........
r5660 | russellm | 2007-07-12 19:27:38 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #3768 -- Disabled NullBooleanField PK serialization test. We can't and don't test null PK values.
........
r5662 | russellm | 2007-07-12 20:33:24 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4837 -- Updated Debian packaging details. Thanks for the suggestion, Yasushi Masuda <whosaysni@gmail.com>.
........
r5663 | russellm | 2007-07-12 20:44:05 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4808 -- Added Chilean regions in localflavor. Thanks, Marijn Vriens <marijn@metronomo.cl>.
........
r5664 | russellm | 2007-07-12 20:48:27 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4745 -- Updated docs to point out that 0 is not a valid SITE_ID when running the tests. Thanks for the suggestion, Lars Stavholm <stava@telcotec.se>.
........
r5665 | russellm | 2007-07-12 20:50:02 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4763 -- Minor typo in cache documentations. Thanks, dan@coffeecode.net.
........
r5666 | russellm | 2007-07-12 20:55:28 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4627 -- Added details on MacPorts packaging of Django. Thanks, Paul Bissex.
........
r5667 | russellm | 2007-07-12 21:23:11 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4640 -- Fixed import to stringfilter in docs. Proposed solution to move stringfilter into django.template.__init__ introduces a circular import problem.
........
r5668 | russellm | 2007-07-12 21:32:00 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4722 -- Clarified discussion about PYTHONPATH in modpython docs. Thanks for the suggestion, Collin Grady <cgrady@the-magi.us>.
........
r5669 | russellm | 2007-07-12 21:37:59 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4755 -- Modified newforms MultipleChoiceField to use list comprehension, rather than iteration.
........
r5670 | russellm | 2007-07-12 21:41:27 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4764 -- Added reference to Locale middleware in middleware docs. Thanks, dan@coffeecode.net.
........
r5671 | russellm | 2007-07-12 21:55:19 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4768 -- Converted timesince and dateformat to use explicit floor division (pre-emptive avoidance of Python 3000 compatibility problem), and removed a redundant millisecond check. Thanks, John Shaffer <jshaffer2112@gmail.com>.
........
r5672 | russellm | 2007-07-12 22:00:13 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4775 -- Added some missing Hungarian accents to the urlify.js LATIN_MAP. Thanks, Pistahh <szekeres@iii.hu>.
........
r5673 | russellm | 2007-07-12 22:05:16 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4502 -- Clarified reference to view in tutorial. Thanks for the suggestion, Carl Karsten <carl@personnelware.com>.
........
r5674 | russellm | 2007-07-12 22:11:41 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4522 -- Clarified the allowed filter arguments on the time and date filters. Thanks for the suggestion, admackin@gmail.com.
........
r5675 | russellm | 2007-07-12 22:21:51 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4525 -- Fixed mistaken documentation on arguments to runfcgi. Thanks, Johan Bergstrom <bugs@bergstroem.nu>.
........
r5676 | russellm | 2007-07-12 22:41:32 +0800 (Thu, 12 Jul 2007) | 2 lines

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.
........
r5677 | russellm | 2007-07-12 23:26:37 +0800 (Thu, 12 Jul 2007) | 2 lines

Fixed #4526 -- Modified the test Client login method to fail when a user is inactive. Thanks, marcin@elksoft.pl.
........
r5678 | russellm | 2007-07-13 13:03:33 +0800 (Fri, 13 Jul 2007) | 2 lines

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@gmail.com>.
........
r5679 | mtredinnick | 2007-07-13 16:52:07 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #2591 -- Fixed a problem with inspectdb with psycopg2 (only). Patch from
Gary Wilson.
........
r5680 | mtredinnick | 2007-07-13 17:09:59 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4807 -- Fixed a couple of corner cases in decimal form input validation.
Based on a suggestion from Chriss Moffit.
........
r5681 | mtredinnick | 2007-07-13 17:14:51 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4839 -- Added __repr__ methods to URL classes that show the pattern they
contain. Thanks, Thomas G?\195?\188ttler.
........
r5682 | mtredinnick | 2007-07-13 18:56:30 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4842 -- Added slightly more robust error reporting. Thanks, Thomas
G?\195?\188ttler.
........
r5683 | mtredinnick | 2007-07-13 19:05:01 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4846 -- Fixed some Python 2.3 encoding problems in the admin interface.
Based on a patch from daybreaker12@gmail.com.
........
r5684 | mtredinnick | 2007-07-13 20:03:20 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4861 -- Removed some duplicated logic from the newforms RegexField by
making it a subclass of CharField. Thanks, Collin Grady.
........
r5685 | mtredinnick | 2007-07-13 21:15:35 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4865 -- Replaced a stray generator comprehension with a list
comprehension so that we don't break Python 2.3.
........
r5686 | mtredinnick | 2007-07-13 22:13:35 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4469 -- Added slightly more informative error messages to max- and
min-length newform validation. Based on a patch from A. Murat Eren.
........
r5687 | mtredinnick | 2007-07-13 22:14:47 +0800 (Fri, 13 Jul 2007) | 2 lines

Added author credit for [5686]. Refs #4469.
........
r5688 | mtredinnick | 2007-07-13 22:33:46 +0800 (Fri, 13 Jul 2007) | 3 lines

Fixed #4484 -- Fixed APPEND_SLASH handling to handle an empty path value.
Thanks, VesselinK.
........
r5689 | mtredinnick | 2007-07-13 22:40:39 +0800 (Fri, 13 Jul 2007) | 2 lines

Fixed #4556 -- Stylistic changes to [5500]. Thanks, glin@seznam.cz.
........
r5690 | gwilson | 2007-07-14 04:36:01 +0800 (Sat, 14 Jul 2007) | 2 lines

Refs #2591 -- Removed int conversion and try/except since the value in the single-item list is already an int. I overlooked this in my original patch, which was applied in [5679].
........
r5691 | adrian | 2007-07-14 05:20:07 +0800 (Sat, 14 Jul 2007) | 1 line

Documented the 'commit' argument to save() methods on forms created via form_for_model() or form_for_instance()
........
r5692 | mtredinnick | 2007-07-14 13:27:22 +0800 (Sat, 14 Jul 2007) | 3 lines

Fixed #4869 -- Added a note that syncdb does not alter existing tables. Thanks,
James Bennett.
........
r5693 | mtredinnick | 2007-07-14 20:48:24 +0800 (Sat, 14 Jul 2007) | 3 lines

Fixed #4863 -- Removed comment references to a no-longer present link. Pointed
out by Thomas G?\195?\188ttler.
........
r5694 | mtredinnick | 2007-07-14 21:14:28 +0800 (Sat, 14 Jul 2007) | 2 lines

Fixed #4862 -- Fixed invalid Javascript creation in popup windows in admin.
........
r5695 | mtredinnick | 2007-07-14 21:39:41 +0800 (Sat, 14 Jul 2007) | 2 lines

Fixed a problem with translatable strings from [5686].
........
r5696 | mtredinnick | 2007-07-14 22:47:14 +0800 (Sat, 14 Jul 2007) | 3 lines

Fixed #4731 -- Changed management.setup_environ() so that it no longer assumes
the settings module is called "settings". Patch from SmileyChris.
........
r5697 | mtredinnick | 2007-07-14 22:50:35 +0800 (Sat, 14 Jul 2007) | 3 lines

Fixed #4870 -- Removed unneeded import and fixed a docstring in an example.
Thanks, Collin Grady.
........
r5698 | adrian | 2007-07-15 00:58:54 +0800 (Sun, 15 Jul 2007) | 1 line

Edited docs/db-api.txt changes from [5658]
........
r5699 | adrian | 2007-07-15 01:04:30 +0800 (Sun, 15 Jul 2007) | 1 line

Negligible capitalization fix in test/client.py docstring
........
r5700 | russellm | 2007-07-15 12:41:59 +0800 (Sun, 15 Jul 2007) | 2 lines

Clarified the documentation on the steps that happen during a save, and how raw save affects those steps.
........
r5701 | gwilson | 2007-07-15 13:03:28 +0800 (Sun, 15 Jul 2007) | 2 lines

Fixed #4310 -- Fixed a regular expression bug in `strip_entities` function and added tests for several `django.utils.html` functions. Based on patch from Brian Harring.
........
r5702 | gwilson | 2007-07-15 13:11:06 +0800 (Sun, 15 Jul 2007) | 2 lines

Fixed #4877 -- Fixed typo in testing documentation, patch from John Shaffer.
........
r5703 | gwilson | 2007-07-15 14:24:54 +0800 (Sun, 15 Jul 2007) | 2 lines

Fixed #3012 -- Changed the locmem cache backend to use pickle instead of deepcopy to make it compatible with iterators (which cannot be copied). Patch from Sundance.
........
r5704 | gwilson | 2007-07-15 14:29:45 +0800 (Sun, 15 Jul 2007) | 2 lines

Changed imports to adhere to PEP 8.
........
r5705 | mtredinnick | 2007-07-15 17:39:13 +0800 (Sun, 15 Jul 2007) | 3 lines

Fixed #4880 -- Updated Spanish translation (includes re-encoding to UTF-8).
Thanks, Jorge Gajon.
........
r5706 | mtredinnick | 2007-07-15 17:46:42 +0800 (Sun, 15 Jul 2007) | 3 lines

Fixed #4882 -- Updated Argentinean Spanish translation (includes re-encoding to
UTF-8). Thanks, Ramiro Morales.
........
r5707 | mtredinnick | 2007-07-15 18:08:05 +0800 (Sun, 15 Jul 2007) | 3 lines

Re-encoded djangojs.po for French and German locales to UTF-8. These were the
last two non-UTF-8 PO files.
........
r5708 | mtredinnick | 2007-07-15 18:10:44 +0800 (Sun, 15 Jul 2007) | 6 lines

Fixed #4734 -- Changed message extraction to permit non-ACSII msgid strings.
Thanks, krzysiek.pawlik@silvermedia.pl.

This is slightly backwards-incompatible for translators: PO files are now
assumed to be in UTF-8 encoding.
........
r5709 | adrian | 2007-07-16 03:34:21 +0800 (Mon, 16 Jul 2007) | 1 line

Edited docs/db-api.txt changes from [5700]
........
r5710 | adrian | 2007-07-16 05:16:32 +0800 (Mon, 16 Jul 2007) | 1 line

Improved docs/templates.txt section on the 'regroup' tag
........
r5711 | mtredinnick | 2007-07-16 11:48:03 +0800 (Mon, 16 Jul 2007) | 2 lines

Updated AUTHORS for [5708].
........
r5712 | mtredinnick | 2007-07-16 11:50:22 +0800 (Mon, 16 Jul 2007) | 3 lines

Fixed #4199 -- Changed date formatting in HTTP expires header to be spec
compliant. Thanks, Chris Bennett.
........
r5713 | mtredinnick | 2007-07-16 12:45:45 +0800 (Mon, 16 Jul 2007) | 3 lines

Fixed #4884 -- Fixed an initialisation problem when assigned to settings before
accessing them. Thanks, Noam Raphael.
........
r5714 | mtredinnick | 2007-07-16 12:47:52 +0800 (Mon, 16 Jul 2007) | 2 lines

Fixed #4806 -- Updated Simplified Chinese translation. Thanks, limodou.
........
r5715 | mtredinnick | 2007-07-16 12:54:49 +0800 (Mon, 16 Jul 2007) | 3 lines

Fixed #4887 -- Fixed another place where template tag arguments are used
directly as function keyword args. Thanks, Brian Rosner.
........
r5716 | gwilson | 2007-07-16 13:00:18 +0800 (Mon, 16 Jul 2007) | 2 lines

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.
........
r5717 | gwilson | 2007-07-16 13:28:13 +0800 (Mon, 16 Jul 2007) | 2 lines

Cleaned up a couple unused imports and fixed docstrings to follow Python Style Guide.
........
r5718 | mtredinnick | 2007-07-16 17:36:10 +0800 (Mon, 16 Jul 2007) | 3 lines

Fixed #4845 -- Fixed some problems with Unicode usage and caching. Thanks,
Jeremy Dunck.
........
r5719 | gwilson | 2007-07-16 21:47:43 +0800 (Mon, 16 Jul 2007) | 2 lines

Removed unused variable and changed comments about `permalink` decorator into a docstring.
........
r5720 | gwilson | 2007-07-17 06:29:09 +0800 (Tue, 17 Jul 2007) | 2 lines

Fixed #4851 -- Fixed description of an example query in `db-api` docs.
........
r5721 | mtredinnick | 2007-07-17 12:22:11 +0800 (Tue, 17 Jul 2007) | 2 lines

Fixed #4898 -- Fixed a precendence problem when constructing HTTP Date header.
........
r5722 | mtredinnick | 2007-07-17 18:25:43 +0800 (Tue, 17 Jul 2007) | 3 lines

Fixed #4899 -- Fixed a problem with PO file header generation caused by [5708].
Thanks, Ramiro Morales.
........
r5723 | mtredinnick | 2007-07-19 17:23:45 +0800 (Thu, 19 Jul 2007) | 2 lines

Fixed #4917 -- Updated Swedish translation. Thanks, Pilip Lindborg.
........
r5724 | mtredinnick | 2007-07-19 17:24:36 +0800 (Thu, 19 Jul 2007) | 2 lines

Fixed #3925 -- Added Slovak localflavor items. Thanks, Martin Kos?\195?\173r.
........
r5725 | adrian | 2007-07-20 14:28:56 +0800 (Fri, 20 Jul 2007) | 1 line

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.
........
r5726 | adrian | 2007-07-20 14:34:26 +0800 (Fri, 20 Jul 2007) | 1 line

Simplified the indent level in management.py _get_sql_model_create() by using a 'continue' statement rather than nesting everything in an 'if'
........
r5727 | russellm | 2007-07-20 20:07:58 +0800 (Fri, 20 Jul 2007) | 2 lines

Fixed #4558 -- Modified XML serializer to handle whitespace better around None tags. Thanks to Bill Fenner <fenner@gmail.com> for the report and fix.
........
r5728 | russellm | 2007-07-20 20:15:02 +0800 (Fri, 20 Jul 2007) | 2 lines

Fixed #4897 -- Fixed minor typo in doctest comment.
........
r5729 | russellm | 2007-07-20 21:57:49 +0800 (Fri, 20 Jul 2007) | 2 lines

Fixed #3782 -- Added support for the suite() method recommended by the Python unittest docs. Thanks for the suggestion, rene.puls@repro-mayr.de.
........
r5730 | russellm | 2007-07-20 22:07:54 +0800 (Fri, 20 Jul 2007) | 2 lines

Refs #3782 -- Added documentation note that suite() handling is only in development version.
........
r5731 | russellm | 2007-07-20 22:32:20 +0800 (Fri, 20 Jul 2007) | 2 lines

Fixed #4901 -- Modified assertContains to provide a default check of 'any instances of text in content'. Thanks for the suggestion, nis@superlativ.dk.
........
r5732 | russellm | 2007-07-20 22:42:57 +0800 (Fri, 20 Jul 2007) | 2 lines

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@gmail.com>.
........
r5733 | adrian | 2007-07-20 23:40:54 +0800 (Fri, 20 Jul 2007) | 1 line

Fixed negligible typo in docstring in tests/regressiontests/test_client_regress/models.py from [5731]
........
r5736 | adrian | 2007-07-21 05:24:30 +0800 (Sat, 21 Jul 2007) | 1 line

Added some additional docs to docs/model-api.txt db_type() section
........
r5738 | russellm | 2007-07-21 11:30:38 +0800 (Sat, 21 Jul 2007) | 2 lines

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@gmail.com>.
........
r5739 | russellm | 2007-07-21 12:36:28 +0800 (Sat, 21 Jul 2007) | 2 lines

Minor fix to allow for count=0 in assertContains.
........
r5740 | russellm | 2007-07-21 13:15:19 +0800 (Sat, 21 Jul 2007) | 2 lines

Added test cases for change [5739].
........
r5741 | russellm | 2007-07-21 13:17:20 +0800 (Sat, 21 Jul 2007) | 2 lines

Fixed #4402 -- Modified test client to allow multi-valued inputs on GET requests. Thanks for the suggestion, eddymul@gmail.com.
........
r5743 | gwilson | 2007-07-22 10:18:36 +0800 (Sun, 22 Jul 2007) | 2 lines

Fixed #4945 -- Removed unused `GET_ITERATOR_CHUNK_SIZE` definition from manager.py. `GET_ITERATOR_CHUNK_SIZE` is already defined in query.py. Thanks zigiDev@mac.com.
........
r5744 | gwilson | 2007-07-22 11:09:24 +0800 (Sun, 22 Jul 2007) | 2 lines

Added docstrings to shortcuts module and functions.
........
r5745 | gwilson | 2007-07-22 11:12:50 +0800 (Sun, 22 Jul 2007) | 2 lines

Shortcut functions do not accept `QuerySet` objects, yet :)
........
r5746 | gwilson | 2007-07-22 11:41:11 +0800 (Sun, 22 Jul 2007) | 2 lines

Fixed #4373 -- Modified the get_object_or_404/get_list_or_404 shortcuts to also accept `QuerySet`s. Thanks SuperJared.
........
r5747 | gwilson | 2007-07-22 11:45:03 +0800 (Sun, 22 Jul 2007) | 2 lines

Corrected typo in [5746].
........
r5750 | gwilson | 2007-07-23 12:45:01 +0800 (Mon, 23 Jul 2007) | 2 lines

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.
........
r5752 | russellm | 2007-07-23 20:14:32 +0800 (Mon, 23 Jul 2007) | 2 lines

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@metamoof.net.
........
r5753 | russellm | 2007-07-23 21:52:59 +0800 (Mon, 23 Jul 2007) | 2 lines

Added documentation for a test runner argument that has always been present, but was undocumented.
........
r5756 | adrian | 2007-07-25 11:12:31 +0800 (Wed, 25 Jul 2007) | 1 line

Changed docstring additions from [5744] to use active verbs ('returns' instead of 'return')
........
r5757 | adrian | 2007-07-25 11:15:05 +0800 (Wed, 25 Jul 2007) | 1 line

Added 'New in Django development version' to docs/db-api.txt change from [5746]
........
r5758 | adrian | 2007-07-25 11:18:17 +0800 (Wed, 25 Jul 2007) | 1 line

Changed safe_join() docstring from [5750] to use active verbs. See also [5756]
........
r5764 | gwilson | 2007-07-26 13:01:53 +0800 (Thu, 26 Jul 2007) | 2 lines

Fixed #4971 -- Fixed some escaping and quoting problems in the databrowse contrib app. Based on patch from Johann Queuniet.
........
r5765 | adrian | 2007-07-27 01:16:34 +0800 (Fri, 27 Jul 2007) | 1 line

Added section to docs/contributing.txt about docstring coding style
........
r5766 | mtredinnick | 2007-07-27 06:59:34 +0800 (Fri, 27 Jul 2007) | 2 lines

Added support for database cache table in test database.
........
r5767 | adrian | 2007-07-28 05:53:02 +0800 (Sat, 28 Jul 2007) | 1 line

Added unit test that confirms a bug in ValuesQuerySets that have extra(select) specified. If the select dictionary has several fields, Django assigns the wrong values to the select-field names
........
r5768 | adrian | 2007-07-28 06:07:42 +0800 (Sat, 28 Jul 2007) | 1 line

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
........
r5769 | russellm | 2007-07-28 12:02:52 +0800 (Sat, 28 Jul 2007) | 2 lines

Fixed #4460 -- Added the ability to be more specific in the test cases that are executed. This is a backwards incompatible change for any user with a custom test runner. See the wiki for details.
........
r5770 | russellm | 2007-07-28 15:27:53 +0800 (Sat, 28 Jul 2007) | 2 lines

Fixed #4995 -- Fixed some problems in documentation ReST formatting. Thanks, Simon G.
........
r5771 | simon | 2007-07-29 02:30:40 +0800 (Sun, 29 Jul 2007) | 1 line

After discussing with Malcolm, added set_unusable_password() and has_usable_password() methods to the User object, plus tests and updated documentation
........
r5774 | adrian | 2007-07-30 02:21:16 +0800 (Mon, 30 Jul 2007) | 1 line

Added 'New in Django development version' to changes in docs/authentication.txt from [5771]
........
r5778 | gwilson | 2007-07-31 01:25:35 +0800 (Tue, 31 Jul 2007) | 4 lines

Fixed call to `ugettext`, which is imported as `_`.
Changed raise to conform to PEP 3109 and wrapped the long line.
Added beginnings of tests for model fields.
........
r5782 | gwilson | 2007-08-01 13:41:32 +0800 (Wed, 01 Aug 2007) | 2 lines

Fixed #4228 -- Removed hardcoding of `RadioFieldRenderer` in the `RadioSelect` Widget so that the display of `RadioSelect`s can be more easily customized. `BoundField.__unicode__` also no longer special cases `RadioSelect` since `RadioSelect.render()` now returns a string like every other Widget.
........
r5783 | gwilson | 2007-08-01 13:52:18 +0800 (Wed, 01 Aug 2007) | 2 lines

Fixed #5037 -- Fixed use of wrong field type in a db-api docs example, thanks ubernostrum.
........
r5796 | gwilson | 2007-08-04 11:19:14 +0800 (Sat, 04 Aug 2007) | 2 lines

Fixed #5078 -- Fixed several broken links to the syndication documentation.
........
r5797 | gwilson | 2007-08-04 11:36:58 +0800 (Sat, 04 Aug 2007) | 2 lines

Changed the 0.95 release notes to point to the 0.95 documentation index.
........
r5798 | gwilson | 2007-08-04 11:39:24 +0800 (Sat, 04 Aug 2007) | 2 lines

Changed several documentation links to be relative.
........
r5799 | gwilson | 2007-08-04 22:41:49 +0800 (Sat, 04 Aug 2007) | 2 lines

Refs #3397 -- Corrected the Exception that is caught when ordering by non-fields (added in [4596]), thanks glin@seznam.cz.
........
r5800 | gwilson | 2007-08-04 22:52:13 +0800 (Sat, 04 Aug 2007) | 2 lines

Fixed #5083 -- Fixed typo in newforms documentation, thanks Rik.
........
r5801 | gwilson | 2007-08-05 12:39:52 +0800 (Sun, 05 Aug 2007) | 2 lines

Refs #5089 -- Added file name to poll detail template examples in the tutorial.
........
r5802 | gwilson | 2007-08-05 12:42:26 +0800 (Sun, 05 Aug 2007) | 2 lines

Changed some more links to be relative in the documentation. I had a couple unsaved files that didn't get in with [5798].
........
r5803 | gwilson | 2007-08-05 13:14:46 +0800 (Sun, 05 Aug 2007) | 2 lines

Fixed #2101 -- Renamed `maxlength` argument to `max_length` for oldforms `FormField`s and db model `Field`s. 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.
........
r5804 | russellm | 2007-08-05 15:39:36 +0800 (Sun, 05 Aug 2007) | 2 lines

Fixed #4001 -- Added dynamic save_m2m method() to forms created with form_for_model and form_for_instance on save(commit=False).
........
r5807 | adrian | 2007-08-06 12:36:43 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5074 -- Added link to audio clip of 'Django' pronunciation
........
r5808 | adrian | 2007-08-06 12:52:14 +0800 (Mon, 06 Aug 2007) | 1 line

Edited docs/newforms.txt changes from [5804]
........
r5809 | adrian | 2007-08-06 13:04:27 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5082 -- Enabled tab completion in 'django-admin.py shell' for objects that were imported into the global namespace at runtime. Thanks, dusk@woofle.net
........
r5810 | adrian | 2007-08-06 13:06:15 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5077 -- django/utils/encoding.py no longer imports settings, as it doesn't use that module. Thanks, Collin Grady
........
r5811 | adrian | 2007-08-06 13:07:38 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5071 -- Fixed 'global name ugettext is not defined' error in django.core.validators. Thanks, Marco Bonetti
........
r5812 | adrian | 2007-08-06 13:13:06 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5064 -- Fixed potentially confusing sentence in docs/authentication.txt. Thanks, Collin Grady
........
r5813 | adrian | 2007-08-06 13:16:35 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5053 -- Added 'action' attribute to <form> tags that didn't have that attribute in docs/newforms.txt examples. Perfectionism appreciated, trickyb
........
r5814 | adrian | 2007-08-06 13:27:58 +0800 (Mon, 06 Aug 2007) | 1 line

Added a closing </p>' to a code example in docs/email.txt
........
r5815 | adrian | 2007-08-06 13:28:45 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #5006 -- Fixed incorrect/outdated docstring for the 'if' template tag. Thanks, Thomas Petazzoni
........
r5816 | adrian | 2007-08-06 13:33:18 +0800 (Mon, 06 Aug 2007) | 1 line

Added note to docs/model-api.txt about help_text not being escaped in the admin interface
........
r5817 | adrian | 2007-08-06 13:34:45 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #4985 -- Clarified location of HttpResponse in docs/request_response.txt. Thanks for raising the issue, rainer.mansfeld@romulo.de
........
r5818 | adrian | 2007-08-06 13:37:17 +0800 (Mon, 06 Aug 2007) | 1 line

Fixed #4980 -- Removed 'forms' from the 'not considered stable and will be rewritten' section of docs/api_stability.txt. They've already been rewritten.
........
r5819 | russellm | 2007-08-06 21:58:56 +0800 (Mon, 06 Aug 2007) | 2 lines

Fixed #3297 -- Implemented FileField and ImageField for newforms. Thanks to the many users that contributed to and tested this patch.
........
r5820 | russellm | 2007-08-06 22:17:10 +0800 (Mon, 06 Aug 2007) | 2 lines

Added note that FileField and ImageField are only in development version. There are also some minor backwards compatibility issues with the changes introduced in [5819] - see the wiki for details.
........
r5823 | adrian | 2007-08-07 04:27:04 +0800 (Tue, 07 Aug 2007) | 1 line

Fixed British spelling of 'customize' and 'behavior' in Manager.get_query_set() docstring
........
r5824 | adrian | 2007-08-07 10:18:36 +0800 (Tue, 07 Aug 2007) | 1 line

Fixed #5105 -- Fixed two ReST errors in docs/newforms.txt. Thanks, Ramiro Morales
........
r5825 | adrian | 2007-08-07 10:33:11 +0800 (Tue, 07 Aug 2007) | 1 line

Fixed #5097 -- Made various updates and corrections to the documentation. Thanks, Nicola Larosa
........
r5826 | russellm | 2007-08-07 19:20:15 +0800 (Tue, 07 Aug 2007) | 2 lines

Removed a redundant directory join during FileField form saving. Thanks to David Danier's eagle eyes for picking up this one.
........

  • Participants
  • Parent commits b13a605
  • Branches newforms-admin

Comments (0)

Files changed (221)

     Ned Batchelder <http://www.nedbatchelder.com/>
     Shannon -jj Behrens <http://jjinux.blogspot.com/>
     Esdras Beleza <linux@esdrasbeleza.com>
+    Chris Bennett <chrisrbennett@yahoo.com>
     James Bennett
     Ben <afternoon@uk2.net>
     Paul Bissex <http://e-scribe.com/>
     Simon Blanchard
+    Matt Boersma <ogghead@gmail.com>
     boobsd@gmail.com
     Andrew Brehaut <http://brehaut.net/blog>
     brut.alll@gmail.com
     Maximillian Dornseif <md@hudora.de>
     Jeremy Dunck <http://dunck.us/>
     Andrew Durdin <adurdin@gmail.com>
+    dusk@woofle.net
     Andy Dustman <farcepest@gmail.com>
     Clint Ecker
     enlight
     Enrico <rico.bl@gmail.com>
+    A. Murat Eren <meren@pardus.org.tr>
     Ludvig Ericson <ludvig.ericson@gmail.com>
     Dirk Eschler <dirk.eschler@gmx.net>
     Marc Fargas <telenieko@telenieko.com>
     glin@seznam.cz
     martin.glueck@gmail.com
     GomoX <gomo@datafull.com>
-    Mario Gonzalez <gonzalemario @t gmail.com>
+    Mario Gonzalez <gonzalemario@gmail.com>
     Simon Greenhill <dev@simon.net.nz>
     Owen Griffiths
     Espen Grindhaug <http://grindhaug.org/>
     junzhang.jn@gmail.com
     Antti Kaihola <http://akaihola.blogspot.com/>
     Ben Dean Kawamura <ben.dean.kawamura@gmail.com>
-    ian.g.kelly@gmail.com
+    Ian G. Kelly <ian.g.kelly@gmail.com>
+    Ben Khoo <khoobks@westnet.com.au>
     Garth Kidd <http://www.deadlybloodyserious.com/>
     kilian <kilian.cavalotti@lip6.fr>
     Sune Kirkeby <http://ibofobi.dk/>
     Martin Kosír <martin@martinkosir.net>
     Meir Kriheli <http://mksoft.co.il/>
     Bruce Kroeze <http://coderseye.com/>
+    krzysiek.pawlik@silvermedia.pl
     Joseph Kocherhans
     konrad@gwu.edu
     kurtiss@meetro.com
     lerouxb@gmail.com
     Waylan Limberg <waylan@gmail.com>
     limodou
+    Philip Lindborg <philip.lindborg@gmail.com>
     Matt McClanahan <http://mmcc.cx/>
     Martin Maney <http://www.chipy.org/Martin_Maney>
     masonsimon+django@gmail.com
     Manuzhai
     Petar Marić <http://www.petarmaric.com/>
     Nuno Mariz <nmariz@gmail.com>
-    marijn@metronomo.cl
+    Marijn Vriens <marijn@metronomo.cl>
     mark@junklight.com
     Yasushi Masuda <whosaysni@gmail.com>
     mattycakes@gmail.com
     mikko@sorl.net
     mitakummaa@gmail.com
     mmarshall
+    Andreas Mock <andreas.mock@web.de>
     Reza Mohammadi <reza@zeerak.ir>
     Eric Moritz <http://eric.themoritzfamily.com/>
     mrmachine <real.human@mrmachine.net>
     plisk
     Daniel Poelzleithner <http://poelzi.org/>
     polpak@yahoo.com
+    Johann Queuniet <johann.queuniet@adh.naellia.eu>
     J. Rademaker
     Michael Radziej <mir@noris.de>
     Ramiro Morales <rm0@gmx.net>
     rhettg@gmail.com
     Henrique Romano <onaiort@gmail.com>
     Armin Ronacher
+    Brian Rosner <brosner@gmail.com>
     Oliver Rutherfurd <http://rutherfurd.net/>
     Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
     Vinay Sajip <vinay_sajip@yahoo.co.uk>
     David Schein
     scott@staplefish.com
     serbaut@gmail.com
+    John Shaffer <jshaffer2112@gmail.com>
     Pete Shinners <pete@shinners.org>
     Jozko Skrablin <jozko.skrablin@gmail.com>
     SmileyChris <smileychris@gmail.com>
     Vasiliy Stavenko <stavenko@gmail.com>
     Thomas Steinacher <http://www.eggdrop.ch/>
     nowell strite
+    Sundance
+    SuperJared
     Radek Švarz <http://www.svarz.cz/translate/>
     Swaroop C H <http://www.swaroopch.info>
     Aaron Swartz <http://www.aaronsw.com/>

File django/bin/make-messages.py

 import os
 import sys
 import getopt
+from itertools import dropwhile
 
 pythonize_re = re.compile(r'\n\s*//')
 
                         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()
                         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(dropwhile(len, msgs.split('\n')))
+                    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:

File django/conf/__init__.py

             # __setattr__(), which would be an infinite loop.
             self.__dict__['_target'] = value
         else:
+            if self._target is None:
+                self._import_settings()
             setattr(self._target, name, value)
 
     def _import_settings(self):

File django/conf/global_settings.py

 
 # Language code for this installation. All choices can be found here:
 # http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
-# http://blogs.law.harvard.edu/tech/stories/storyReader$15
 LANGUAGE_CODE = 'en-us'
 
 # Languages we provide translations for, out of the box. The language name

File django/conf/locale/de/LC_MESSAGES/djangojs.mo

Binary file modified.

File django/conf/locale/de/LC_MESSAGES/djangojs.po

 "PO-Revision-Date: 2005-12-04 13:21+0100\n"
 "Last-Translator: Dirk Eschler <dirk.eschler@gmx.net>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: contrib/admin/media/js/SelectFilter2.js:33
 #, perl-format
 msgid "Available %s"
-msgstr "Verfgbare %s"
+msgstr "Verfügbare %s"
 
 #: contrib/admin/media/js/SelectFilter2.js:41
 msgid "Choose all"
-msgstr "Alles auswhlen"
+msgstr "Alles auswählen"
 
 #: contrib/admin/media/js/SelectFilter2.js:46
 msgid "Add"
-msgstr "Hinzufgen"
+msgstr "Hinzufügen"
 
 #: contrib/admin/media/js/SelectFilter2.js:48
 msgid "Remove"
 #: contrib/admin/media/js/SelectFilter2.js:53
 #, perl-format
 msgid "Chosen %s"
-msgstr "Ausgewhlte %s"
+msgstr "Ausgewählte %s"
 
 #: contrib/admin/media/js/SelectFilter2.js:54
 msgid "Select your choice(s) and click "
-msgstr "Gewnschte Auswahl treffen und "
+msgstr "Gewünschte Auswahl treffen und "
 
 #: contrib/admin/media/js/SelectFilter2.js:59
 msgid "Clear all"
-msgstr "Alles abwhlen"
+msgstr "Alles abwählen"
 
 #: contrib/admin/media/js/dateparse.js:26
 #: contrib/admin/media/js/calendar.js:24
 "January February March April May June July August September October November "
 "December"
 msgstr ""
-"Januar Februar Mrz April Mai Juni Juli August September Oktober November "
+"Januar Februar März April Mai Juni Juli August September Oktober November "
 "Dezember"
 
 #: contrib/admin/media/js/dateparse.js:27

File django/conf/locale/es/LC_MESSAGES/django.mo

Binary file modified.

File django/conf/locale/es/LC_MESSAGES/django.po

 msgstr ""
 "Project-Id-Version: django\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-29 10:15-0400\n"
-"PO-Revision-Date: 2007-02-24 18:02-0600\n"
+"POT-Creation-Date: 2007-07-14 13:46-0500\n"
+"PO-Revision-Date: 2007-07-14 13:00-0500\n"
 "Last-Translator: Mario Gonzalez <gonzalemario @t gmail.com>\n"
 "Language-Team: Castellano <Django-I18N@googlegroups.com>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
-#: oldforms/__init__.py:357 db/models/fields/__init__.py:126
-#: db/models/fields/__init__.py:283 db/models/fields/__init__.py:680
-#: db/models/fields/__init__.py:691 newforms/models.py:185
-#: newforms/fields.py:87 newforms/fields.py:444 newforms/fields.py:522
-#: newforms/fields.py:533
-msgid "This field is required."
-msgstr "Este campo es obligatorio."
-
-#: oldforms/__init__.py:392
-#, python-format
-msgid "Ensure your text is less than %s character."
-msgid_plural "Ensure your text is less than %s characters."
-msgstr[0] "Aseg�rese de que su texto tiene menos de %s car�cter."
-msgstr[1] "Aseg�rese de que su texto tiene menos de %s caracteres."
-
-#: oldforms/__init__.py:397
-msgid "Line breaks are not allowed here."
-msgstr "No se permiten saltos de l�nea."
-
-#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610
-#, python-format
-msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
-msgstr "Escoja una opci�n v�lida; '%(data)s' no est� en %(choices)s."
-
-#: oldforms/__init__.py:577 newforms/widgets.py:181
-#: contrib/admin/filterspecs.py:150
-msgid "Unknown"
-msgstr "Desconocido"
-
-#: oldforms/__init__.py:577 newforms/widgets.py:181
-#: contrib/admin/filterspecs.py:143
-msgid "Yes"
-msgstr "S�"
-
-#: oldforms/__init__.py:577 newforms/widgets.py:181
-#: contrib/admin/filterspecs.py:143
-msgid "No"
-msgstr "No"
-
-#: oldforms/__init__.py:672 core/validators.py:175 core/validators.py:453
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr ""
-"No se ha enviado ning�n fichero. Compruebe el tipo de codificaci�n en el "
-"formulario."
-
-#: oldforms/__init__.py:674
-msgid "The submitted file is empty."
-msgstr "El fichero enviado est� vac�o."
-
-#: oldforms/__init__.py:730
-msgid "Enter a whole number between -32,768 and 32,767."
-msgstr "Introduzca un n�mero entero entre -32,768 y 32,767."
-
-#: oldforms/__init__.py:740
-msgid "Enter a positive number."
-msgstr "Introduzca un n�mero positivo."
-
-#: oldforms/__init__.py:750
-msgid "Enter a whole number between 0 and 32,767."
-msgstr "Introduzca un n�mero entero entre 0 y 32,767."
-
-#: db/models/manipulators.py:307
+#: db/models/manipulators.py:309
 #, python-format
 msgid "%(object)s with this %(type)s already exists for the given %(field)s."
 msgstr "%(object)s de este %(type)s ya existen en este %(field)s."
 
-#: db/models/manipulators.py:308 contrib/admin/views/main.py:340
-#: contrib/admin/views/main.py:342 contrib/admin/views/main.py:344
+#: db/models/manipulators.py:310 contrib/admin/views/main.py:342
+#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346
 msgid "and"
 msgstr "y"
 
-#: db/models/fields/__init__.py:46
-#, python-format
-msgid "%(optname)s with this %(fieldname)s already exists."
-msgstr "Ya existe %(optname)s con este %(fieldname)s."
-
-#: db/models/fields/__init__.py:378
-msgid "This value must be an integer."
-msgstr "Este valor debe ser un entero."
-
-#: db/models/fields/__init__.py:413
-msgid "This value must be either True or False."
-msgstr "Este valor debe ser Verdadero o Falso."
-
-#: db/models/fields/__init__.py:434
-msgid "This field cannot be null."
-msgstr "Este campo no puede estar vac�o."
-
-#: db/models/fields/__init__.py:468 core/validators.py:149
-msgid "Enter a valid date in YYYY-MM-DD format."
-msgstr "Introduzca una fecha v�lida en formato AAAA-MM-DD."
-
-#: db/models/fields/__init__.py:537 core/validators.py:158
-msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
-msgstr "Introduzca una fecha/hora v�lida en formato AAAA-MM-DD HH:MM."
-
-#: db/models/fields/__init__.py:597
-msgid "This value must be a decimal number."
-msgstr "Este valor debe ser un entero."
-
-#: db/models/fields/__init__.py:700
-msgid "Enter a valid filename."
-msgstr "Introduzca un nombre de fichero v�lido"
-
-#: db/models/fields/__init__.py:825
-msgid "This value must be either None, True or False."
-msgstr "Este valor debe ser Verdadero o Falso."
-
-#: db/models/fields/related.py:54
+#: db/models/fields/related.py:55
 #, python-format
 msgid "Please enter a valid %s."
-msgstr "Por favor, introduzca un %s v�lido."
-
-#: db/models/fields/related.py:640
+msgstr "Por favor, introduzca un %s válido."
+
+#: db/models/fields/related.py:641
 msgid "Separate multiple IDs with commas."
-msgstr "Separe m�ltiples IDs con comas."
-
-#: db/models/fields/related.py:642
+msgstr "Separe múltiples IDs con comas."
+
+#: db/models/fields/related.py:643
 msgid ""
 "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
 msgstr ""
 "Mantenga presionado \"Control\", o \"Command\" en un Mac, para seleccionar "
-"m�s de uno."
-
-#: db/models/fields/related.py:689
+"más de uno."
+
+#: db/models/fields/related.py:690
 #, python-format
 msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
 msgid_plural ""
 "Please enter valid %(self)s IDs. The values %(value)r are invalid."
 msgstr[0] ""
-"Por favor, introduzca IDs de %(self)s v�lidos. El valor %(value)r no es "
-"v�lido."
+"Por favor, introduzca IDs de %(self)s válidos. El valor %(value)r no es "
+"válido."
 msgstr[1] ""
-"Por favor, introduzca IDs de %(self)s v�lidos. Los valores %(value)r no son "
-"v�lidos."
+"Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son "
+"válidos."
+
+#: db/models/fields/__init__.py:47
+#, python-format
+msgid "%(optname)s with this %(fieldname)s already exists."
+msgstr "Ya existe %(optname)s con este %(fieldname)s."
+
+#: db/models/fields/__init__.py:127 db/models/fields/__init__.py:284
+#: db/models/fields/__init__.py:681 db/models/fields/__init__.py:692
+#: oldforms/__init__.py:369 newforms/fields.py:92 newforms/fields.py:440
+#: newforms/fields.py:516 newforms/fields.py:527 newforms/models.py:187
+msgid "This field is required."
+msgstr "Este campo es obligatorio."
+
+#: db/models/fields/__init__.py:379
+msgid "This value must be an integer."
+msgstr "Este valor debe ser un entero."
+
+#: db/models/fields/__init__.py:414
+msgid "This value must be either True or False."
+msgstr "Este valor debe ser Verdadero o Falso."
+
+#: db/models/fields/__init__.py:435
+msgid "This field cannot be null."
+msgstr "Este campo no puede estar vacío."
+
+#: db/models/fields/__init__.py:469 core/validators.py:155
+msgid "Enter a valid date in YYYY-MM-DD format."
+msgstr "Introduzca una fecha válida en formato AAAA-MM-DD."
+
+#: db/models/fields/__init__.py:538 core/validators.py:164
+msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
+msgstr "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM."
+
+#: db/models/fields/__init__.py:598
+msgid "This value must be a decimal number."
+msgstr "Este valor debe ser un entero."
+
+#: db/models/fields/__init__.py:701
+msgid "Enter a valid filename."
+msgstr "Introduzca un nombre de fichero válido"
+
+#: db/models/fields/__init__.py:826
+msgid "This value must be either None, True or False."
+msgstr "Este valor debe ser Verdadero o Falso."
+
+#: conf/global_settings.py:38
+msgid "Arabic"
+msgstr "Árabe"
 
 #: conf/global_settings.py:39
-msgid "Arabic"
-msgstr "�rabe"
+msgid "Bengali"
+msgstr "Bengalí"
 
 #: conf/global_settings.py:40
-msgid "Bengali"
-msgstr "Bengal�"
+msgid "Bulgarian"
+msgstr "Búlgaro"
 
 #: conf/global_settings.py:41
-msgid "Bulgarian"
-msgstr "B�lgaro"
+msgid "Catalan"
+msgstr "Catalán"
 
 #: conf/global_settings.py:42
-msgid "Catalan"
-msgstr "Catal�n"
-
-#: conf/global_settings.py:43
 msgid "Czech"
 msgstr "Checo"
 
+#: conf/global_settings.py:43
+msgid "Welsh"
+msgstr "Galés"
+
 #: conf/global_settings.py:44
-msgid "Welsh"
-msgstr "Gal�s"
+msgid "Danish"
+msgstr "Danés"
 
 #: conf/global_settings.py:45
-msgid "Danish"
-msgstr "Dan�s"
+msgid "German"
+msgstr "Alemán"
 
 #: conf/global_settings.py:46
-msgid "German"
-msgstr "Alem�n"
-
-#: conf/global_settings.py:47
 msgid "Greek"
 msgstr "Griego"
 
+#: conf/global_settings.py:47
+msgid "English"
+msgstr "Inglés"
+
 #: conf/global_settings.py:48
-msgid "English"
-msgstr "Ingl�s"
+msgid "Spanish"
+msgstr "Español"
 
 #: conf/global_settings.py:49
-msgid "Spanish"
-msgstr "Espa�ol"
+msgid "Argentinean Spanish"
+msgstr "Español Argentino"
 
 #: conf/global_settings.py:50
-msgid "Argentinean Spanish"
-msgstr "Espa�ol Argentino"
+msgid "Persian"
+msgstr "Persa"
 
 #: conf/global_settings.py:51
-#, fuzzy
-msgid "Persian"
-msgstr "Serbio"
+msgid "Finnish"
+msgstr "Finés"
 
 #: conf/global_settings.py:52
-msgid "Finnish"
-msgstr "Fin�s"
+msgid "French"
+msgstr "Francés"
 
 #: conf/global_settings.py:53
-msgid "French"
-msgstr "Franc�s"
-
-#: conf/global_settings.py:54
 msgid "Galician"
 msgstr "Gallego"
 
+#: conf/global_settings.py:54
+msgid "Hungarian"
+msgstr "Húngaro"
+
 #: conf/global_settings.py:55
-msgid "Hungarian"
-msgstr "H�ngaro"
-
-#: conf/global_settings.py:56
 msgid "Hebrew"
 msgstr "Hebreo"
 
+#: conf/global_settings.py:56
+msgid "Icelandic"
+msgstr "Islandés"
+
 #: conf/global_settings.py:57
-msgid "Icelandic"
-msgstr "Island�s"
-
-#: conf/global_settings.py:58
 msgid "Italian"
 msgstr "Italiano"
 
+#: conf/global_settings.py:58
+msgid "Japanese"
+msgstr "Japonés"
+
 #: conf/global_settings.py:59
-msgid "Japanese"
-msgstr "Japon�s"
-
-#: conf/global_settings.py:60
 msgid "Korean"
 msgstr "Koreano"
 
-#: conf/global_settings.py:61
+#: conf/global_settings.py:60
 msgid "Kannada"
 msgstr "Kannada"
 
-#: conf/global_settings.py:62
+#: conf/global_settings.py:61
 msgid "Latvian"
 msgstr "Latvio"
 
-#: conf/global_settings.py:63
+#: conf/global_settings.py:62
 msgid "Macedonian"
 msgstr "Macedonio"
 
+#: conf/global_settings.py:63
+msgid "Dutch"
+msgstr "Alemán"
+
 #: conf/global_settings.py:64
-msgid "Dutch"
-msgstr "Alem�n"
-
-#: conf/global_settings.py:65
 msgid "Norwegian"
 msgstr "Noruego"
 
-#: conf/global_settings.py:66
+#: conf/global_settings.py:65
 msgid "Polish"
 msgstr "Polaco"
 
+#: conf/global_settings.py:66
+msgid "Portugese"
+msgstr "Portugés"
+
 #: conf/global_settings.py:67
-msgid "Portugese"
-msgstr "Portug�s"
+msgid "Brazilian"
+msgstr "Brasileño"
 
 #: conf/global_settings.py:68
-msgid "Brazilian"
-msgstr "Brasile�o"
-
-#: conf/global_settings.py:69
 msgid "Romanian"
 msgstr "Rumano"
 
-#: conf/global_settings.py:70
+#: conf/global_settings.py:69
 msgid "Russian"
 msgstr "Ruso"
 
-#: conf/global_settings.py:71
+#: conf/global_settings.py:70
 msgid "Slovak"
 msgstr "Eslovaco"
 
-#: conf/global_settings.py:72
+#: conf/global_settings.py:71
 msgid "Slovenian"
 msgstr "Esloveno"
 
-#: conf/global_settings.py:73
+#: conf/global_settings.py:72
 msgid "Serbian"
 msgstr "Serbio"
 
-#: conf/global_settings.py:74
+#: conf/global_settings.py:73
 msgid "Swedish"
 msgstr "Sueco"
 
-#: conf/global_settings.py:75
+#: conf/global_settings.py:74
 msgid "Tamil"
 msgstr "Tamil"
 
+#: conf/global_settings.py:75
+msgid "Telugu"
+msgstr "Telugu"
+
 #: conf/global_settings.py:76
-msgid "Telugu"
-msgstr ""
-
-#: conf/global_settings.py:77
 msgid "Turkish"
 msgstr "Turco"
 
-#: conf/global_settings.py:78
+#: conf/global_settings.py:77
 msgid "Ukrainian"
 msgstr "Ucraniano"
 
-#: conf/global_settings.py:79
+#: conf/global_settings.py:78
 msgid "Simplified Chinese"
 msgstr "Chino simplificado"
 
-#: conf/global_settings.py:80
+#: conf/global_settings.py:79
 msgid "Traditional Chinese"
 msgstr "Chino tradicional"
 
-#: core/validators.py:65
+#: core/validators.py:71
 msgid "This value must contain only letters, numbers and underscores."
-msgstr "Este valor debe contener s�lo letras, n�meros y guiones bajos."
-
-#: core/validators.py:69
+msgstr "Este valor debe contener sólo letras, números y guiones bajos."
+
+#: core/validators.py:75
 msgid ""
 "This value must contain only letters, numbers, underscores, dashes or "
 "slashes."
 msgstr ""
-"Este valor debe contener letras, n�meros, guiones bajos o barras solamente."
-
-#: core/validators.py:73
+"Este valor debe contener letras, números, guiones bajos o barras solamente."
+
+#: core/validators.py:79
 msgid "This value must contain only letters, numbers, underscores or hyphens."
-msgstr "Este valor debe contener s�lo letras, n�meros, guiones bajos o medios."
-
-#: core/validators.py:77
+msgstr "Este valor debe contener sólo letras, números, guiones bajos o medios."
+
+#: core/validators.py:83
 msgid "Uppercase letters are not allowed here."
-msgstr "No se admiten letras may�sculas."
-
-#: core/validators.py:81
+msgstr "No se admiten letras mayúsculas."
+
+#: core/validators.py:87
 msgid "Lowercase letters are not allowed here."
-msgstr "No se admiten letras min�sculas."
-
-#: core/validators.py:88
+msgstr "No se admiten letras minúsculas."
+
+#: core/validators.py:94
 msgid "Enter only digits separated by commas."
-msgstr "Introduzca s�lo d�gitos separados por comas."
-
-#: core/validators.py:100
+msgstr "Introduzca sólo dígitos separados por comas."
+
+#: core/validators.py:106
 msgid "Enter valid e-mail addresses separated by commas."
-msgstr "Introduzca direcciones de correo v�lidas separadas por comas."
-
-#: core/validators.py:104
+msgstr "Introduzca direcciones de correo válidas separadas por comas."
+
+#: core/validators.py:110
 msgid "Please enter a valid IP address."
-msgstr "Por favor introduzca una direcci�n IP v�lida."
-
-#: core/validators.py:108
+msgstr "Por favor introduzca una dirección IP válida."
+
+#: core/validators.py:114
 msgid "Empty values are not allowed here."
-msgstr "No se admiten valores vac�os."
-
-#: core/validators.py:112
+msgstr "No se admiten valores vacíos."
+
+#: core/validators.py:118
 msgid "Non-numeric characters aren't allowed here."
-msgstr "No se admiten caracteres no num�ricos."
-
-#: core/validators.py:116
+msgstr "No se admiten caracteres no numéricos."
+
+#: core/validators.py:122
 msgid "This value can't be comprised solely of digits."
-msgstr "Este valor no puede comprender s�lo d�gitos."
-
-#: core/validators.py:121 newforms/fields.py:135
+msgstr "Este valor no puede comprender sólo dígitos."
+
+#: core/validators.py:127 newforms/fields.py:141
 msgid "Enter a whole number."
-msgstr "Introduzca un n�mero entero."
-
-#: core/validators.py:125
+msgstr "Introduzca un número entero."
+
+#: core/validators.py:131
 msgid "Only alphabetical characters are allowed here."
-msgstr "S�lo se admiten caracteres alfab�ticos."
-
-#: core/validators.py:140
+msgstr "Sólo se admiten caracteres alfabéticos."
+
+#: core/validators.py:146
 msgid "Year must be 1900 or later."
-msgstr "El a�o debe ser 1900 o posterior."
-
-#: core/validators.py:144
+msgstr "El año debe ser 1900 o posterior."
+
+#: core/validators.py:150
+#, python-format
 msgid "Invalid date: %s"
-msgstr "Fecha no v�lida: %s"
-
-#: core/validators.py:154
+msgstr "Fecha no válida: %s"
+
+#: core/validators.py:160
 msgid "Enter a valid time in HH:MM format."
-msgstr "Introduzca una hora v�lida en formato HH:MM."
-
-#: core/validators.py:163 newforms/fields.py:339
+msgstr "Introduzca una hora válida en formato HH:MM."
+
+#: core/validators.py:169 newforms/fields.py:335
 msgid "Enter a valid e-mail address."
-msgstr "Introduzca una direcci�n de correo electr�nico v�lida"
-
-#: core/validators.py:179
+msgstr "Introduzca una dirección de correo electrónico válida"
+
+#: core/validators.py:181 core/validators.py:461 oldforms/__init__.py:682
+msgid "No file was submitted. Check the encoding type on the form."
+msgstr ""
+"No se ha enviado ningún fichero. Compruebe el tipo de codificación en el "
+"formulario."
+
+#: core/validators.py:185
 msgid ""
 "Upload a valid image. The file you uploaded was either not an image or a "
 "corrupted image."
 msgstr ""
-"Enve una imagen vlida. El fichero que ha enviado no era una imagen o se "
+"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se "
 "trataba de una imagen corrupta."
 
-#: core/validators.py:186
+#: core/validators.py:192
 #, python-format
 msgid "The URL %s does not point to a valid image."
-msgstr "La URL %s no apunta a una imagen v�lida."
-
-#: core/validators.py:190
+msgstr "La URL %s no apunta a una imagen válida."
+
+#: core/validators.py:196
 #, python-format
 msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
 msgstr ""
-"Los n�meros de tel�fono deben guardar el formato XXX-XXX-XXXX. \"%s\" no es "
-"v�lido."
-
-#: core/validators.py:198
+"Los números de teléfono deben guardar el formato XXX-XXX-XXXX. \"%s\" no es "
+"válido."
+
+#: core/validators.py:204
 #, python-format
 msgid "The URL %s does not point to a valid QuickTime video."
-msgstr "La URL %s no apunta a un v�deo QuickTime v�lido."
-
-#: core/validators.py:202
+msgstr "La URL %s no apunta a un vídeo QuickTime válido."
+
+#: core/validators.py:208
 msgid "A valid URL is required."
-msgstr "Se precisa una URL v�lida."
-
-#: core/validators.py:216
+msgstr "Se precisa una URL válida."
+
+#: core/validators.py:222
 #, python-format
 msgid ""
 "Valid HTML is required. Specific errors are:\n"
 "%s"
 msgstr ""
-"Se precisa HTML vlido. Los errores especficos son:\n"
+"Se precisa HTML válido. Los errores específicos son:\n"
 "%s"
 
-#: core/validators.py:223
+#: core/validators.py:229
 #, python-format
 msgid "Badly formed XML: %s"
 msgstr "XML mal formado: %s"
 
-#: core/validators.py:240
+#: core/validators.py:246
 #, python-format
 msgid "Invalid URL: %s"
-msgstr "URL no v�lida: %s"
-
-#: core/validators.py:245 core/validators.py:247
+msgstr "URL no válida: %s"
+
+#: core/validators.py:251 core/validators.py:253
 #, python-format
 msgid "The URL %s is a broken link."
 msgstr "La URL %s es un enlace roto."
 
-#: core/validators.py:253
+#: core/validators.py:259
 msgid "Enter a valid U.S. state abbreviation."
-msgstr "Introduzca una abreviatura v�lida de estado de los EEUU."
-
-#: core/validators.py:267
+msgstr "Introduzca una abreviatura válida de estado de los EEUU."
+
+#: core/validators.py:273
 #, python-format
 msgid "Watch your mouth! The word %s is not allowed here."
 msgid_plural "Watch your mouth! The words %s are not allowed here."
-msgstr[0] "�Cuida tu vocabulario! Aqu� no admitimos la palabra %s."
-msgstr[1] "�Cuida tu vocabulario! Aqu� no admitimos las palabras %s."
-
-#: core/validators.py:274
+msgstr[0] "¡Cuida tu vocabulario! Aquí no admitimos la palabra %s."
+msgstr[1] "¡Cuida tu vocabulario! Aquí no admitimos las palabras %s."
+
+#: core/validators.py:280
 #, python-format
 msgid "This field must match the '%s' field."
 msgstr "Este campo debe concordar con el campo '%s'."
 
-#: core/validators.py:293
+#: core/validators.py:299
 msgid "Please enter something for at least one field."
 msgstr "Por favor, introduzca algo en al menos un campo."
 
-#: core/validators.py:302 core/validators.py:313
+#: core/validators.py:308 core/validators.py:319
 msgid "Please enter both fields or leave them both empty."
-msgstr "Por favor, rellene ambos campos o deje ambos vac�os."
-
-#: core/validators.py:321
+msgstr "Por favor, rellene ambos campos o deje ambos vacíos."
+
+#: core/validators.py:327
 #, python-format
 msgid "This field must be given if %(field)s is %(value)s"
 msgstr "Se debe proporcionar este campo si %(field)s es %(value)s"
 
-#: core/validators.py:334
+#: core/validators.py:340
 #, python-format
 msgid "This field must be given if %(field)s is not %(value)s"
 msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s"
 
-#: core/validators.py:353
+#: core/validators.py:359
 msgid "Duplicate values are not allowed."
 msgstr "No se admiten valores duplicados."
 
-#: core/validators.py:368
+#: core/validators.py:374
 #, python-format
 msgid "This value must be between %(lower)s and %(upper)s."
 msgstr "Este valor debe estar entre %(lower)s y %(upper)s."
 
-#: core/validators.py:370
+#: core/validators.py:376
 #, python-format
 msgid "This value must be at least %s."
-msgstr "Este valor debe ser como m�nimo %s."
-
-#: core/validators.py:372
+msgstr "Este valor debe ser como mínimo %s."
+
+#: core/validators.py:378
 #, python-format
 msgid "This value must be no more than %s."
 msgstr "Este valor no debe ser mayor que %s."
 
-#: core/validators.py:408
+#: core/validators.py:414
 #, python-format
 msgid "This value must be a power of %s."
 msgstr "Este valor debe ser una potencia de %s."
 
-#: core/validators.py:417
+#: core/validators.py:424
 msgid "Please enter a valid decimal number."
-msgstr "Por favor, introduzca un n�mero decimal v�lido."
-
-#: core/validators.py:423
+msgstr "Por favor, introduzca un número decimal válido."
+
+#: core/validators.py:431
 #, python-format
 msgid "Please enter a valid decimal number with at most %s total digit."
 msgid_plural ""
 "Please enter a valid decimal number with at most %s total digits."
 msgstr[0] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en "
+"Por favor, introduzca un número decimal válido con a lo más %s dígito en "
 "total."
 msgstr[1] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en "
+"Por favor, introduzca un número decimal válido con a lo más %s dígitos en "
 "total."
 
-#: core/validators.py:426
+#: core/validators.py:434
 #, python-format
 msgid ""
 "Please enter a valid decimal number with a whole part of at most %s digit."
 msgid_plural ""
 "Please enter a valid decimal number with a whole part of at most %s digits."
 msgstr[0] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en su "
+"Por favor, introduzca un número decimal válido con a lo más %s dígito en su "
 "parte entera."
 msgstr[1] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en su "
+"Por favor, introduzca un número decimal válido con a lo más %s dígitos en su "
 "parte entera."
 
-#: core/validators.py:429
+#: core/validators.py:437
 #, python-format
 msgid "Please enter a valid decimal number with at most %s decimal place."
 msgid_plural ""
 "Please enter a valid decimal number with at most %s decimal places."
 msgstr[0] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito "
+"Por favor, introduzca un número decimal válido con a lo más %s dígito "
 "decimal."
 msgstr[1] ""
-"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos "
+"Por favor, introduzca un número decimal válido con a lo más %s dígitos "
 "decimales."
 
-#: core/validators.py:437
-#, fuzzy
+#: core/validators.py:445
 msgid "Please enter a valid floating point number."
-msgstr "Por favor, introduzca un n�mero decimal v�lido."
-
-#: core/validators.py:446
+msgstr "Por favor, introduzca un número decimal válido."
+
+#: core/validators.py:454
 #, python-format
 msgid "Make sure your uploaded file is at least %s bytes big."
-msgstr "Aseg�rese de que el fichero que env�a tiene al menos %s bytes."
-
-#: core/validators.py:447
+msgstr "Asegúrese de que el fichero que envía tiene al menos %s bytes."
+
+#: core/validators.py:455
 #, python-format
 msgid "Make sure your uploaded file is at most %s bytes big."
-msgstr "Aseg�rese de que el fichero que env�a tiene como m�ximo %s bytes."
-
-#: core/validators.py:464
+msgstr "Asegúrese de que el fichero que envía tiene como máximo %s bytes."
+
+#: core/validators.py:472
 msgid "The format for this field is wrong."
 msgstr "El formato de este campo es incorrecto."
 
-#: core/validators.py:479
+#: core/validators.py:487
 msgid "This field is invalid."
-msgstr "Este campo no es v�lido."
-
-#: core/validators.py:515
+msgstr "Este campo no es válido."
+
+#: core/validators.py:523
 #, python-format
 msgid "Could not retrieve anything from %s."
 msgstr "No pude obtener nada de %s."
 
-#: core/validators.py:518
+#: core/validators.py:526
 #, python-format
 msgid ""
 "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
 msgstr ""
-"La URL %(url)s devolvi� la cabecera Content-Type '%(contenttype)s', que no "
-"es v�lida."
-
-#: core/validators.py:551
+"La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no "
+"es válida."
+
+#: core/validators.py:559
 #, python-format
 msgid ""
 "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
 "\"%(start)s\".)"
 msgstr ""
-"Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea "
+"Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea "
 "empieza por \"%(start)s\".)"
 
-#: core/validators.py:555
+#: core/validators.py:563
 #, python-format
 msgid ""
 "Some text starting on line %(line)s is not allowed in that context. (Line "
 "starts with \"%(start)s\".)"
 msgstr ""
-"Parte del texto que comienza en la l�nea %(line)s no est� permitido en ese "
-"contexto. (La l�nea empieza por \"%(start)s\".)"
-
-#: core/validators.py:560
+"Parte del texto que comienza en la línea %(line)s no está permitido en ese "
+"contexto. (La línea empieza por \"%(start)s\".)"
+
+#: core/validators.py:568
 #, python-format
 msgid ""
 "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
 "(start)s\".)"
 msgstr ""
-"El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea "
+"El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea "
 "empieza por \"%(start)s\".)"
 
-#: core/validators.py:565
+#: core/validators.py:573
 #, python-format
 msgid ""
 "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
 "(start)s\".)"
 msgstr ""
-"La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea "
+"La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea "
 "empieza por \"%(start)s\".)"
 
-#: core/validators.py:569
+#: core/validators.py:577
 #, python-format
 msgid ""
 "A tag on line %(line)s is missing one or more required attributes. (Line "
 "starts with \"%(start)s\".)"
 msgstr ""
-"A una etiqueta de la l�nea %(line)s le faltan uno o m�s atributos "
-"requeridos. (La l�nea empieza por \"%(start)s\".)"
-
-#: core/validators.py:574
+"A una etiqueta de la línea %(line)s le faltan uno o más atributos "
+"requeridos. (La línea empieza por \"%(start)s\".)"
+
+#: core/validators.py:582
 #, python-format
 msgid ""
 "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
 "starts with \"%(start)s\".)"
 msgstr ""
-"El atributo \"%(attr)s\" de la l�nea %(line)s tiene un valor que no es "
-"v�lido. (La l�nea empieza por \"%(start)s\".)"
-
-#: views/generic/create_update.py:43
+"El atributo \"%(attr)s\" de la línea %(line)s tiene un valor que no es "
+"válido. (La línea empieza por \"%(start)s\".)"
+
+#: contrib/auth/forms.py:17 contrib/auth/forms.py:138
+msgid "The two password fields didn't match."
+msgstr "Las dos contraseñas no coinciden."
+
+#: contrib/auth/forms.py:25
+msgid "A user with that username already exists."
+msgstr "Ya existe  un usuario con este nombre."
+
+#: contrib/auth/forms.py:53
+msgid ""
+"Your Web browser doesn't appear to have cookies enabled. Cookies are "
+"required for logging in."
+msgstr ""
+"Tu navegador de internet parece no tener las cookies habilitadas. Las "
+"cookies se necesitan para poder ingresar."
+
+#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10
+msgid ""
+"Please enter a correct username and password. Note that both fields are case-"
+"sensitive."
+msgstr ""
+"Por favor, introduzca un correcto nombre de usuario y contraseña. Note que "
+"ambos campos son sensibles a mayúsculas/minúsculas."
+
+#: contrib/auth/forms.py:62
+msgid "This account is inactive."
+msgstr "Esta cuenta está inactiva."
+
+#: contrib/auth/forms.py:84
+msgid ""
+"That e-mail address doesn't have an associated user account. Are you sure "
+"you've registered?"
+msgstr ""
+"Esta dirección de correo electrónico no tiene una cuenta de usuario "
+"asociada. ¿Está seguro de que se ha registrado?"
+
+#: contrib/auth/forms.py:117
+msgid "The two 'new password' fields didn't match."
+msgstr ""
+"Las contraseñas introducidas en los campos 'nueva contraseña' no coinciden."
+
+#: contrib/auth/forms.py:124
+msgid "Your old password was entered incorrectly. Please enter it again."
+msgstr ""
+"Tu contraseña antigua es incorrecta. Por favor, vuelve a introducirla "
+"correctamente."
+
+#: contrib/auth/models.py:51 contrib/auth/models.py:71
+msgid "name"
+msgstr "nombre"
+
+#: contrib/auth/models.py:53
+msgid "codename"
+msgstr "nombre en código"
+
+#: contrib/auth/models.py:56
+msgid "permission"
+msgstr "permiso"
+
+#: contrib/auth/models.py:57 contrib/auth/models.py:72
+msgid "permissions"
+msgstr "permisos"
+
+#: contrib/auth/models.py:75
+msgid "group"
+msgstr "grupo"
+
+#: contrib/auth/models.py:76 contrib/auth/models.py:116
+msgid "groups"
+msgstr "grupos"
+
+#: contrib/auth/models.py:106
+msgid "username"
+msgstr "nombre de usuario"
+
+#: contrib/auth/models.py:106
+msgid ""
+"Required. 30 characters or fewer. Alphanumeric characters only (letters, "
+"digits and underscores)."
+msgstr ""
+"Requerido. 30 caracteres o menos. Sólo caracteres alfanuméricos (letras, "
+"dígitos y guiones bajos)."
+
+#: contrib/auth/models.py:107
+msgid "first name"
+msgstr "nombre"
+
+#: contrib/auth/models.py:108
+msgid "last name"
+msgstr "apellidos"
+
+#: contrib/auth/models.py:109
+msgid "e-mail address"
+msgstr "dirección de correo"
+
+#: contrib/auth/models.py:110
+msgid "password"
+msgstr "clave"
+
+#: contrib/auth/models.py:110
+msgid ""
+"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change "
+"password form</a>."
+msgstr ""
+"Use'[algo]$[sal]$[hash hexadecimal]' o use <a href=\"password/\">el "
+"formulario para cambiar la contraseña</a>."
+
+#: contrib/auth/models.py:111
+msgid "staff status"
+msgstr "es staff"
+
+#: contrib/auth/models.py:111
+msgid "Designates whether the user can log into this admin site."
+msgstr "Indica si el usuario puede entrar en este sitio de administración."
+
+#: contrib/auth/models.py:112
+msgid "active"
+msgstr "activo"
+
+#: contrib/auth/models.py:112
+msgid ""
+"Designates whether this user can log into the Django admin. Unselect this "
+"instead of deleting accounts."
+msgstr ""
+"Indica si el usuario puede entrar en este sitio de administración. Desmarque "
+"esto en lugar de borrar la cuenta."
+
+#: contrib/auth/models.py:113
+msgid "superuser status"
+msgstr "es superusuario"
+
+#: contrib/auth/models.py:113
+msgid ""
+"Designates that this user has all permissions without explicitly assigning "
+"them."
+msgstr ""
+"Indica que este usuario tiene todos los permisos sin asignárselos "
+"explícitamente."
+
+#: contrib/auth/models.py:114
+msgid "last login"
+msgstr "Último registro"
+
+#: contrib/auth/models.py:115
+msgid "date joined"
+msgstr "fecha de creación"
+
+#: contrib/auth/models.py:117
+msgid ""
+"In addition to the permissions manually assigned, this user will also get "
+"all permissions granted to each group he/she is in."
+msgstr ""
+"Además de los permisos asignados manualmente, este usuario también tendrá "
+"todos los permisos de los grupos en los que esté."
+
+#: contrib/auth/models.py:118
+msgid "user permissions"
+msgstr "permisos"
+
+#: contrib/auth/models.py:122
+msgid "user"
+msgstr "usuario"
+
+#: contrib/auth/models.py:123
+msgid "users"
+msgstr "usuarios"
+
+#: contrib/auth/models.py:129
+msgid "Personal info"
+msgstr "Información personal"
+
+#: contrib/auth/models.py:130
+msgid "Permissions"
+msgstr "Permisos"
+
+#: contrib/auth/models.py:131
+msgid "Important dates"
+msgstr "Fechas importantes"
+
+#: contrib/auth/models.py:132
+msgid "Groups"
+msgstr "Grupos"
+
+#: contrib/auth/models.py:274
+msgid "message"
+msgstr "mensaje"
+
+#: contrib/auth/views.py:41
+msgid "Logged out"
+msgstr "Sesión terminada"
+
+#: contrib/admin/models.py:17
+msgid "action time"
+msgstr "hora de acción"
+
+#: contrib/admin/models.py:20
+msgid "object id"
+msgstr "id de objeto"
+
+#: contrib/admin/models.py:21
+msgid "object repr"
+msgstr "repr de objeto"
+
+#: contrib/admin/models.py:22
+msgid "action flag"
+msgstr "marca de acción"
+
+#: contrib/admin/models.py:23
+msgid "change message"
+msgstr "mensaje de cambio"
+
+#: contrib/admin/models.py:26
+msgid "log entry"
+msgstr "entrada de registro"
+
+#: contrib/admin/models.py:27
+msgid "log entries"
+msgstr "entradas de registro"
+
+#: contrib/admin/filterspecs.py:42
 #, python-format
-msgid "The %(verbose_name)s was created successfully."
-msgstr "El %(verbose_name)s se ha creado correctamente."
-
-#: views/generic/create_update.py:117
+msgid ""
+"<h3>By %s:</h3>\n"
+"<ul>\n"
+msgstr ""
+"<h3>Por %s:</h3>\n"
+"<ul>\n"
+
+#: contrib/admin/filterspecs.py:72 contrib/admin/filterspecs.py:90
+#: contrib/admin/filterspecs.py:145 contrib/admin/filterspecs.py:171
+msgid "All"
+msgstr "Todo"
+
+#: contrib/admin/filterspecs.py:111
+msgid "Any date"
+msgstr "Cualquier fecha"
+
+#: contrib/admin/filterspecs.py:112
+msgid "Today"
+msgstr "Hoy"
+
+#: contrib/admin/filterspecs.py:115
+msgid "Past 7 days"
+msgstr "Últimos 7 días"
+
+#: contrib/admin/filterspecs.py:117
+msgid "This month"
+msgstr "Este mes"
+
+#: contrib/admin/filterspecs.py:119
+msgid "This year"
+msgstr "Este año"
+
+#: contrib/admin/filterspecs.py:145 oldforms/__init__.py:587
+#: newforms/widgets.py:181
+msgid "Yes"
+msgstr "Sí"
+
+#: contrib/admin/filterspecs.py:145 oldforms/__init__.py:587
+#: newforms/widgets.py:181
+msgid "No"
+msgstr "No"
+
+#: contrib/admin/filterspecs.py:152 oldforms/__init__.py:587
+#: newforms/widgets.py:181
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: contrib/admin/views/decorators.py:24
+#: contrib/admin/templates/admin/login.html:25
+msgid "Log in"
+msgstr "Identificarse"
+
+#: contrib/admin/views/decorators.py:62
+msgid ""
+"Please log in again, because your session has expired. Don't worry: Your "
+"submission has been saved."
+msgstr ""
+"Por favor, identifíquese de nuevo, porque su sesión ha caducado. No se "
+"preocupe: se ha guardado su envío."
+
+#: contrib/admin/views/decorators.py:69
+msgid ""
+"Looks like your browser isn't configured to accept cookies. Please enable "
+"cookies, reload this page, and try again."
+msgstr ""
+"Parece que su navegador no está configurado para aceptar cookies. Actívelas "
+"por favor, recargue esta página, e inténtelo de nuevo."
+
+#: contrib/admin/views/decorators.py:83
+msgid "Usernames cannot contain the '@' character."
+msgstr "Los nombres de usuario no pueden contener el carácter '@'."
+
+#: contrib/admin/views/decorators.py:85
 #, python-format
-msgid "The %(verbose_name)s was updated successfully."
-msgstr "Se actualiz� con �xito el %(verbose_name)s."
-
-#: views/generic/create_update.py:184
+msgid "Your e-mail address is not your username. Try '%s' instead."
+msgstr ""
+"Su dirección de correo no es su nombre de usuario. Pruebe con '%s' en su "
+"lugar."
+
+#: contrib/admin/views/main.py:230
+msgid "Site administration"
+msgstr "Sitio administrativo"
+
+#: contrib/admin/views/main.py:264 contrib/admin/views/auth.py:20
 #, python-format
-msgid "The %(verbose_name)s was deleted."
-msgstr "El %(verbose_name)s ha sido eliminado."
-
-#: newforms/models.py:172 newforms/fields.py:432
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr "Escoja una opci�n v�lida. Esa opci�n no est� entre las aceptadas."
-
-#: newforms/models.py:189 newforms/fields.py:448 newforms/fields.py:526
-msgid "Enter a list of values."
-msgstr "Introduzca una lista de valores."
-
-#: newforms/models.py:195 newforms/fields.py:457
+msgid "The %(name)s \"%(obj)s\" was added successfully."
+msgstr "Se añadió con éxito el %(name)s \"%(obj)s\"."
+
+#: contrib/admin/views/main.py:268 contrib/admin/views/main.py:354
+#: contrib/admin/views/auth.py:25
+msgid "You may edit it again below."
+msgstr "Puede editarlo de nuevo abajo."
+
+#: contrib/admin/views/main.py:278 contrib/admin/views/main.py:363
 #, python-format
-msgid "Select a valid choice. %s is not one of the available choices."
-msgstr "Escoja una opci�n v�lida; '%s' no es una de las opciones disponibles."
-
-#: newforms/fields.py:110 newforms/fields.py:324
+msgid "You may add another %s below."
+msgstr "Puede agregar otro %s abajo."
+
+#: contrib/admin/views/main.py:296
 #, python-format
-msgid "Ensure this value has at most %d characters."
-msgstr "Aseg�rese de que su texto tiene a lo m�s %d caracteres."
-
-#: newforms/fields.py:112 newforms/fields.py:326
+msgid "Add %s"
+msgstr "Agregar %s"
+
+#: contrib/admin/views/main.py:342
 #, python-format
-msgid "Ensure this value has at least %d characters."
-msgstr "Aseg�rese de que su texto tiene al menos %d caracteres."
-
-#: newforms/fields.py:137 newforms/fields.py:160 newforms/fields.py:192
+msgid "Added %s."
+msgstr "Agregado %s."
+
+#: contrib/admin/views/main.py:344
 #, python-format
-msgid "Ensure this value is less than or equal to %s."
-msgstr "Aseg�rese de que este valor es menor o igual a %s."
-
-#: newforms/fields.py:139 newforms/fields.py:162 newforms/fields.py:194
+msgid "Changed %s."
+msgstr "Modificado %s."
+
+#: contrib/admin/views/main.py:346
 #, python-format
-msgid "Ensure this value is greater than or equal to %s."
-msgstr "Aseg�rese de que este valor es mayor o igual a %s."
-
-#: newforms/fields.py:158 newforms/fields.py:186
-msgid "Enter a number."
-msgstr "Introduzca un n�mero."
-
-#: newforms/fields.py:196
+msgid "Deleted %s."
+msgstr "Borrado %s."
+
+#: contrib/admin/views/main.py:349
+msgid "No fields changed."
+msgstr "No ha cambiado ningún campo."
+
+#: contrib/admin/views/main.py:352
 #, python-format
-msgid "Ensure that there are no more than %s digits in total."
-msgstr "Aseg�rese de que no hay m�s de %s d�gitos en total."
-
-#: newforms/fields.py:198
+msgid "The %(name)s \"%(obj)s\" was changed successfully."
+msgstr "Se modificó con éxito el %(name)s \"%(obj)s."