diff --git a/django/conf/locale/hr/LC_MESSAGES/django.po b/django/conf/locale/hr/LC_MESSAGES/django.po
index 84128bad68..ca2d1d05bf 100644
--- a/django/conf/locale/hr/LC_MESSAGES/django.po
+++ b/django/conf/locale/hr/LC_MESSAGES/django.po
@@ -1,19 +1,19 @@
# translation of django.po to Hrvatski jezik
# This file is distributed under the same license as the Django package.
#
+# Aljosa Mohorovic , 2008.
msgid ""
msgstr ""
-"Project-Id-Version: Django\n"
+"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-01-06 16:24+0100\n"
-"PO-Revision-Date: 2008-01-05 00:42+0100\n"
+"PO-Revision-Date: 2008-04-17 17:30+0200\n"
"Last-Translator: Aljosa Mohorovic \n"
"Language-Team: Hrvatski jezik\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: KBabel 1.11.4\n"
#: conf/global_settings.py:39
@@ -362,8 +362,8 @@ msgstr "Pogledaj na stranicama"
#: contrib/admin/templates/admin/auth/user/change_password.html:23
msgid "Please correct the error below."
msgid_plural "Please correct the errors below."
-msgstr[0] "Molim ispravite navedenu grešku."
-msgstr[1] "Molim ispravite navedene greške."
+msgstr[0] "Molim ispravite navedenu pogrešku."
+msgstr[1] "Molim ispravite navedene pogreške."
#: contrib/admin/templates/admin/change_form.html:49
msgid "Ordering"
@@ -401,7 +401,6 @@ msgid ""
msgstr ""
#: contrib/admin/templates/admin/delete_confirmation.html:25
-#, fuzzy
msgid "Yes, I'm sure"
msgstr "Da, siguran sam"
@@ -445,7 +444,6 @@ msgid "None available"
msgstr "Nije dostupno"
#: contrib/admin/templates/admin/invalid_setup.html:8
-#, fuzzy
msgid ""
"Something's wrong with your database installation. Make sure the appropriate "
"database tables have been created, and make sure the database is readable by "
@@ -519,12 +517,10 @@ msgid "Save as new"
msgstr "Spremi kao novi unos"
#: contrib/admin/templates/admin/submit_line.html:5
-#, fuzzy
msgid "Save and add another"
msgstr "Spremi i dodaj novi unos"
#: contrib/admin/templates/admin/submit_line.html:6
-#, fuzzy
msgid "Save and continue editing"
msgstr "Spremi i nastavi uređivati"
@@ -533,7 +529,6 @@ msgid "Save"
msgstr "Spremi"
#: contrib/admin/templates/admin/auth/user/add_form.html:6
-#, fuzzy
msgid ""
"First, enter a username and password. Then, you'll be able to edit more user "
"options."
@@ -658,7 +653,6 @@ msgid "Your password was changed."
msgstr "Vaša lozinka je promijenjena."
#: contrib/admin/templates/registration/password_change_form.html:11
-#, fuzzy
msgid ""
"Please enter your old password, for security's sake, and then enter your new "
"password twice so we can verify you typed it in correctly."
@@ -734,7 +728,6 @@ msgid "The %(site_name)s team"
msgstr "%(site_name)s tim"
#: contrib/admin/templates/registration/password_reset_form.html:12
-#, fuzzy
msgid ""
"Forgotten your password? Enter your e-mail address below, and we'll reset "
"your password and e-mail the new one to you."
@@ -794,7 +787,6 @@ msgid "Change password: %s"
msgstr "Promijeni lozinku: %s"
#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60
-#, fuzzy
msgid ""
"Please enter a correct username and password. Note that both fields are case-"
"sensitive."
@@ -811,7 +803,6 @@ msgstr ""
"unos je sačuvan."
#: contrib/admin/views/decorators.py:70
-#, fuzzy
msgid ""
"Looks like your browser isn't configured to accept cookies. Please enable "
"cookies, reload this page, and try again."
@@ -1004,7 +995,6 @@ msgid "Deleted %s."
msgstr ""
#: contrib/admin/views/main.py:351
-#, fuzzy
msgid "No fields changed."
msgstr "Nije bilo promjena polja."
@@ -1015,8 +1005,7 @@ msgstr "%(name)s \"%(obj)s\" uspješno promijenjeno."
#: contrib/admin/views/main.py:362
#, python-format
-msgid ""
-"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
+msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
msgstr "%(name)s \"%(obj)s\" uspješno dodan. Možete ponovo urediti dolje."
#: contrib/admin/views/main.py:400
@@ -1135,8 +1124,7 @@ msgstr "korisničko ime"
msgid ""
"Required. 30 characters or fewer. Alphanumeric characters only (letters, "
"digits and underscores)."
-msgstr ""
-"Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)."
+msgstr "Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)."
#: contrib/auth/models.py:132
msgid "first name"
@@ -1453,8 +1441,7 @@ msgid "Your name:"
msgstr "Vaše ime:"
#: contrib/comments/views/comments.py:28
-msgid ""
-"This rating is required because you've entered at least one other rating."
+msgid "This rating is required because you've entered at least one other rating."
msgstr ""
#: contrib/comments/views/comments.py:112
@@ -1533,8 +1520,7 @@ msgid "content types"
msgstr "tipovi sadržaja"
#: contrib/flatpages/models.py:8
-msgid ""
-"Example: '/about/contact/'. Make sure to have leading and trailing slashes."
+msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes."
msgstr ""
"Primjer: '/about/contact/'. Provjerite ako imate prvi i preostale slash-eve "
"(/)."
@@ -1569,8 +1555,7 @@ msgstr "registracija obavezna"
#: contrib/flatpages/models.py:14
msgid "If this is checked, only logged-in users will be able to view the page."
-msgstr ""
-"Ako je ovo selektirano samo logirani korisnici moći će vidjeti ovu stranicu."
+msgstr "Ako je ovo selektirano samo logirani korisnici moći će vidjeti ovu stranicu."
#: contrib/flatpages/models.py:18
msgid "flat page"
@@ -1654,7 +1639,6 @@ msgid "nine"
msgstr "devet"
#: contrib/humanize/templatetags/humanize.py:94
-#, fuzzy
msgid "today"
msgstr "danas"
@@ -1663,12 +1647,10 @@ msgid "tomorrow"
msgstr "sutra"
#: contrib/humanize/templatetags/humanize.py:98
-#, fuzzy
msgid "yesterday"
msgstr "jučer"
#: contrib/localflavor/ar/forms.py:28
-#, fuzzy
msgid "Enter a postal code in the format NNNN or ANNNNAAA."
msgstr "Unesi ispravan poštanski broj formata NNNN ili ANNNNAAA."
@@ -1679,7 +1661,6 @@ msgid "This field requires only numbers."
msgstr "Ovo polje zahtjeva samo brojeve."
#: contrib/localflavor/ar/forms.py:51
-#, fuzzy
msgid "This field requires 7 or 8 digits."
msgstr "Ovo polje zahtjeva 7 ili 8 numeričkih znakova."
@@ -1688,7 +1669,6 @@ msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format."
msgstr "Unesite ispravan CUIT formata XX-XXXXXXXX-X ili XXXXXXXXXXXX."
#: contrib/localflavor/ar/forms.py:81
-#, fuzzy
msgid "Invalid CUIT."
msgstr "Neispravan CUIT."
@@ -1727,7 +1707,6 @@ msgid "This field requires at least 14 digits"
msgstr "Ovo polje zahtjeva najviše 14 numeričkih znakova"
#: contrib/localflavor/ca/forms.py:17
-#, fuzzy
msgid "Enter a postal code in the format XXX XXX."
msgstr "Unesi poštanski broj formata XXX XXX."
@@ -1850,12 +1829,10 @@ msgid ""
msgstr ""
#: contrib/localflavor/cl/forms.py:29
-#, fuzzy
msgid "Enter a valid Chilean RUT."
msgstr "Unesi ispravan čileanski RUT"
#: contrib/localflavor/cl/forms.py:30
-#, fuzzy
msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X."
msgstr "Unesi ispravan čileanski RUT formata XX.XXX.XXX-X."
@@ -1955,7 +1932,6 @@ msgid "Almeria"
msgstr ""
#: contrib/localflavor/es/es_provinces.py:9
-#, fuzzy
msgid "Avila"
msgstr "Travanj"
@@ -2245,8 +2221,7 @@ msgid "Invalid checksum for CIF."
msgstr ""
#: contrib/localflavor/es/forms.py:142
-msgid ""
-"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX."
+msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX."
msgstr ""
#: contrib/localflavor/es/forms.py:143
@@ -2263,8 +2238,7 @@ msgid "Enter a zip code in the format XXXXXXX."
msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX."
#: contrib/localflavor/is_/forms.py:17
-msgid ""
-"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX."
+msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX."
msgstr ""
#: contrib/localflavor/is_/forms.py:18
@@ -2691,8 +2665,7 @@ msgstr ""
#: contrib/localflavor/pl/forms.py:72
#, fuzzy
-msgid ""
-"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX."
+msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX."
msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX."
#: contrib/localflavor/pl/forms.py:73
@@ -3550,8 +3523,7 @@ msgstr ""
#: core/validators.py:80
msgid "This value must contain only letters, numbers, underscores or hyphens."
-msgstr ""
-"Ova vrijednost može sadržavati samo slova, brojeve, povlake ili hyphens."
+msgstr "Ova vrijednost može sadržavati samo slova, brojeve, povlake ili hyphens."
#: core/validators.py:84
msgid "Uppercase letters are not allowed here."
@@ -3739,25 +3711,21 @@ msgstr "Molim unesite ispravan decimalni broj."
#: core/validators.py:444
#, 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."
+msgid_plural "Please enter a valid decimal number with at most %s total digits."
msgstr[0] ""
msgstr[1] ""
#: core/validators.py:447
#, 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."
+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] ""
msgstr[1] ""
#: core/validators.py:450
#, 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."
+msgid_plural "Please enter a valid decimal number with at most %s decimal places."
msgstr[0] ""
msgstr[1] ""
@@ -3790,8 +3758,7 @@ msgstr ""
#: core/validators.py:539
#, python-format
-msgid ""
-"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
+msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
msgstr ""
#: core/validators.py:572
@@ -3886,8 +3853,7 @@ msgid "Separate multiple IDs with commas."
msgstr "Odvojite više ID-a zarezom."
#: db/models/fields/related.py:660
-msgid ""
-"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
+msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
msgstr ""
"Držite \"Control\", ili \"Command\" na Mac-u, da bi odabravili više od "
"jednog objekta."
@@ -3895,10 +3861,8 @@ msgstr ""
#: db/models/fields/related.py:707
#, 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] ""
-"Molim unesite ispravan %(self)s ID. Vrijednost %(value)r je neispravna."
+msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid."
+msgstr[0] "Molim unesite ispravan %(self)s ID. Vrijednost %(value)r je neispravna."
msgstr[1] ""
#: newforms/fields.py:46
@@ -4344,3 +4308,4 @@ msgstr "%(verbose_name)s je uspješno promijenjeno."
#, python-format
msgid "The %(verbose_name)s was deleted."
msgstr "%(verbose_name)s je izbrisano"
+
diff --git a/django/conf/locale/pl/LC_MESSAGES/django.mo b/django/conf/locale/pl/LC_MESSAGES/django.mo
index f47adbd813..b82290dd04 100644
Binary files a/django/conf/locale/pl/LC_MESSAGES/django.mo and b/django/conf/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/django/conf/locale/pl/LC_MESSAGES/django.po b/django/conf/locale/pl/LC_MESSAGES/django.po
index d18ab7c5fa..d084d90688 100644
--- a/django/conf/locale/pl/LC_MESSAGES/django.po
+++ b/django/conf/locale/pl/LC_MESSAGES/django.po
@@ -5,9 +5,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-29 20:56+0100\n"
+"POT-Creation-Date: 2008-04-14 18:02+0200\n"
"PO-Revision-Date: 2008-02-25 15:53+0100\n"
-"Last-Translator: Łukasz Czyżykowki \n"
+"Last-Translator: Piotr Lewandowski \n"
"Language-Team: Polish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -98,7 +98,7 @@ msgstr "Hebrajski"
#: conf/global_settings.py:59
msgid "Croatian"
-msgstr "Horwacki"
+msgstr "Chorwacki"
#: conf/global_settings.py:60
msgid "Icelandic"
@@ -153,8 +153,8 @@ msgid "Portugese"
msgstr "Portugalski"
#: conf/global_settings.py:73
-msgid "Brazilian"
-msgstr "Brazylijski"
+msgid "Brazilian Portuguese"
+msgstr "Brazylijski portugalski"
#: conf/global_settings.py:74
msgid "Romanian"
@@ -263,7 +263,7 @@ msgstr "id obiektu"
#: contrib/admin/models.py:22
msgid "object repr"
-msgstr "reprezentacj obiektu"
+msgstr "reprezentacja obiektu"
#: contrib/admin/models.py:23
msgid "action flag"
@@ -288,7 +288,7 @@ msgstr "Strona nie znaleziona"
#: contrib/admin/templates/admin/404.html:10
msgid "We're sorry, but the requested page could not be found."
-msgstr "Niestety nie można znaleźć rządanej strony."
+msgstr "Niestety, żądana strona nie została znaleziona."
#: contrib/admin/templates/admin/500.html:4
#: contrib/admin/templates/admin/base.html:37
@@ -313,7 +313,7 @@ msgstr "Błąd serwera"
#: contrib/admin/templates/admin/500.html:6
msgid "Server error (500)"
-msgstr "Bład serwera (500)"
+msgstr "Błąd serwera (500)"
#: contrib/admin/templates/admin/500.html:9
msgid "Server Error (500)"
@@ -324,8 +324,8 @@ msgid ""
"There's been an error. It's been reported to the site administrators via e-"
"mail and should be fixed shortly. Thanks for your patience."
msgstr ""
-"Wystąpił niespodziewany błąd. Raport został wysłany emailem administratorowi "
-"strony."
+"Wystąpił niespodziewany błąd. Raport został wysłany e-mailem "
+"administratorowi strony."
#: contrib/admin/templates/admin/base.html:26
msgid "Welcome,"
@@ -599,7 +599,7 @@ msgstr ""
"Aby zainstalować skryptozakładki, przeciągnij łącze do "
"paska zakładek\n"
"lub kliknij prawym klawiszem na łączu i dodaj je do zakładek. Teraz możesz\n"
-"wybrać skryptozakładkę na dowolnej stronie serwisu. Uwaga: niektóre z tych "
+"wybrać skryptozakładkę na dowolnej stronie serwisu. Uwaga: niektóre z tych "
"skryptozakładek wymagają przeglądania serwisu z komputera\n"
"\"wewnętrznego\" (skontaktuj się z administratorem systemu, jeśli nie jesteś "
"pewien, czy ten komputer jest \"wewnętrznym\").
\n"
@@ -633,11 +633,13 @@ msgstr "Edytuj ten obiekt (bieżące okno)"
#: contrib/admin/templates/admin_doc/bookmarklets.html:25
msgid "Jumps to the admin page for pages that represent a single object."
-msgstr "Przeskok do panelu admina dla stron reprezentujących pojedynczy obiekt"
+msgstr ""
+"Przeskok do panelu administratora dla stron reprezentujących pojedynczy "
+"obiekt."
#: contrib/admin/templates/admin_doc/bookmarklets.html:27
msgid "Edit this object (new window)"
-msgstr "Edytuj ten obiekt (nowe onko)"
+msgstr "Edytuj ten obiekt (nowe okno)"
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
msgid "As above, but opens the admin page in a new window."
@@ -706,12 +708,12 @@ msgid ""
"We've e-mailed a new password to the e-mail address you submitted. You "
"should be receiving it shortly."
msgstr ""
-"Nowe hasło zostało wysłane na podany adres email. Powinieneś otrzymać je "
+"Nowe hasło zostało wysłane na podany adres e-mail. Powinieneś otrzymać je "
"niebawem."
#: contrib/admin/templates/registration/password_reset_email.html:2
msgid "You're receiving this e-mail because you requested a password reset"
-msgstr "Otrzymałeś email gdyż zażądałeś zresetowania hasła"
+msgstr "Otrzymałeś ten e-mail gdyż zażądałeś zresetowania hasła"
#: contrib/admin/templates/registration/password_reset_email.html:3
#, python-format
@@ -733,7 +735,7 @@ msgstr "Twój login:"
#: contrib/admin/templates/registration/password_reset_email.html:13
msgid "Thanks for using our site!"
-msgstr "Dziękujemy za używanie strony!"
+msgstr "Dziękujemy za używanie naszej strony!"
#: contrib/admin/templates/registration/password_reset_email.html:15
#, python-format
@@ -745,8 +747,7 @@ msgid ""
"Forgotten your password? Enter your e-mail address below, and we'll reset "
"your password and e-mail the new one to you."
msgstr ""
-"Podaj swój adres email. Hasło zostanie zresetowane i wysłane na twój adres "
-"email."
+"Podaj swój adres e-mail. Hasło zostanie zresetowane i wysłane na ten adres."
#: contrib/admin/templates/registration/password_reset_form.html:16
msgid "E-mail address:"
@@ -1181,11 +1182,11 @@ msgstr "aktywny"
#: contrib/auth/models.py:137
msgid ""
-"Designates whether this user can log into the Django admin. Unselect this "
+"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
-"Oznacza czy użytkownik może zalogować się do panelu administratora. Odznacz "
-"to zamiast usuwać konta."
+"Oznacza czy użytkownika należy uważać za aktywnego. Odznacz tozamiast usuwać "
+"konta."
#: contrib/auth/models.py:138
msgid "superuser status"
@@ -1306,7 +1307,7 @@ msgstr "data/czas dodania"
#: contrib/comments/models.py:88 contrib/comments/models.py:180
msgid "is public"
-msgstr "publicznie dostepny"
+msgstr "publicznie dostępny"
#: contrib/comments/models.py:90
msgid "is removed"
@@ -1505,7 +1506,7 @@ msgid ""
"\n"
"%(text)s"
msgstr ""
-"Ten komentarze został dodany przez użytkownika::\n"
+"Ten komentarz został dodany przez użytkownika::\n"
"\n"
"%(text)s"
@@ -1522,7 +1523,9 @@ msgstr "Jedno lub więcej wymaganych pól nie zostało wypełnionych"
#: contrib/comments/views/comments.py:198
#: contrib/comments/views/comments.py:289
msgid "Somebody tampered with the comment form (security violation)"
-msgstr "Ktoś próbował obejść zabezpieczenia formularza komentarzy"
+msgstr ""
+"Ktoś próbował obejść zabezpieczenia formularza komentarzy (naruszenie "
+"bezpieczeństwa)"
#: contrib/comments/views/comments.py:208
#: contrib/comments/views/comments.py:295
@@ -1887,15 +1890,15 @@ msgstr ""
#: contrib/localflavor/cl/forms.py:29
msgid "Enter a valid Chilean RUT."
-msgstr "Wpisz poprawny czilijski RUT"
+msgstr "Wpisz poprawny chilijski RUT"
#: contrib/localflavor/cl/forms.py:30
msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X."
-msgstr "Podaj poprawny czilijski RUT w formacie XX.XXX.XXX-X."
+msgstr "Podaj poprawny chilijski RUT w formacie XX.XXX.XXX-X."
#: contrib/localflavor/cl/forms.py:31
msgid "The Chilean RUT is not valid."
-msgstr "Podany czilijski RUT jest nieprawidłowy."
+msgstr "Podany chilijski RUT jest nieprawidłowy."
#: contrib/localflavor/de/de_states.py:5
msgid "Baden-Wuerttemberg"
@@ -1971,7 +1974,7 @@ msgid ""
"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X "
"format."
msgstr ""
-"Podaj poprawny niemiecki numer dowodu osobistego w formacie XXXXXXXXXXX-"
+"Podaj poprawny numer niemieckiego dowodu osobistego w formacie XXXXXXXXXXX-"
"XXXXXXX-XXXXXXX-X."
#: contrib/localflavor/es/es_provinces.py:5
@@ -2561,12 +2564,10 @@ msgid "Jalisco"
msgstr "Jalisco"
#: contrib/localflavor/mx/mx_states.py:26
-#, fuzzy
msgid "Estado de México"
msgstr "Meksyk (stan)"
#: contrib/localflavor/mx/mx_states.py:27
-#, fuzzy
msgid "Michoacán"
msgstr "Michocan"
@@ -2579,7 +2580,6 @@ msgid "Nayarit"
msgstr "Nayarit"
#: contrib/localflavor/mx/mx_states.py:30
-#, fuzzy
msgid "Nuevo León"
msgstr "Nuevo Leon"
@@ -2592,7 +2592,6 @@ msgid "Puebla"
msgstr "Puebla"
#: contrib/localflavor/mx/mx_states.py:33
-#, fuzzy
msgid "Querétaro"
msgstr "Queretaro"
@@ -2605,7 +2604,6 @@ msgid "Sinaloa"
msgstr "Sinaloa"
#: contrib/localflavor/mx/mx_states.py:36
-#, fuzzy
msgid "San Luis Potosí"
msgstr "San Luis Potasi"
@@ -2630,7 +2628,6 @@ msgid "Veracruz"
msgstr "Veracruz"
#: contrib/localflavor/mx/mx_states.py:42
-#, fuzzy
msgid "Yucatán"
msgstr "Jukatan"
@@ -3457,7 +3454,7 @@ msgstr "Wpisz poprawny południowoafrykański kod pocztowy"
#: contrib/localflavor/za/za_provinces.py:4
msgid "Eastern Cape"
-msgstr "Prowincja Przylądkowa Wshodnia"
+msgstr "Prowincja Przylądkowa Wschodnia"
#: contrib/localflavor/za/za_provinces.py:5
msgid "Free State"
@@ -3581,7 +3578,7 @@ msgstr "Małe litery nie są tutaj dozwolone."
#: core/validators.py:95
msgid "Enter only digits separated by commas."
-msgstr "Wpisz tylko cyfry odddzielone przecinkami."
+msgstr "Wpisz tylko cyfry oddzielone przecinkami."
#: core/validators.py:107
msgid "Enter valid e-mail addresses separated by commas."
@@ -3779,10 +3776,9 @@ msgid_plural ""
msgstr[0] ""
"Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfrę."
msgstr[1] ""
-"Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s "
-"cyfry."
+"Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfry."
msgstr[2] ""
-"Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfr."
+"Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfr."
#: core/validators.py:450
#, python-format
@@ -3909,7 +3905,8 @@ msgstr "Ta wartość musi być liczbą całkowitą."
#: db/models/fields/__init__.py:466
msgid "This value must be either True or False."
-msgstr "Ta wartość musi być logiczna (True, False - prawda lub fałsz)."
+msgstr ""
+"Ta wartość musi być wartością logiczną (True, False - prawda lub fałsz)."
#: db/models/fields/__init__.py:490
msgid "This field cannot be null."
@@ -3926,7 +3923,7 @@ msgstr "Wpisz poprawną nazwę pliku."
#: db/models/fields/__init__.py:960
msgid "This value must be either None, True or False."
msgstr ""
-"Ta wartość musi być jedną z None (żadne), True (prawda) lub False (fałsz)."
+"Ta wartość musi być jedną z None (nic), True (prawda) lub False (fałsz)."
#: db/models/fields/related.py:93
#, python-format
@@ -4231,7 +4228,7 @@ msgstr "Wrzesień"
#: utils/dates.py:19
msgid "October"
-msgstr "Pażdziernik"
+msgstr "Październik"
#: utils/dates.py:19
msgid "November"
@@ -4332,7 +4329,7 @@ msgstr[2] "lat"
msgid "month"
msgid_plural "months"
msgstr[0] "miesiąc"
-msgstr[1] "miesięce"
+msgstr[1] "miesiące"
msgstr[2] "miesięcy"
#: utils/timesince.py:23
@@ -4412,6 +4409,9 @@ msgstr "%(verbose_name)s zostało pomyślnie zmienione."
msgid "The %(verbose_name)s was deleted."
msgstr "%(verbose_name)s zostało usunięte."
+#~ msgid "Brazilian"
+#~ msgstr "Brazylijski"
+
#~ msgid "Gaeilge"
#~ msgstr "Gaelicki"
diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.mo b/django/conf/locale/zh_CN/LC_MESSAGES/django.mo
index 053a51287a..55e77f8f1c 100644
Binary files a/django/conf/locale/zh_CN/LC_MESSAGES/django.mo and b/django/conf/locale/zh_CN/LC_MESSAGES/django.mo differ
diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.po b/django/conf/locale/zh_CN/LC_MESSAGES/django.po
index 240d0bba86..fda4954524 100644
--- a/django/conf/locale/zh_CN/LC_MESSAGES/django.po
+++ b/django/conf/locale/zh_CN/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-05-16 10:10+0200\n"
-"PO-Revision-Date: 2008-04-02 11:43+0800\n"
+"PO-Revision-Date: 2008-04-10 11:57+0800\n"
"Last-Translator: hutuworm \n"
"Language-Team: Simplified Chinese \n"
"MIME-Version: 1.0\n"
@@ -252,7 +252,7 @@ msgstr "简体中文"
#: conf/global_settings.py:77
msgid "Traditional Chinese"
-msgstr "繁体中文"
+msgstr "正体中文"
#: utils/timesince.py:12
msgid "year"
@@ -489,7 +489,7 @@ msgstr "MONTH_DAY_FORMAT"
#, python-format
msgid "Ensure your text is less than %s character."
msgid_plural "Ensure your text is less than %s characters."
-msgstr[0] "确定你输入的文本少于 %s 个字符。"
+msgstr[0] "确保你输入的文本少于 %s 个字符。"
#: oldforms/__init__.py:397
msgid "Line breaks are not allowed here."
@@ -524,15 +524,15 @@ msgstr "否"
#: core/validators.py:174
#: core/validators.py:445
msgid "No file was submitted. Check the encoding type on the form."
-msgstr "没有文件被提交。请检查表单的编码类型。"
+msgstr "未提交文件。请检查表单的编码类型。"
#: oldforms/__init__.py:674
msgid "The submitted file is empty."
-msgstr "所提交的文件为空。"
+msgstr "所提交的是空文件。"
#: oldforms/__init__.py:730
msgid "Enter a whole number between -32,768 and 32,767."
-msgstr "输入在 -32,768 到 32,767 之间的一个整数。"
+msgstr "输入在 -32,768 与 32,767 之间的一个整数。"
#: oldforms/__init__.py:740
msgid "Enter a positive number."
@@ -544,7 +544,7 @@ msgstr "输入在 0 到 32,767 之间的一个整数。"
#: contrib/localflavor/no/forms.py:15
msgid "Enter a zip code in the format XXXX."
-msgstr "用 XXXX 的格式输入一个邮编。"
+msgstr "以 XXXX 的格式输入一个邮政编码。"
#: contrib/localflavor/no/forms.py:36
msgid "Enter a valid Norwegian social security number."
@@ -555,11 +555,11 @@ msgstr "请输入一个有效的挪威社会保障号码。"
#: contrib/localflavor/fi/forms.py:14
#: contrib/localflavor/de/forms.py:16
msgid "Enter a zip code in the format XXXXX."
-msgstr "以 XXXXX 的格式输入一个邮编。"
+msgstr "以 XXXXX 的格式输入一个邮政编码。"
#: contrib/localflavor/jp/forms.py:21
msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
-msgstr "以 XXXXXXX 或 XXX-XXXX 的格式输入一个邮编。"
+msgstr "以 XXXXXXX 或 XXX-XXXX 的格式输入一个邮政编码。"
#: contrib/localflavor/jp/jp_prefectures.py:4
msgid "Hokkaido"
@@ -751,7 +751,7 @@ msgstr "冲绳岛"
#: contrib/localflavor/br/forms.py:18
msgid "Enter a zip code in the format XXXXX-XXX."
-msgstr "以 XXXXX-XXX 的格式输入一个邮编。"
+msgstr "以 XXXXX-XXX 的格式输入一个邮政编码。"
#: contrib/localflavor/br/forms.py:30
msgid "Phone numbers must be in XX-XXXX-XXXX format."
@@ -764,7 +764,7 @@ msgstr "输入一个有效的芬兰社会保障号码。"
#: contrib/localflavor/uk/forms.py:18
msgid "Enter a postcode. A space is required between the two postcode parts."
-msgstr "输入一个邮政编码。两个邮编部分之间的空格是必须的。"
+msgstr "输入一个邮政编码。前后两个部分之间必须有一个空格。"
#: contrib/localflavor/de/forms.py:63
msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format"
@@ -836,7 +836,7 @@ msgstr "图林根州"
#: contrib/localflavor/usa/forms.py:18
msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
-msgstr "以 XXXXX 或 XXXXX-XXX 的格式输入一个邮编。"
+msgstr "以 XXXXX 或 XXXXX-XXX 的格式输入一个邮政编码。"
#: contrib/localflavor/usa/forms.py:51
msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format."
@@ -844,23 +844,23 @@ msgstr "以 XXX-XX-XXXX 的格式输入一个有效的美国社会保障号码
#: contrib/sessions/models.py:68
msgid "session key"
-msgstr "session键字"
+msgstr "会话密钥"
#: contrib/sessions/models.py:69
msgid "session data"
-msgstr "session数据"
+msgstr "会话数据"
#: contrib/sessions/models.py:70
msgid "expire date"
-msgstr "过期日期"
+msgstr "过期时间"
#: contrib/sessions/models.py:74
msgid "session"
-msgstr "会话(session)"
+msgstr "会话"
#: contrib/sessions/models.py:75
msgid "sessions"
-msgstr "会话(session)"
+msgstr "会话"
#: contrib/auth/forms.py:17
#: contrib/auth/forms.py:138
@@ -869,16 +869,16 @@ msgstr "两个口令字段不一致。"
#: contrib/auth/forms.py:25
msgid "A user with that username already exists."
-msgstr "一个使用此用户名的用户已经存在。"
+msgstr "已存在一位使用该名字的用户。"
#: contrib/auth/forms.py:53
msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in."
-msgstr "你的Web浏览器好象不允许使用cookie。登录需要使用cookie。"
+msgstr "你的浏览器好象不允许使用cookie。登录需要使用cookie。"
#: 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 "请输入正确的用户名和口令。请注意两个域都是大小写敏感的。"
+msgstr "请输入正确的用户名和口令。请注意两者都是大小写敏感的。"
#: contrib/auth/forms.py:62
msgid "This account is inactive."
@@ -886,7 +886,7 @@ msgstr "该帐号未激活。"
#: contrib/auth/forms.py:85
msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?"
-msgstr "该电子邮件地址没有关联任何用户帐号。你确定你已经注册过了?"
+msgstr "该电子邮件地址没有关联任何用户帐号。你确定已经注册过了?"
#: contrib/auth/forms.py:117
msgid "The two 'new password' fields didn't match."
@@ -933,7 +933,7 @@ msgstr "用户名"
#: contrib/auth/models.py:90
msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)."
-msgstr "必须。不多于30个字符。只能用字母数字(字母、数字和下横线)"
+msgstr "必填。不多于30个字符。只能用字母数字(字母、数字和下横线)"
#: contrib/auth/models.py:91
msgid "first name"
@@ -941,11 +941,11 @@ msgstr "名字"
#: contrib/auth/models.py:92
msgid "last name"
-msgstr "姓"
+msgstr "姓氏"
#: contrib/auth/models.py:93
msgid "e-mail address"
-msgstr "邮件地址"
+msgstr "e-mail 地址"
#: contrib/auth/models.py:94
msgid "password"
@@ -957,19 +957,19 @@ msgstr "使用 '[algo]$[salt]$[hexdigest]' 或使用 修
#: contrib/auth/models.py:95
msgid "staff status"
-msgstr "人员状态"
+msgstr "职员状态"
#: contrib/auth/models.py:95
msgid "Designates whether the user can log into this admin site."
-msgstr "指定是否用户可以登录到这个管理站点。"
+msgstr "指明用户是否可以登录到这个管理站点。"
#: contrib/auth/models.py:96
msgid "active"
-msgstr "活动"
+msgstr "有效"
#: contrib/auth/models.py:96
msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts."
-msgstr "指定是否用户可以登录到这个管理站点。用取消选择来取代删除帐号。"
+msgstr "指明用户是否可以登录到这个管理站点。以反选代替删除帐号。"
#: contrib/auth/models.py:97
msgid "superuser status"
@@ -977,7 +977,7 @@ msgstr "超级用户状态"
#: contrib/auth/models.py:97
msgid "Designates that this user has all permissions without explicitly assigning them."
-msgstr "指定是否用户可以登录到这个管理站点。"
+msgstr "指明用户是否可以登录到这个管理站点。"
#: contrib/auth/models.py:98
msgid "last login"
@@ -989,7 +989,7 @@ msgstr "加入日期"
#: contrib/auth/models.py:101
msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in."
-msgstr "除了手动设置权限以外,用户也会从他(她)所在的小组获得所赋组小组的所有权限。"
+msgstr "除了手工设置权限以外,用户也会从其所在组获得赋予该组的所有权限。"
#: contrib/auth/models.py:102
msgid "user permissions"
@@ -1095,7 +1095,7 @@ msgstr "九"
#: contrib/contenttypes/models.py:36
msgid "python model class name"
-msgstr "python模块类名"
+msgstr "python 模型类名"
#: contrib/contenttypes/models.py:39
msgid "content type"
@@ -1119,7 +1119,7 @@ msgstr "重定向到"
#: contrib/redirects/models.py:10
msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'."
-msgstr "可以是绝对路径(同上)或以'http://'开始的全URL。"
+msgstr "可以是绝对路径(同上)或以'http://'起始的全URL。"
#: contrib/redirects/models.py:13
msgid "redirect"
@@ -1136,7 +1136,7 @@ msgstr "URL"
#: contrib/flatpages/models.py:8
msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes."
-msgstr "例如:'/about/contact/'。请确保前导和结尾的除号。"
+msgstr "例如:'/about/contact/'。请确保前导和结尾的斜杠。"
#: contrib/flatpages/models.py:9
msgid "title"
@@ -1156,7 +1156,7 @@ msgstr "模板名称"
#: contrib/flatpages/models.py:13
msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'."
-msgstr "例如:'flatpages/contact_page.html'。如果未提供,系统将使用'flatpages/default.html'。"
+msgstr "例如:'flatpages/contact_page.html'。若未提供,系统将使用'flatpages/default.html'。"
#: contrib/flatpages/models.py:14
msgid "registration required"
@@ -1223,7 +1223,7 @@ msgstr "等级 #8"
#: contrib/comments/models.py:82
msgid "is valid rating"
-msgstr "是无效等级"
+msgstr "是有效等级"
#: contrib/comments/models.py:83
#: contrib/comments/models.py:169
@@ -1238,15 +1238,15 @@ msgstr "公开"
#: contrib/comments/models.py:85
#: contrib/admin/views/doc.py:304
msgid "IP address"
-msgstr "IP地址"
+msgstr "IP 地址"
#: contrib/comments/models.py:86
msgid "is removed"
-msgstr "被删除"
+msgstr "已删除"
#: contrib/comments/models.py:86
msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead."
-msgstr "如果评论不适合选中这个检查框。评论将被一条\"此评论已经被删除\"的消息所替换。"
+msgstr "若评论内容不妥,则选中这个检查框。该评论将被一条\"此评论已经被删除\"的消息所替换。"
#: contrib/comments/models.py:91
msgid "comments"
@@ -1278,7 +1278,7 @@ msgstr "人名"
#: contrib/comments/models.py:171
msgid "ip address"
-msgstr "IP地址"
+msgstr "IP 地址"
#: contrib/comments/models.py:173
msgid "approved by staff"
@@ -1302,16 +1302,16 @@ msgstr "得分日期"
#: contrib/comments/models.py:237
msgid "karma score"
-msgstr "Karma得分"
+msgstr "Karma 得分"
#: contrib/comments/models.py:238
msgid "karma scores"
-msgstr "Karma得分"
+msgstr "Karma 得分"
#: contrib/comments/models.py:242
#, python-format
msgid "%(score)d rating by %(user)s"
-msgstr "被 %(user)s 定级为 %(score)d"
+msgstr "被 %(user)s 评为 %(score)d"
#: contrib/comments/models.py:258
#, python-format
@@ -1347,16 +1347,16 @@ msgstr "删除日期"
#: contrib/comments/models.py:280
msgid "moderator deletion"
-msgstr "删除仲裁"
+msgstr "管理员删除"
#: contrib/comments/models.py:281
msgid "moderator deletions"
-msgstr "删除仲裁"
+msgstr "管理员删除"
#: contrib/comments/models.py:285
#, python-format
msgid "Moderator deletion by %r"
-msgstr "被 %r 仲裁删除"
+msgstr "被管理员 %r 删除"
#: contrib/comments/templates/comments/form.html:6
#: contrib/comments/templates/comments/form.html:8
@@ -1393,7 +1393,7 @@ msgstr "口令:"
#: contrib/comments/templates/comments/form.html:8
msgid "Forgotten your password?"
-msgstr "忘记你的口令?"
+msgstr "忘记了你的口令?"
#: contrib/comments/templates/comments/form.html:12
msgid "Ratings"
@@ -1441,7 +1441,7 @@ msgstr "不能给自已投票"
#: contrib/comments/views/comments.py:27
msgid "This rating is required because you've entered at least one other rating."
-msgstr "要求此等级,因为你已经输入了至少一个等级。"
+msgstr "该等级必填,因为你已经输入了至少一个等级。"
#: contrib/comments/views/comments.py:111
#, python-format
@@ -1472,27 +1472,27 @@ msgstr ""
#: contrib/comments/views/comments.py:188
#: contrib/comments/views/comments.py:280
msgid "Only POSTs are allowed"
-msgstr "只允许张贴"
+msgstr "只允许 POST"
#: contrib/comments/views/comments.py:192
#: contrib/comments/views/comments.py:284
msgid "One or more of the required fields wasn't submitted"
-msgstr "一个或多个必填字段没有被提交"
+msgstr "一个或多个必填字段没有提交"
#: contrib/comments/views/comments.py:196
#: contrib/comments/views/comments.py:286
msgid "Somebody tampered with the comment form (security violation)"
-msgstr "有人篡改了评论表格(安全侵害)"
+msgstr "有人通过评论表单篡改(安全侵害)"
#: contrib/comments/views/comments.py:206
#: contrib/comments/views/comments.py:292
msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid"
-msgstr "评论表格有一个无效的 'target' 参数 -- 对象 ID 无效"
+msgstr "评论表单有一个无效的 'target' 参数 -- 对象 ID 无效"
#: contrib/comments/views/comments.py:257
#: contrib/comments/views/comments.py:321
msgid "The comment form didn't provide either 'preview' or 'post'"
-msgstr "评论表格无法提供 '预览' 或 '张贴' 功能"
+msgstr "评论表单无法提供 '预览' 或 '张贴' 功能"
#: contrib/sites/models.py:10
msgid "domain name"
@@ -1500,7 +1500,7 @@ msgstr "域名"
#: contrib/sites/models.py:11
msgid "display name"
-msgstr "显示名"
+msgstr "显示名称"
#: contrib/sites/models.py:15
msgid "site"
@@ -1516,7 +1516,7 @@ msgid ""
"By %s:
\n"
"\n"
msgstr ""
-"由 %s:
\n"
+"以 %s:
\n"
"\n"
#: contrib/admin/filterspecs.py:70
@@ -1576,7 +1576,7 @@ msgstr "日志记录"
#: contrib/admin/templatetags/admin_list.py:247
msgid "All dates"
-msgstr "全有日期"
+msgstr "所有日期"
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
#: contrib/admin/templates/admin/500.html:4
@@ -1649,40 +1649,39 @@ msgid ""
"your computer is \"internal\").
\n"
msgstr ""
"\n"
-"为安装书签,拖动链接到你的工具条,\n"
-"或右击鼠标,然后增加到你的书签上。现在你可以从这个站\n"
-"点的任何页面选择书签。注意一些这样的书签要求你从一个\n"
-"被指定为\"内部\"的计算机上来进行查看(如果你不确定是\n"
-"否你的计算机是否是\"内部\"的,同你的系统管理员沟通一\n"
-"下。
\n"
+"为了安装书签,将链接拖到你的书签工具条,\n"
+"或者鼠标右击链接,添加到你的书签中。现在你可以从这个站\n"
+"点的任何页面选择书签。注意,其中某些书签要求你在一台\n"
+"被指定为\"内部\"的计算机上查看(如果不确定你的计算机\n"
+"是否为\"内部\"的,不妨跟你的系统管理员沟通一下)。
\n"
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
msgid "Documentation for this page"
-msgstr "本页面的文档"
+msgstr "关于本页面的文档"
#: contrib/admin/templates/admin_doc/bookmarklets.html:20
msgid "Jumps you from any page to the documentation for the view that generates that page."
-msgstr "对于任何页面跳转到生成这个页面的view所在的文件。"
+msgstr "从任何页面跳转到生成该页面的view文档。"
#: contrib/admin/templates/admin_doc/bookmarklets.html:22
msgid "Show object ID"
-msgstr "显示对象ID"
+msgstr "显示对象 ID"
#: contrib/admin/templates/admin_doc/bookmarklets.html:23
msgid "Shows the content-type and unique ID for pages that represent a single object."
-msgstr "用于那些表现单个对象的页面显示 content-type 和唯一ID。"
+msgstr "为那些展现单个对象的页面,显示 content-type 和唯一ID。"
#: contrib/admin/templates/admin_doc/bookmarklets.html:25
msgid "Edit this object (current window)"
-msgstr "编辑本对象(当前窗口)"
+msgstr "编辑该对象(当前窗口)"
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
msgid "Jumps to the admin page for pages that represent a single object."
-msgstr "用于那些表现单个对象的页面跳转到管理页面。"
+msgstr "跳转到用于展现单个对象的页面的管理页。"
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
msgid "Edit this object (new window)"
-msgstr "编辑本对象(新窗口)"
+msgstr "编辑该对象(新窗口)"
#: contrib/admin/templates/admin_doc/bookmarklets.html:29
msgid "As above, but opens the admin page in a new window."
@@ -1723,12 +1722,12 @@ msgstr "服务器错误 (500)"
#: contrib/admin/templates/admin/500.html:10
msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience."
-msgstr "存在一个错误。它已经通过电子邮件被报告给站点管理员了,并且应该很快被改正。谢谢你的关心。"
+msgstr "发生了一个错误。它已经通过电子邮件报告给站点管理员了,而且应该很快会得到解决。感谢您的耐心。"
#: contrib/admin/templates/admin/filter.html:2
#, python-format
msgid " By %(filter_title)s "
-msgstr " 由 %(filter_title)s"
+msgstr " 以 %(filter_title)s"
#: contrib/admin/templates/admin/filters.html:4
msgid "Filter"
@@ -1736,11 +1735,11 @@ msgstr "过滤器"
#: contrib/admin/templates/admin/invalid_setup.html:8
msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user."
-msgstr "你的数据库安装有错误。确保合适的数据库表已经创建好,并确保数据库可被适合的用户读取。"
+msgstr "你的数据库安装有误。确保已经创建了相应的数据库表,并确保数据库可被相关的用户读取。"
#: contrib/admin/templates/admin/search_form.html:8
msgid "Go"
-msgstr "去"
+msgstr "执行"
#: contrib/admin/templates/admin/search_form.html:10
#, python-format
@@ -1773,11 +1772,11 @@ msgstr "动作"
#: contrib/admin/templates/admin/object_history.html:26
msgid "DATE_WITH_TIME_FULL"
-msgstr "N j, Y, P"
+msgstr "DATE_WITH_TIME_FULL"
#: contrib/admin/templates/admin/object_history.html:36
msgid "This object doesn't have a change history. It probably wasn't added via this admin site."
-msgstr "此对象没有修改历史。可能不能通过这个管理站点来增加。"
+msgstr "该对象没有变更历史记录。可能从未通过这个管理站点添加。"
#: contrib/admin/templates/admin/delete_confirmation.html:14
#, python-format
@@ -1787,7 +1786,7 @@ msgstr "删除 %(object_name)s '%(escaped_object)s' 会导致删除相关的对
#: contrib/admin/templates/admin/delete_confirmation.html:21
#, python-format
msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:"
-msgstr "你确信相要删除 %(object_name)s \"%(escaped_object)s\"?下列所有相关的项目都将被删除:"
+msgstr "你确认想要删除 %(object_name)s \"%(escaped_object)s\"? 下列所有相关的项目都将被删除:"
#: contrib/admin/templates/admin/delete_confirmation.html:26
msgid "Yes, I'm sure"
@@ -1815,7 +1814,7 @@ msgstr "在站点上查看"
#: contrib/admin/templates/admin/auth/user/change_password.html:24
msgid "Please correct the error below."
msgid_plural "Please correct the errors below."
-msgstr[0] "请改正下面的错误。"
+msgstr[0] "请修正下面的错误。"
#: contrib/admin/templates/admin/change_form.html:50
msgid "Ordering"
@@ -1846,7 +1845,7 @@ msgstr "登录"
#: contrib/admin/templates/admin/index.html:17
#, python-format
msgid "Models available in the %(name)s application."
-msgstr "在 %(name)s 应用中模块有效。"
+msgstr "模型在 %(name)s 应用中可用。"
#: contrib/admin/templates/admin/index.html:18
#, python-format
@@ -1875,15 +1874,15 @@ msgstr "无可用的"
#: contrib/admin/templates/admin/base_site.html:4
msgid "Django site admin"
-msgstr "Django管理站点"
+msgstr "Django 站点管理员"
#: contrib/admin/templates/admin/base_site.html:7
msgid "Django administration"
-msgstr "Django管理员"
+msgstr "Django 管理"
#: contrib/admin/templates/admin/auth/user/add_form.html:6
msgid "First, enter a username and password. Then, you'll be able to edit more user options."
-msgstr "首先,输入一个用户名和口令。然后,你可以编辑更多的用户选项。"
+msgstr "首先,输入一个用户名和口令。然后,你就可以编辑更多的用户选项。"
#: contrib/admin/templates/admin/auth/user/add_form.html:12
msgid "Username"
@@ -1927,7 +1926,7 @@ msgstr "时间:"
#: contrib/admin/templates/registration/logged_out.html:8
msgid "Thanks for spending some quality time with the Web site today."
-msgstr "感谢今天在本网站花费了您的一些宝贵时间。"
+msgstr "感谢您今天在本站花费了一些宝贵时间。"
#: contrib/admin/templates/registration/logged_out.html:10
msgid "Log in again"
@@ -1935,7 +1934,7 @@ msgstr "重新登录"
#: contrib/admin/templates/registration/password_reset_email.html:2
msgid "You're receiving this e-mail because you requested a password reset"
-msgstr "你所收到的这封邮件是由于你请求了口令重设"
+msgstr "之所以收到这封邮件,是因为你请求了口令重设"
#: contrib/admin/templates/registration/password_reset_email.html:3
#, python-format
@@ -1953,7 +1952,7 @@ msgstr "到这个页面可以自由地修改口令:"
#: contrib/admin/templates/registration/password_reset_email.html:11
msgid "Your username, in case you've forgotten:"
-msgstr "你的用户名,一旦你忘记了:"
+msgstr "你的用户名,如果已忘记的话:"
#: contrib/admin/templates/registration/password_reset_email.html:13
msgid "Thanks for using our site!"
@@ -1962,7 +1961,7 @@ msgstr "感谢使用我们的站点!"
#: contrib/admin/templates/registration/password_reset_email.html:15
#, python-format
msgid "The %(site_name)s team"
-msgstr "%(site_name)s 小组"
+msgstr "%(site_name)s 团队"
#: contrib/admin/templates/registration/password_reset_done.html:4
#: contrib/admin/templates/registration/password_reset_form.html:4
@@ -1978,7 +1977,7 @@ msgstr "口令重设成功"
#: contrib/admin/templates/registration/password_reset_done.html:12
msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly."
-msgstr "我们已经按你所提交的邮箱地址发送了一个新的口令给你。你应该很会收到这封邮件。"
+msgstr "我们已经按你所提交的邮箱地址发送了一个新的口令。你应该很快就能收到这封邮件。"
#: contrib/admin/templates/registration/password_change_form.html:4
#: contrib/admin/templates/registration/password_change_form.html:6
@@ -1989,7 +1988,7 @@ msgstr "口令修改"
#: contrib/admin/templates/registration/password_change_form.html:12
msgid "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly."
-msgstr "请输入你的旧口令,为了安全起见,接着要输入你的新口令两遍,这样我们可以校验你输入的是否正确。"
+msgstr "请输入你的旧口令,为了安全起见,接着要输入两遍新口令,以便我们校验你输入的是否正确。"
#: contrib/admin/templates/registration/password_change_form.html:17
msgid "Old password:"
@@ -2014,15 +2013,15 @@ msgstr "口令修改成功"
#: contrib/admin/templates/registration/password_change_done.html:12
msgid "Your password was changed."
-msgstr "你的口令已经被修改。"
+msgstr "你的口令已修改。"
#: contrib/admin/templates/registration/password_reset_form.html:12
msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you."
-msgstr "忘记你的口令?在下面输入你的邮箱地址,我们将重设你的口令并且将新的口令通过邮件发送给你。"
+msgstr "忘记了你的口令?请在下面输入你的 e-mail 地址,我们将重设你的口令并将新口令通过邮件发送给你。"
#: contrib/admin/templates/registration/password_reset_form.html:16
msgid "E-mail address:"
-msgstr "邮箱地址:"
+msgstr "E-mail 地址:"
#: contrib/admin/templates/registration/password_reset_form.html:16
msgid "Reset my password"
@@ -2030,7 +2029,7 @@ msgstr "重设我的口令"
#: contrib/admin/views/main.py:223
msgid "Site administration"
-msgstr "站点管理员"
+msgstr "站点管理"
#: contrib/admin/views/main.py:257
#: contrib/admin/views/auth.py:19
@@ -2106,12 +2105,12 @@ msgstr "%(name)s \"%(obj)s\" 删除成功。"
#: contrib/admin/views/main.py:517
msgid "Are you sure?"
-msgstr "你确信吗?"
+msgstr "你确认吗?"
#: contrib/admin/views/main.py:539
#, python-format
msgid "Change history: %s"
-msgstr "修改历史: %s"
+msgstr "变更历史: %s"
#: contrib/admin/views/main.py:573
#, python-format
@@ -2129,11 +2128,11 @@ msgstr "数据库错误"
#: 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 "请重新登录,因为你的会话已经过期。不用担心:你的提交已经被保存。"
+msgstr "请重新登录,因为你的会话已经过期。不用担心:你的提交已保存。"
#: 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 "看上去你的浏览器没有配置成接受 cookie 。请允许 cookie,重新装入本页面,再试一次。"
+msgstr "似乎你的浏览器没有配置为接受 cookie 。请允许 cookie,重新装入本页面,再试一次。"
#: contrib/admin/views/decorators.py:83
msgid "Usernames cannot contain the '@' character."
@@ -2142,7 +2141,7 @@ msgstr "用户名不能包含 '@' 字符。"
#: contrib/admin/views/decorators.py:85
#, python-format
msgid "Your e-mail address is not your username. Try '%s' instead."
-msgstr "你的邮箱地址不是你的用户名。换 '%s' 试试。"
+msgstr "你的 e-mail 地址不是你的用户名。换 '%s' 试试。"
#: contrib/admin/views/doc.py:46
#: contrib/admin/views/doc.py:48
@@ -2237,7 +2236,7 @@ msgstr "日期(带时间)"
#: contrib/admin/views/doc.py:297
msgid "E-mail address"
-msgstr "邮箱地址"
+msgstr "E-mail 地址"
#: contrib/admin/views/doc.py:298
#: contrib/admin/views/doc.py:299
@@ -2251,7 +2250,7 @@ msgstr "小数"
#: contrib/admin/views/doc.py:306
msgid "Boolean (Either True, False or None)"
-msgstr "布尔(True, False或None)"
+msgstr "布尔值(True, False或None)"
#: contrib/admin/views/doc.py:307
msgid "Relation to parent model"
@@ -2275,7 +2274,7 @@ msgstr "美国州名(两个大写字母)"
#: contrib/admin/views/doc.py:317
msgid "XML text"
-msgstr "XML文本"
+msgstr "XML 文本"
#: contrib/admin/views/doc.py:343
#, python-format
@@ -2284,7 +2283,7 @@ msgstr "%s 似乎不是一个 urlpattern 对象"
#: contrib/admin/views/auth.py:30
msgid "Add user"
-msgstr "增加用户"
+msgstr "新增用户"
#: contrib/admin/views/auth.py:57
msgid "Password changed successfully."
@@ -2341,27 +2340,27 @@ msgstr "输入一个有效的值。"
#: newforms/fields.py:271
#: core/validators.py:162
msgid "Enter a valid e-mail address."
-msgstr "输入一个有效的邮件地址。"
+msgstr "输入一个有效的 e-mail 地址。"
#: newforms/fields.py:289
#: newforms/fields.py:311
msgid "Enter a valid URL."
-msgstr "输入一个有效的URL。"
+msgstr "输入一个有效的 URL。"
#: newforms/fields.py:313
msgid "This URL appears to be a broken link."
-msgstr "URL %s 似乎是一个坏的链接。"
+msgstr "URL %s 似乎是一个已损坏的链接。"
#: newforms/fields.py:362
#: newforms/models.py:165
msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr "选择一个有效的选项: 此选择不在可用的选项中。"
+msgstr "选择一个有效的选项: 该选择不在可用的选项中。"
#: newforms/fields.py:380
#: newforms/fields.py:456
#: newforms/models.py:182
msgid "Enter a list of values."
-msgstr "输入一个值的列表。"
+msgstr "输入一系列值。"
#: newforms/fields.py:389
#: newforms/models.py:188
@@ -2390,15 +2389,15 @@ msgstr "%(verbose_name)s 已被删除。"
#: core/validators.py:64
msgid "This value must contain only letters, numbers and underscores."
-msgstr "此值只能包含字母、数字和下划线。"
+msgstr "该值只能包含字母、数字和下划线。"
#: core/validators.py:68
msgid "This value must contain only letters, numbers, underscores, dashes or slashes."
-msgstr "此值只能包含字母、数字、下划线、反斜线和斜线。"
+msgstr "该值只能包含字母、数字、下划线、反斜线和斜线。"
#: core/validators.py:72
msgid "This value must contain only letters, numbers, underscores or hyphens."
-msgstr "此值只能包含字母、数字和下划线。"
+msgstr "该值只能包含字母、数字和下划线。"
#: core/validators.py:76
msgid "Uppercase letters are not allowed here."
@@ -2414,11 +2413,11 @@ msgstr "只能输入用逗号分隔的数字。"
#: core/validators.py:99
msgid "Enter valid e-mail addresses separated by commas."
-msgstr "输入用逗号分隔的有效邮件地址。"
+msgstr "输入用逗号分隔的有效 e-mail 地址。"
#: core/validators.py:103
msgid "Please enter a valid IP address."
-msgstr "请输入一个有效的IP地址。"
+msgstr "请输入一个有效的 IP 地址。"
#: core/validators.py:107
msgid "Empty values are not allowed here."
@@ -2430,7 +2429,7 @@ msgstr "这里不允许非数字字符。"
#: core/validators.py:115
msgid "This value can't be comprised solely of digits."
-msgstr "此值不能全部由数字组成。"
+msgstr "该值不能全部由数字组成。"
#: core/validators.py:124
msgid "Only alphabetical characters are allowed here."
@@ -2438,7 +2437,7 @@ msgstr "这里只允许字母。"
#: core/validators.py:139
msgid "Year must be 1900 or later."
-msgstr "年份必须是1900或之后"
+msgstr "年份必须为1900之后。"
#: core/validators.py:143
#, python-format
@@ -2451,12 +2450,12 @@ msgstr "输入一个 HH:MM 格式的有效时间。"
#: core/validators.py:178
msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image."
-msgstr "上传一个有效的图片。您所上传的文件或者不是图片或是一个破坏的图片。"
+msgstr "请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。"
#: core/validators.py:185
#, python-format
msgid "The URL %s does not point to a valid image."
-msgstr "URL %s 指向的不是一个有效的图片。"
+msgstr "URL %s 所指向的并非有效图片。"
#: core/validators.py:189
#, python-format
@@ -2466,11 +2465,11 @@ msgstr "电话号码必须为 XXX-XXX-XXXX 格式。\"%s\"是无效的。"
#: core/validators.py:197
#, python-format
msgid "The URL %s does not point to a valid QuickTime video."
-msgstr "URL %s 指向的不是一个有效的 QuickTime 视频。"
+msgstr "URL %s 所指向的并非有效 QuickTime 视频。"
#: core/validators.py:201
msgid "A valid URL is required."
-msgstr "需要是一个有效的URL。"
+msgstr "需要一个有效的 URL。"
#: core/validators.py:215
#, python-format
@@ -2478,7 +2477,7 @@ msgid ""
"Valid HTML is required. Specific errors are:\n"
"%s"
msgstr ""
-"需要有效的HTML。详细的错误是:\n"
+"需要有效的 HTML。详细的错误是:\n"
"%s"
#: core/validators.py:222
@@ -2495,17 +2494,17 @@ msgstr "无效 URL: %s"
#: core/validators.py:246
#, python-format
msgid "The URL %s is a broken link."
-msgstr "URL %s 是一个断开的链接。"
+msgstr "URL %s 是一个损坏的链接。"
#: core/validators.py:252
msgid "Enter a valid U.S. state abbreviation."
-msgstr "输入一个有效的 U.S. 州缩写。"
+msgstr "输入一个有效的美国州名缩写。"
#: core/validators.py:266
#, 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] "看住你的嘴!%s 不允许在这里出现。"
+msgstr[0] "注意言论!%s 不允许在这里出现。"
#: core/validators.py:273
#, python-format
@@ -2519,7 +2518,7 @@ msgstr "请至少在一个字段上输入些什么。"
#: core/validators.py:301
#: core/validators.py:312
msgid "Please enter both fields or leave them both empty."
-msgstr "请要么两个字段都输入或者两个字段都空着。"
+msgstr "请输入两个字段或者两个字段都空着。"
#: core/validators.py:320
#, python-format
@@ -2533,7 +2532,7 @@ msgstr "如果 %(field)s 不是 %(value)s 时这个字段必须给出"
#: core/validators.py:352
msgid "Duplicate values are not allowed."
-msgstr "重复值不允许。"
+msgstr "不允许重复值。"
#: core/validators.py:367
#, python-format
@@ -2543,7 +2542,7 @@ msgstr "这个值必须介于 %(lower)s 和 %(upper)s 之间。"
#: core/validators.py:369
#, python-format
msgid "This value must be at least %s."
-msgstr "这个值需要至少为 %s"
+msgstr "这个值必须至少为 %s"
#: core/validators.py:371
#, python-format
@@ -2589,11 +2588,11 @@ msgstr "请确保你上传的文件至多 %s 字节大。"
#: core/validators.py:456
msgid "The format for this field is wrong."
-msgstr "这个字段的格式不正确。"
+msgstr "该字段的格式不正确。"
#: core/validators.py:471
msgid "This field is invalid."
-msgstr "这个字段无效。"
+msgstr "该字段无效。"
#: core/validators.py:507
#, python-format
@@ -2608,27 +2607,27 @@ msgstr "URL %(url)s 返回了无效的 Content-Type 头 '%(contenttype)s'。"
#: core/validators.py:543
#, python-format
msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)"
-msgstr "请关闭未关闭的 %(tag)s 标签从第 %(line)s 行。(行开始于 \"%(start)s\"。)"
+msgstr "请关闭还处于打开状态的 %(tag)s 标签从第 %(line)s 行。(行开始于 \"%(start)s\"。)"
#: core/validators.py:547
#, python-format
msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)"
-msgstr "在 %(line)s 行开始的一些文本不允许在那个上下文中。(行开始于 \"%(start)s\"。)"
+msgstr "从 %(line)s 行开始的一些文本,不允许出现在上下文中。(行开始于 \"%(start)s\"。)"
#: core/validators.py:552
#, python-format
msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)"
-msgstr "在 %(line)s 行的\"%(attr)s\"不是一个有效的属性。(行开始于 \"%(start)s\"。)"
+msgstr "在 %(line)s 行的\"%(attr)s\"是无效的属性。(行开始于 \"%(start)s\"。)"
#: core/validators.py:557
#, python-format
msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)"
-msgstr "在 %(line)s 行的\"<%(tag)s>\"不是一个有效的标签。(行开始于 \"%(start)s\"。)"
+msgstr "在 %(line)s 行的\"<%(tag)s>\"是无效的标签。(行开始于 \"%(start)s\"。)"
#: core/validators.py:561
#, python-format
msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)"
-msgstr "在行 %(line)s 的标签少了一个或多个必须的属性。(行开始于 \"%(start)s\"。)"
+msgstr "在行 %(line)s 的标签少了一个或多个必填的属性。(行开始于 \"%(start)s\"。)"
#: core/validators.py:566
#, python-format
diff --git a/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif b/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif
new file mode 100644
index 0000000000..237971257f
Binary files /dev/null and b/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif differ
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index 4b1590264b..c8670655d4 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -134,7 +134,7 @@ class User(models.Model):
email = models.EmailField(_('e-mail address'), blank=True)
password = models.CharField(_('password'), max_length=128, help_text=_("Use '[algo]$[salt]$[hexdigest]' or use the change password form."))
is_staff = models.BooleanField(_('staff status'), default=False, help_text=_("Designates whether the user can log into this admin site."))
- is_active = models.BooleanField(_('active'), default=True, help_text=_("Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts."))
+ is_active = models.BooleanField(_('active'), default=True, help_text=_("Designates whether this user should be treated as active. Unselect this instead of deleting accounts."))
is_superuser = models.BooleanField(_('superuser status'), default=False, help_text=_("Designates that this user has all permissions without explicitly assigning them."))
last_login = models.DateTimeField(_('last login'), default=datetime.datetime.now)
date_joined = models.DateTimeField(_('date joined'), default=datetime.datetime.now)
@@ -226,7 +226,7 @@ class User(models.Model):
for backend in auth.get_backends():
if hasattr(backend, "get_all_permissions"):
permissions.update(backend.get_all_permissions(self))
- return permissions
+ return permissions
def has_perm(self, perm):
"""
@@ -238,11 +238,11 @@ class User(models.Model):
# Inactive users have no permissions.
if not self.is_active:
return False
-
+
# Superusers have all permissions.
if self.is_superuser:
return True
-
+
# Otherwise we need to check the backends.
for backend in auth.get_backends():
if hasattr(backend, "has_perm"):
diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py
index 25cef95acf..1282cc3df8 100644
--- a/django/contrib/contenttypes/generic.py
+++ b/django/contrib/contenttypes/generic.py
@@ -35,15 +35,18 @@ class GenericForeignKey(object):
setattr(cls, name, self)
def instance_pre_init(self, signal, sender, args, kwargs):
- # Handle initalizing an object with the generic FK instaed of
- # content-type/object-id fields.
+ """
+ Handles initializing an object with the generic FK instaed of
+ content-type/object-id fields.
+ """
if self.name in kwargs:
value = kwargs.pop(self.name)
kwargs[self.ct_field] = self.get_content_type(obj=value)
kwargs[self.fk_field] = value._get_pk_val()
def get_content_type(self, obj=None, id=None):
- # Convenience function using get_model avoids a circular import when using this model
+ # Convenience function using get_model avoids a circular import when
+ # using this model
ContentType = get_model("contenttypes", "contenttype")
if obj:
return ContentType.objects.get_for_model(obj)
@@ -61,10 +64,10 @@ class GenericForeignKey(object):
return getattr(instance, self.cache_attr)
except AttributeError:
rel_obj = None
-
+
# Make sure to use ContentType.objects.get_for_id() to ensure that
# lookups are cached (see ticket #5570). This takes more code than
- # the naive ``getattr(instance, self.ct_field)``, but has better
+ # the naive ``getattr(instance, self.ct_field)``, but has better
# performance when dealing with GFKs in loops and such.
f = self.model._meta.get_field(self.ct_field)
ct_id = getattr(instance, f.get_attname(), None)
diff --git a/django/contrib/markup/templatetags/markup.py b/django/contrib/markup/templatetags/markup.py
index 5d4f4786e1..982620bd08 100644
--- a/django/contrib/markup/templatetags/markup.py
+++ b/django/contrib/markup/templatetags/markup.py
@@ -65,7 +65,13 @@ def markdown(value, arg=''):
safe_mode = True
else:
safe_mode = False
- return mark_safe(force_unicode(markdown.markdown(smart_str(value), extensions, safe_mode=safe_mode)))
+
+ # Unicode support only in markdown v1.7 or above. Version_info
+ # exist only in markdown v1.6.2rc-2 or above.
+ if getattr(markdown, "version_info", None) < (1,7):
+ return mark_safe(force_unicode(markdown.markdown(smart_str(value), extensions, safe_mode=safe_mode)))
+ else:
+ return mark_safe(markdown.markdown(force_unicode(value), extensions, safe_mode=safe_mode))
else:
return mark_safe(force_unicode(markdown.markdown(smart_str(value))))
markdown.is_safe = True
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py
index 70f5688d1a..152adf7056 100644
--- a/django/db/backends/oracle/base.py
+++ b/django/db/backends/oracle/base.py
@@ -396,16 +396,16 @@ class DatabaseWrapper(BaseDatabaseWrapper):
operators = {
'exact': '= %s',
'iexact': '= UPPER(%s)',
- 'contains': "LIKE %s ESCAPE '\\'",
- 'icontains': "LIKE UPPER(%s) ESCAPE '\\'",
+ 'contains': "LIKEC %s ESCAPE '\\'",
+ 'icontains': "LIKEC UPPER(%s) ESCAPE '\\'",
'gt': '> %s',
'gte': '>= %s',
'lt': '< %s',
'lte': '<= %s',
- 'startswith': "LIKE %s ESCAPE '\\'",
- 'endswith': "LIKE %s ESCAPE '\\'",
- 'istartswith': "LIKE UPPER(%s) ESCAPE '\\'",
- 'iendswith': "LIKE UPPER(%s) ESCAPE '\\'",
+ 'startswith': "LIKEC %s ESCAPE '\\'",
+ 'endswith': "LIKEC %s ESCAPE '\\'",
+ 'istartswith': "LIKEC UPPER(%s) ESCAPE '\\'",
+ 'iendswith': "LIKEC UPPER(%s) ESCAPE '\\'",
}
oracle_version = None
diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py
index 15ca957bac..cd46413453 100644
--- a/django/db/backends/postgresql/operations.py
+++ b/django/db/backends/postgresql/operations.py
@@ -1,5 +1,9 @@
+import re
+
from django.db.backends import BaseDatabaseOperations
+server_version_re = re.compile(r'PostgreSQL (\d{1,2})\.(\d{1,2})\.?(\d{1,2})?')
+
# This DatabaseOperations class lives in here instead of base.py because it's
# used by both the 'postgresql' and 'postgresql_psycopg2' backends.
@@ -12,7 +16,11 @@ class DatabaseOperations(BaseDatabaseOperations):
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT version()")
- self._postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')]
+ version_string = cursor.fetchone()[0]
+ m = server_version_re.match(version_string)
+ if not m:
+ raise Exception('Unable to determine PostgreSQL version from version() function string: %r' % version_string)
+ self._postgres_version = [int(val) for val in m.groups() if val]
return self._postgres_version
postgres_version = property(_get_postgres_version)
diff --git a/docs/modelforms.txt b/docs/modelforms.txt
index 554aeb7ea0..a76d797527 100644
--- a/docs/modelforms.txt
+++ b/docs/modelforms.txt
@@ -121,6 +121,7 @@ A full example
Consider this set of models::
from django.db import models
+ from django.newforms import ModelForm
TITLE_CHOICES = (
('MR', 'Mr.'),
diff --git a/docs/newforms.txt b/docs/newforms.txt
index d07f7f9dc3..25d80fda54 100644
--- a/docs/newforms.txt
+++ b/docs/newforms.txt
@@ -1555,8 +1555,9 @@ representing a foreign key.
The ``__unicode__`` method of the model will be called to generate
string representations of the objects for use in the field's choices;
to provide customized representations, subclass ``ModelChoiceField``
-and override ``label_for_model``. This method will receive model
-object, and should return a string suitable for representing it::
+and override ``label_from_instance``. This method will receive a model
+object, and should return a string suitable for representing it. For
+example::
class MyModelChoiceField(ModelChoiceField):
def label_from_instance(self, obj):
diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt
index 8f23fdd9e6..78f954d632 100644
--- a/docs/tutorial04.txt
+++ b/docs/tutorial04.txt
@@ -266,7 +266,7 @@ from ``polls/views.py``. We don't need them anymore -- they have been replaced
by generic views.
The ``vote()`` view is still required. However, it must be modified to match
-the new context variables. In the ``render_to_repsonse()`` call, rename the
+the new context variables. In the ``render_to_response()`` call, rename the
``poll`` context variable to ``object``.
The last thing to do is fix the URL handling to account for the use of generic