1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[gsoc2009-testing] Upstream Merge

git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/test-improvements@11293 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Kevin Kubasik 2009-07-22 13:11:55 +00:00
commit 2511eb2759
10 changed files with 153 additions and 123 deletions

View File

@ -14,6 +14,7 @@ The PRIMARY AUTHORS are (and/or have been):
* Robert Wittams * Robert Wittams
* Gary Wilson * Gary Wilson
* Brian Rosner * Brian Rosner
* Justin Bronn
* Karen Tracey * Karen Tracey
More information on the main contributors to Django can be found in More information on the main contributors to Django can be found in

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Django\n" "Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-20 12:58+0200\n" "POT-Creation-Date: 2009-07-17 21:59+0200\n"
"PO-Revision-Date: 2008-02-25 15:53+0100\n" "PO-Revision-Date: 2008-02-25 15:53+0100\n"
"Last-Translator: Jarek Zgoda <jarek.zgoda@gmail.com>\n" "Last-Translator: Jarek Zgoda <jarek.zgoda@gmail.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -223,7 +223,7 @@ msgstr "chiński tradycyjny"
msgid "Successfully deleted %(count)d %(items)s." msgid "Successfully deleted %(count)d %(items)s."
msgstr "Usunięto %(count)d %(items)s." msgstr "Usunięto %(count)d %(items)s."
#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 #: contrib/admin/actions.py:67 contrib/admin/options.py:1027
msgid "Are you sure?" msgid "Are you sure?"
msgstr "Jesteś pewien?" msgstr "Jesteś pewien?"
@ -321,7 +321,7 @@ msgstr "Zmieniono %s"
#: contrib/admin/options.py:519 contrib/admin/options.py:529 #: contrib/admin/options.py:519 contrib/admin/options.py:529
#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 #: contrib/comments/templates/comments/preview.html:16 forms/models.py:388
#: forms/models.py:587 #: forms/models.py:600
msgid "and" msgid "and"
msgstr "i" msgstr "i"
@ -344,53 +344,53 @@ msgstr "Usunięto %(name)s \"%(object)s\"."
msgid "No fields changed." msgid "No fields changed."
msgstr "Żadne pole nie zmienione." msgstr "Żadne pole nie zmienione."
#: contrib/admin/options.py:598 contrib/auth/admin.py:67 #: contrib/admin/options.py:599 contrib/auth/admin.py:67
#, python-format #, python-format
msgid "The %(name)s \"%(obj)s\" was added successfully." msgid "The %(name)s \"%(obj)s\" was added successfully."
msgstr "%(name)s \"%(obj)s\" dodany pomyślnie." msgstr "%(name)s \"%(obj)s\" dodany pomyślnie."
#: contrib/admin/options.py:602 contrib/admin/options.py:635 #: contrib/admin/options.py:603 contrib/admin/options.py:636
#: contrib/auth/admin.py:75 #: contrib/auth/admin.py:75
msgid "You may edit it again below." msgid "You may edit it again below."
msgstr "Możesz ponownie edytować wpis poniżej." msgstr "Możesz ponownie edytować wpis poniżej."
#: contrib/admin/options.py:612 contrib/admin/options.py:645 #: contrib/admin/options.py:613 contrib/admin/options.py:646
#, python-format #, python-format
msgid "You may add another %s below." msgid "You may add another %s below."
msgstr "Możesz dodać nowy wpis %s poniżej." msgstr "Możesz dodać nowy wpis %s poniżej."
#: contrib/admin/options.py:633 #: contrib/admin/options.py:634
#, python-format #, python-format
msgid "The %(name)s \"%(obj)s\" was changed successfully." msgid "The %(name)s \"%(obj)s\" was changed successfully."
msgstr "%(name)s \"%(obj)s\" zostało pomyślnie zmienione." msgstr "%(name)s \"%(obj)s\" zostało pomyślnie zmienione."
#: contrib/admin/options.py:641 #: contrib/admin/options.py:642
#, python-format #, python-format
msgid "" msgid ""
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
msgstr "" msgstr ""
"%(name)s \"%(obj)s\" dodane pomyślnie. Możesz edytować ponownie wpis poniżej." "%(name)s \"%(obj)s\" dodane pomyślnie. Możesz edytować ponownie wpis poniżej."
#: contrib/admin/options.py:772 #: contrib/admin/options.py:773
#, python-format #, python-format
msgid "Add %s" msgid "Add %s"
msgstr "Dodaj %s" msgstr "Dodaj %s"
#: contrib/admin/options.py:803 contrib/admin/options.py:1003 #: contrib/admin/options.py:804 contrib/admin/options.py:1005
#, python-format #, python-format
msgid "%(name)s object with primary key %(key)r does not exist." msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Obiekt %(name)s o kluczu głównym %(key)r nie istnieje." msgstr "Obiekt %(name)s o kluczu głównym %(key)r nie istnieje."
#: contrib/admin/options.py:860 #: contrib/admin/options.py:861
#, python-format #, python-format
msgid "Change %s" msgid "Change %s"
msgstr "Zmień %s" msgstr "Zmień %s"
#: contrib/admin/options.py:904 #: contrib/admin/options.py:905
msgid "Database error" msgid "Database error"
msgstr "Błąd bazy danych" msgstr "Błąd bazy danych"
#: contrib/admin/options.py:940 #: contrib/admin/options.py:941
#, python-format #, python-format
msgid "%(count)s %(name)s was changed successfully." msgid "%(count)s %(name)s was changed successfully."
msgid_plural "%(count)s %(name)s were changed successfully." msgid_plural "%(count)s %(name)s were changed successfully."
@ -398,17 +398,17 @@ msgstr[0] "%(count)s %(name)s został pomyślnie zmieniony."
msgstr[1] "%(count)s %(name)s zostały pomyślnie zmienione." msgstr[1] "%(count)s %(name)s zostały pomyślnie zmienione."
msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych." msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych."
#: contrib/admin/options.py:1018 #: contrib/admin/options.py:1020
#, python-format #, python-format
msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgid "The %(name)s \"%(obj)s\" was deleted successfully."
msgstr "%(name)s \"%(obj)s\" usunięty pomyślnie." msgstr "%(name)s \"%(obj)s\" usunięty pomyślnie."
#: contrib/admin/options.py:1054 #: contrib/admin/options.py:1057
#, python-format #, python-format
msgid "Change history: %s" msgid "Change history: %s"
msgstr "Historia zmian: %s" msgstr "Historia zmian: %s"
#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 #: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14
#: contrib/auth/forms.py:80 #: contrib/auth/forms.py:80
msgid "" msgid ""
"Please enter a correct username and password. Note that both fields are case-" "Please enter a correct username and password. Note that both fields are case-"
@ -417,11 +417,11 @@ msgstr ""
"Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma " "Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma "
"znaczenie." "znaczenie."
#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 #: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40
msgid "Please log in again, because your session has expired." msgid "Please log in again, because your session has expired."
msgstr "Twoja sesja wygasła, zaloguj się ponownie." msgstr "Twoja sesja wygasła, zaloguj się ponownie."
#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 #: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47
msgid "" msgid ""
"Looks like your browser isn't configured to accept cookies. Please enable " "Looks like your browser isn't configured to accept cookies. Please enable "
"cookies, reload this page, and try again." "cookies, reload this page, and try again."
@ -429,27 +429,27 @@ msgstr ""
"Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i " "Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i "
"spróbuj ponownie." "spróbuj ponownie."
#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 #: contrib/admin/sites.py:308 contrib/admin/sites.py:314
#: contrib/admin/views/decorators.py:66 #: contrib/admin/views/decorators.py:66
msgid "Usernames cannot contain the '@' character." msgid "Usernames cannot contain the '@' character."
msgstr "Nazwy użytkowników nie mogą zawierać znaku '@'." msgstr "Nazwy użytkowników nie mogą zawierać znaku '@'."
#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 #: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62
#, python-format #, python-format
msgid "Your e-mail address is not your username. Try '%s' instead." msgid "Your e-mail address is not your username. Try '%s' instead."
msgstr "Podany adres e-mail nie jest Twoją nazwą użytkownika. Spróbuj '%s'." msgstr "Podany adres e-mail nie jest Twoją nazwą użytkownika. Spróbuj '%s'."
#: contrib/admin/sites.py:360 #: contrib/admin/sites.py:367
msgid "Site administration" msgid "Site administration"
msgstr "Administracja stroną" msgstr "Administracja stroną"
#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 #: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26
#: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/templates/registration/password_reset_complete.html:14
#: contrib/admin/views/decorators.py:20 #: contrib/admin/views/decorators.py:20
msgid "Log in" msgid "Log in"
msgstr "Zaloguj się" msgstr "Zaloguj się"
#: contrib/admin/sites.py:417 #: contrib/admin/sites.py:426
#, python-format #, python-format
msgid "%s administration" msgid "%s administration"
msgstr "%s - administracja" msgstr "%s - administracja"
@ -484,7 +484,7 @@ msgstr "Zmień:"
msgid "Lookup" msgid "Lookup"
msgstr "Szukaj" msgstr "Szukaj"
#: contrib/admin/widgets.py:236 #: contrib/admin/widgets.py:235
msgid "Add Another" msgid "Add Another"
msgstr "Dodaj kolejny" msgstr "Dodaj kolejny"
@ -499,7 +499,7 @@ msgstr "Niestety, żądana strona nie została znaleziona."
#: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/500.html:4
#: contrib/admin/templates/admin/app_index.html:8 #: contrib/admin/templates/admin/app_index.html:8
#: contrib/admin/templates/admin/base.html:31 #: contrib/admin/templates/admin/base.html:54
#: contrib/admin/templates/admin/change_form.html:17 #: contrib/admin/templates/admin/change_form.html:17
#: contrib/admin/templates/admin/change_list.html:25 #: contrib/admin/templates/admin/change_list.html:25
#: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_confirmation.html:6
@ -545,7 +545,7 @@ msgstr "Wykonaj wybraną akcję"
#: contrib/admin/templates/admin/actions.html:4 #: contrib/admin/templates/admin/actions.html:4
msgid "Go" msgid "Go"
msgstr "Szukaj" msgstr "Wykonaj"
#: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/app_index.html:10
#: contrib/admin/templates/admin/index.html:19 #: contrib/admin/templates/admin/index.html:19
@ -553,18 +553,18 @@ msgstr "Szukaj"
msgid "%(name)s" msgid "%(name)s"
msgstr "%(name)s" msgstr "%(name)s"
#: contrib/admin/templates/admin/base.html:26 #: contrib/admin/templates/admin/base.html:27
msgid "Welcome," msgid "Welcome,"
msgstr "Witaj," msgstr "Witaj,"
#: contrib/admin/templates/admin/base.html:26 #: contrib/admin/templates/admin/base.html:32
#: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/registration/password_change_form.html:3
#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3
msgid "Documentation" msgid "Documentation"
msgstr "Dokumentacja" msgstr "Dokumentacja"
#: contrib/admin/templates/admin/base.html:26 #: contrib/admin/templates/admin/base.html:40
#: contrib/admin/templates/admin/auth/user/change_password.html:14 #: contrib/admin/templates/admin/auth/user/change_password.html:14
#: contrib/admin/templates/admin/auth/user/change_password.html:47 #: contrib/admin/templates/admin/auth/user/change_password.html:47
#: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_done.html:3
@ -572,7 +572,7 @@ msgstr "Dokumentacja"
msgid "Change password" msgid "Change password"
msgstr "Zmiana hasła" msgstr "Zmiana hasła"
#: contrib/admin/templates/admin/base.html:26 #: contrib/admin/templates/admin/base.html:47
#: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/registration/password_change_form.html:3
msgid "Log out" msgid "Log out"
@ -755,6 +755,11 @@ msgstr ""
msgid "Show all" msgid "Show all"
msgstr "Pokaż wszystko" msgstr "Pokaż wszystko"
#: contrib/admin/templates/admin/pagination.html:11
#: contrib/admin/templates/admin/submit_line.html:3
msgid "Save"
msgstr "Zapisz"
#: contrib/admin/templates/admin/search_form.html:8 #: contrib/admin/templates/admin/search_form.html:8
msgid "Search" msgid "Search"
msgstr "Szukaj" msgstr "Szukaj"
@ -772,10 +777,6 @@ msgstr[2] "%(counter)s wyników"
msgid "%(full_result_count)s total" msgid "%(full_result_count)s total"
msgstr "%(full_result_count)s trafień" msgstr "%(full_result_count)s trafień"
#: contrib/admin/templates/admin/submit_line.html:3
msgid "Save"
msgstr "Zapisz"
#: contrib/admin/templates/admin/submit_line.html:5 #: contrib/admin/templates/admin/submit_line.html:5
msgid "Save as new" msgid "Save as new"
msgstr "Zapisz jako nowe" msgstr "Zapisz jako nowe"
@ -999,144 +1000,145 @@ msgstr "strona"
msgid "template" msgid "template"
msgstr "szablon" msgstr "szablon"
#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 #: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63
#: contrib/admindocs/views.py:62 #: contrib/admindocs/views.py:65
msgid "tag:" msgid "tag:"
msgstr "tag:" msgstr "tag:"
#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 #: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96
#: contrib/admindocs/views.py:95 #: contrib/admindocs/views.py:98
msgid "filter:" msgid "filter:"
msgstr "filtr:" msgstr "filtr:"
#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 #: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160
#: contrib/admindocs/views.py:159 #: contrib/admindocs/views.py:162
msgid "view:" msgid "view:"
msgstr "widok:" msgstr "widok:"
#: contrib/admindocs/views.py:187 #: contrib/admindocs/views.py:190
#, python-format #, python-format
msgid "App %r not found" msgid "App %r not found"
msgstr "Aplikacja %r nie została znaleziona" msgstr "Aplikacja %r nie została znaleziona"
#: contrib/admindocs/views.py:194 #: contrib/admindocs/views.py:197
#, python-format #, python-format
msgid "Model %(model_name)r not found in app %(app_label)r" msgid "Model %(model_name)r not found in app %(app_label)r"
msgstr "Model %(model_name)r nie został znaleziony w aplikacji %(app_label)r" msgstr "Model %(model_name)r nie został znaleziony w aplikacji %(app_label)r"
#: contrib/admindocs/views.py:206 #: contrib/admindocs/views.py:209
#, python-format #, python-format
msgid "the related `%(app_label)s.%(data_type)s` object" msgid "the related `%(app_label)s.%(data_type)s` object"
msgstr "powiązany obiekt `%(app_label)s.%(data_type)s`" msgstr "powiązany obiekt `%(app_label)s.%(data_type)s`"
#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 #: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228
#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 #: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247
#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266
msgid "model:" msgid "model:"
msgstr "model:" msgstr "model:"
#: contrib/admindocs/views.py:237 #: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256
#, python-format #, python-format
msgid "related `%(app_label)s.%(object_name)s` objects" msgid "related `%(app_label)s.%(object_name)s` objects"
msgstr "powiązane obiekty `%(app_label)s.%(object_name)s`" msgstr "powiązane obiekty `%(app_label)s.%(object_name)s`"
#: contrib/admindocs/views.py:242 #: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261
#, python-format #, python-format
msgid "all %s" msgid "all %s"
msgstr "wszystkie %s" msgstr "wszystkie %s"
#: contrib/admindocs/views.py:247 #: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266
#, python-format #, python-format
msgid "number of %s" msgid "number of %s"
msgstr "liczba %s" msgstr "liczba %s"
#: contrib/admindocs/views.py:252 #: contrib/admindocs/views.py:271
#, python-format #, python-format
msgid "Fields on %s objects" msgid "Fields on %s objects"
msgstr "Pola obiektów %s" msgstr "Pola obiektów %s"
#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 #: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345
#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 #: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353
#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 #: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356
msgid "Integer" msgid "Integer"
msgstr "Liczba całkowita" msgstr "Liczba całkowita"
#: contrib/admindocs/views.py:316 #: contrib/admindocs/views.py:335
msgid "Boolean (Either True or False)" msgid "Boolean (Either True or False)"
msgstr "Wartość logiczna (True, False - prawda lub fałsz)" msgstr "Wartość logiczna (True, False - prawda lub fałsz)"
#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 #: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355
#, python-format #, python-format
msgid "String (up to %(max_length)s)" msgid "String (up to %(max_length)s)"
msgstr "Łańcuch (do %(max_length)s znaków)" msgstr "Łańcuch (do %(max_length)s znaków)"
#: contrib/admindocs/views.py:318 #: contrib/admindocs/views.py:337
msgid "Comma-separated integers" msgid "Comma-separated integers"
msgstr "Liczby całkowite rozdzielone przecinkami" msgstr "Liczby całkowite rozdzielone przecinkami"
#: contrib/admindocs/views.py:319 #: contrib/admindocs/views.py:338
msgid "Date (without time)" msgid "Date (without time)"
msgstr "Data (bez godziny)" msgstr "Data (bez godziny)"
#: contrib/admindocs/views.py:320 #: contrib/admindocs/views.py:339
msgid "Date (with time)" msgid "Date (with time)"
msgstr "Data (z godziną)" msgstr "Data (z godziną)"
#: contrib/admindocs/views.py:321 #: contrib/admindocs/views.py:340
msgid "Decimal number" msgid "Decimal number"
msgstr "Liczba dziesiętna" msgstr "Liczba dziesiętna"
#: contrib/admindocs/views.py:322 #: contrib/admindocs/views.py:341
msgid "E-mail address" msgid "E-mail address"
msgstr "Adres e-mail" msgstr "Adres e-mail"
#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 #: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343
#: contrib/admindocs/views.py:327 #: contrib/admindocs/views.py:346
msgid "File path" msgid "File path"
msgstr "Ścieżka do pliku" msgstr "Ścieżka do pliku"
#: contrib/admindocs/views.py:325 #: contrib/admindocs/views.py:344
msgid "Floating point number" msgid "Floating point number"
msgstr "Liczba zmiennoprzecinkowa" msgstr "Liczba zmiennoprzecinkowa"
#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 #: contrib/admindocs/views.py:348 contrib/comments/models.py:60
msgid "IP address" msgid "IP address"
msgstr "Adres IP" msgstr "Adres IP"
#: contrib/admindocs/views.py:331 #: contrib/admindocs/views.py:350
msgid "Boolean (Either True, False or None)" msgid "Boolean (Either True, False or None)"
msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)"
#: contrib/admindocs/views.py:332 #: contrib/admindocs/views.py:351
msgid "Relation to parent model" msgid "Relation to parent model"
msgstr "Relacja do modelu rodzica" msgstr "Relacja do modelu rodzica"
#: contrib/admindocs/views.py:333 #: contrib/admindocs/views.py:352
msgid "Phone number" msgid "Phone number"
msgstr "Numer telefonu" msgstr "Numer telefonu"
#: contrib/admindocs/views.py:338 #: contrib/admindocs/views.py:357
msgid "Text" msgid "Text"
msgstr "Tekst" msgstr "Tekst"
#: contrib/admindocs/views.py:339 #: contrib/admindocs/views.py:358
msgid "Time" msgid "Time"
msgstr "Czas" msgstr "Czas"
#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 #: contrib/admindocs/views.py:359 contrib/comments/forms.py:95
#: contrib/comments/templates/comments/moderation_queue.html:37 #: contrib/comments/templates/comments/moderation_queue.html:37
#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 #: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7
msgid "URL" msgid "URL"
msgstr "URL" msgstr "URL"
#: contrib/admindocs/views.py:341 #: contrib/admindocs/views.py:360
msgid "U.S. state (two uppercase letters)" msgid "U.S. state (two uppercase letters)"
msgstr "Stan USA (dwie duże litery)" msgstr "Stan USA (dwie duże litery)"
#: contrib/admindocs/views.py:342 #: contrib/admindocs/views.py:361
msgid "XML text" msgid "XML text"
msgstr "Tekst XML" msgstr "Tekst XML"
#: contrib/admindocs/views.py:368 #: contrib/admindocs/views.py:387
#, python-format #, python-format
msgid "%s does not appear to be a urlpattern object" msgid "%s does not appear to be a urlpattern object"
msgstr "%s nie jest obiektem urlpattern" msgstr "%s nie jest obiektem urlpattern"
@ -3920,14 +3922,14 @@ msgstr ""
msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format."
msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM[:ss[.uuuuuu]]." msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM[:ss[.uuuuuu]]."
#: db/models/fields/related.py:792 #: db/models/fields/related.py:816
msgid "" msgid ""
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
msgstr "" msgstr ""
"Przytrzymaj wciśnięty klawisz \"Ctrl\" lub \"Command\" na Mac'u aby " "Przytrzymaj wciśnięty klawisz \"Ctrl\" lub \"Command\" na Mac'u aby "
"zaznaczyć więcej niż jeden wybór." "zaznaczyć więcej niż jeden wybór."
#: db/models/fields/related.py:870 #: db/models/fields/related.py:894
#, python-format #, python-format
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
msgid_plural "" msgid_plural ""
@ -4051,7 +4053,7 @@ msgid "Select a valid choice. %(value)s is not one of the available choices."
msgstr "" msgstr ""
"Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów." "Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów."
#: forms/fields.py:704 forms/fields.py:765 forms/models.py:991 #: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003
msgid "Enter a list of values." msgid "Enter a list of values."
msgstr "Podaj listę wartości." msgstr "Podaj listę wartości."
@ -4080,43 +4082,43 @@ msgstr ""
msgid "%(model_name)s with this %(field_label)s already exists." msgid "%(model_name)s with this %(field_label)s already exists."
msgstr "%(field_label)s już istnieje w %(model_name)s." msgstr "%(field_label)s już istnieje w %(model_name)s."
#: forms/models.py:581 #: forms/models.py:594
#, python-format #, python-format
msgid "Please correct the duplicate data for %(field)s." msgid "Please correct the duplicate data for %(field)s."
msgstr "Popraw zduplikowane dane w %(field)s." msgstr "Popraw zduplikowane dane w %(field)s."
#: forms/models.py:585 #: forms/models.py:598
#, python-format #, python-format
msgid "Please correct the duplicate data for %(field)s, which must be unique." msgid "Please correct the duplicate data for %(field)s, which must be unique."
msgstr "Popraw zduplikowane dane w %(field)s, które wymaga unikalności." msgstr "Popraw zduplikowane dane w %(field)s, które wymaga unikalności."
#: forms/models.py:591 #: forms/models.py:604
#, python-format #, python-format
msgid "" msgid ""
"Please correct the duplicate data for %(field_name)s which must be unique " "Please correct the duplicate data for %(field_name)s which must be unique "
"for the %(lookup)s in %(date_field)s." "for the %(lookup)s in %(date_field)s."
msgstr "" msgstr ""
"Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla " "Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla %"
"%(lookup)s w polu %(date_field)s." "(lookup)s w polu %(date_field)s."
#: forms/models.py:599 #: forms/models.py:612
msgid "Please correct the duplicate values below." msgid "Please correct the duplicate values below."
msgstr "Popraw poniższe zduplikowane wartości." msgstr "Popraw poniższe zduplikowane wartości."
#: forms/models.py:855 #: forms/models.py:867
msgid "The inline foreign key did not match the parent instance primary key." msgid "The inline foreign key did not match the parent instance primary key."
msgstr "Osadzony klucz obcy nie pasuje do klucza głównego obiektu rodzica." msgstr "Osadzony klucz obcy nie pasuje do klucza głównego obiektu rodzica."
#: forms/models.py:918 #: forms/models.py:930
msgid "Select a valid choice. That choice is not one of the available choices." msgid "Select a valid choice. That choice is not one of the available choices."
msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów."
#: forms/models.py:992 #: forms/models.py:1004
#, python-format #, python-format
msgid "Select a valid choice. %s is not one of the available choices." msgid "Select a valid choice. %s is not one of the available choices."
msgstr "Wybierz poprawną wartość. %s nie jest jednym z dostępnych wyborów." msgstr "Wybierz poprawną wartość. %s nie jest jednym z dostępnych wyborów."
#: forms/models.py:994 #: forms/models.py:1006
#, python-format #, python-format
msgid "\"%s\" is not a valid value for a primary key." msgid "\"%s\" is not a valid value for a primary key."
msgstr "\"%s\" nie jest poprawną wartością klucza głównego." msgstr "\"%s\" nie jest poprawną wartością klucza głównego."

View File

@ -405,7 +405,7 @@ TECHNICAL_500_TEMPLATE = """
</tr> </tr>
<tr> <tr>
<th>Exception Value:</th> <th>Exception Value:</th>
<td><pre>{{ exception_value|escape }}<pre></td> <td><pre>{{ exception_value|escape }}</pre></td>
</tr> </tr>
<tr> <tr>
<th>Exception Location:</th> <th>Exception Location:</th>
@ -630,7 +630,7 @@ Exception Value: {{ exception_value|escape }}
{% else %} {% else %}
<p>No FILES data</p> <p>No FILES data</p>
{% endif %} {% endif %}
<h3 id="cookie-info">COOKIES</h3> <h3 id="cookie-info">COOKIES</h3>
{% if request.COOKIES %} {% if request.COOKIES %}

View File

@ -202,6 +202,7 @@ The Django open-source project
* **Django over time:** * **Django over time:**
:ref:`API stability <misc-api-stability>` | :ref:`API stability <misc-api-stability>` |
:ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_ :ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_ |
:ref:`Deprecation Timeline <internals-deprecation>`
.. _Backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges .. _Backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges

View File

@ -154,6 +154,19 @@ Gary Wilson
broken windows. He's continued to do that necessary tidying up work broken windows. He's continued to do that necessary tidying up work
throughout the code base since then. throughout the code base since then.
Justin Bronn
Justin Bronn is a computer scientist and attorney specializing
in legal topics related to intellectual property and spatial law.
In 2007, Justin began developing ``django.contrib.gis`` in a branch,
a.k.a. GeoDjango_, which was merged in time for Django 1.0. While
implementing GeoDjango, Justin obtained a deep knowledge of Django's
internals including the ORM, the admin, and Oracle support.
Justin lives in Houston, Texas.
.. _GeoDjango: http://geodjango.org/
Karen Tracey Karen Tracey
Karen has a background in distributed operating systems (graduate school), Karen has a background in distributed operating systems (graduate school),
communications software (industry) and crossword puzzle construction communications software (industry) and crossword puzzle construction
@ -187,16 +200,6 @@ Ian Kelly
Matt Boersma Matt Boersma
Matt is also responsible for Django's Oracle support. Matt is also responsible for Django's Oracle support.
Justin Bronn
Justin Bronn is a computer scientist and third-year law student at the
University of Houston who enjoys studying legal topics related to
intellectual property and spatial law.
Justin is the primary developer of ``django.contrib.gis``, a.k.a.
GeoDjango_.
.. _GeoDjango: http://geodjango.org/
Jeremy Dunck Jeremy Dunck
Jeremy the lead developer of Pegasus News, a personalized local site based Jeremy the lead developer of Pegasus News, a personalized local site based
in Dallas, Texas. An early contributor to Greasemonkey and Django, he sees in Dallas, Texas. An early contributor to Greasemonkey and Django, he sees

View File

@ -0,0 +1,21 @@
.. _internals-deprecation:
===========================
Django Deprecation Timeline
===========================
This document outlines when various pieces of Django will be removed, following
their deprecation, as per the :ref:`Django deprecation policy
<internal-release-deprecation-policy>`
* 1.3
* ``AdminSite.root()``. This release will remove the old method for
hooking up admin URLs. This has been deprecated since the 1.1
release.
* 2.0
* ``django.views.defaults.shortcut()``. This function has been moved
to ``django.contrib.contenttypes.views.shortcut()`` as part of the
goal of removing all ``django.contrib`` references from the core
Django codebase. The old shortcut will be removed in the 2.0
release.

View File

@ -17,8 +17,9 @@ the hood".
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
contributing contributing
documentation documentation
committers committers
release-process release-process
deprecation

View File

@ -48,14 +48,16 @@ Minor releases
-------------- --------------
Minor release (1.1, 1.2, etc.) will happen roughly every six months -- see Minor release (1.1, 1.2, etc.) will happen roughly every six months -- see
`release process`_, below for details. `release process`_, below for details.
.. _internal-release-deprecation-policy:
These releases will contain new features, improvements to existing features, and These releases will contain new features, improvements to existing features, and
such. A minor release may deprecate certain features from previous releases. If a such. A minor release may deprecate certain features from previous releases. If a
feature in version ``A.B`` is deprecated, it will continue to work in version feature in version ``A.B`` is deprecated, it will continue to work in version
``A.B+1``. In version ``A.B+2``, use of the feature will raise a ``A.B+1``. In version ``A.B+2``, use of the feature will raise a
``PendingDeprecationWarning`` but will continue to work. Version ``A.B+3`` will ``PendingDeprecationWarning`` but will continue to work. Version ``A.B+3`` will
remove the feature entirely. remove the feature entirely.
So, for example, if we decided to remove a function that existed in Django 1.0: So, for example, if we decided to remove a function that existed in Django 1.0:
@ -66,9 +68,9 @@ So, for example, if we decided to remove a function that existed in Django 1.0:
* Django 1.2 will contain the backwards-compatible replica, but the warning * Django 1.2 will contain the backwards-compatible replica, but the warning
will be promoted to a full-fledged ``DeprecationWarning``. This warning is will be promoted to a full-fledged ``DeprecationWarning``. This warning is
*loud* by default, and will likely be quite annoying. *loud* by default, and will likely be quite annoying.
* Django 1.3 will remove the feature outright. * Django 1.3 will remove the feature outright.
Micro releases Micro releases
-------------- --------------
@ -92,21 +94,21 @@ varying levels:
* The current development trunk will get new features and bug fixes * The current development trunk will get new features and bug fixes
requiring major refactoring. requiring major refactoring.
* All bug fixes applied to the trunk will also be applied to the last * All bug fixes applied to the trunk will also be applied to the last
minor release, to be released as the next micro release. minor release, to be released as the next micro release.
* Security fixes will be applied to the current trunk and the previous two * Security fixes will be applied to the current trunk and the previous two
minor releases. minor releases.
As a concrete example, consider a moment in time halfway between the release of As a concrete example, consider a moment in time halfway between the release of
Django 1.3 and 1.4. At this point in time: Django 1.3 and 1.4. At this point in time:
* Features will be added to development trunk, to be released as Django 1.4. * Features will be added to development trunk, to be released as Django 1.4.
* Bug fixes will be applied to a ``1.3.X`` branch, and released as 1.3.1, * Bug fixes will be applied to a ``1.3.X`` branch, and released as 1.3.1,
1.3.2, etc. 1.3.2, etc.
* Security releases will be applied to trunk, a ``1.3.X`` branch and a * Security releases will be applied to trunk, a ``1.3.X`` branch and a
``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``, ``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``,
``1.2.1``, etc. ``1.2.1``, etc.
@ -117,7 +119,7 @@ Release process
=============== ===============
Django uses a time-based release schedule, with minor (i.e. 1.1, 1.2, etc.) Django uses a time-based release schedule, with minor (i.e. 1.1, 1.2, etc.)
releases every six months, or more, depending on features. releases every six months, or more, depending on features.
After each previous release (and after a suitable cooling-off period of a week After each previous release (and after a suitable cooling-off period of a week
or two), the core development team will examine the landscape and announce a or two), the core development team will examine the landscape and announce a
@ -174,12 +176,12 @@ and an rc complete with string freeze two weeks before the end of the schedule.
Bug-fix releases Bug-fix releases
---------------- ----------------
After a minor release (i.e 1.1), the previous release will go into bug-fix mode. After a minor release (i.e 1.1), the previous release will go into bug-fix mode.
A branch will be created of the form ``branches/releases/1.0.X`` to track A branch will be created of the form ``branches/releases/1.0.X`` to track
bug-fixes to the previous release. When possible, bugs fixed on trunk must bug-fixes to the previous release. When possible, bugs fixed on trunk must
*also* be fixed on the bug-fix branch; this means that commits need to cleanly *also* be fixed on the bug-fix branch; this means that commits need to cleanly
separate bug fixes from feature additions. The developer who commits a fix to separate bug fixes from feature additions. The developer who commits a fix to
trunk will be responsible for also applying the fix to the current bug-fix trunk will be responsible for also applying the fix to the current bug-fix
branch. Each bug-fix branch will have a maintainer who will work with the branch. Each bug-fix branch will have a maintainer who will work with the
committers to keep them honest on backporting bug fixes. committers to keep them honest on backporting bug fixes.
@ -193,14 +195,13 @@ development will be happening in a bunch of places:
* On trunk, development towards 1.2 proceeds with small additions, bugs * On trunk, development towards 1.2 proceeds with small additions, bugs
fixes, etc. being checked in daily. fixes, etc. being checked in daily.
* On the branch "branches/releases/1.1.X", bug fixes found in the 1.1 * On the branch "branches/releases/1.1.X", bug fixes found in the 1.1
release are checked in as needed. At some point, this branch will be release are checked in as needed. At some point, this branch will be
released as "1.1.1", "1.1.2", etc. released as "1.1.1", "1.1.2", etc.
* On the branch "branches/releases/1.0.X", security fixes are made if * On the branch "branches/releases/1.0.X", security fixes are made if
needed and released as "1.0.2", "1.0.3", etc. needed and released as "1.0.2", "1.0.3", etc.
* On feature branches, development of major features is done. These * On feature branches, development of major features is done. These
branches will be merged into trunk before the end of phase two. branches will be merged into trunk before the end of phase two.

View File

@ -465,7 +465,7 @@ Defining URL Namespaces
When you need to deploy multiple instances of a single application, it can be When you need to deploy multiple instances of a single application, it can be
helpful to be able to differentiate between instances. This is especially helpful to be able to differentiate between instances. This is especially
important when using _`named URL patterns <naming-url-patterns>`, since important when using :ref:`named URL patterns <naming-url-patterns>`, since
multiple instances of a single application will share named URLs. Namespaces multiple instances of a single application will share named URLs. Namespaces
provide a way to tell these named URLs apart. provide a way to tell these named URLs apart.
@ -642,7 +642,7 @@ view::
This is completely valid, but it leads to problems when you try to do reverse This is completely valid, but it leads to problems when you try to do reverse
URL matching (through the ``permalink()`` decorator or the :ttag:`url` template URL matching (through the ``permalink()`` decorator or the :ttag:`url` template
tag. Continuing this example, if you wanted to retrieve the URL for the tag). Continuing this example, if you wanted to retrieve the URL for the
``archive`` view, Django's reverse URL matcher would get confused, because *two* ``archive`` view, Django's reverse URL matcher would get confused, because *two*
URLpatterns point at that view. URLpatterns point at that view.
@ -706,12 +706,12 @@ the fully qualified name into parts, and then tries the following lookup:
example, ``myapp``). This will yield a list of instances of that example, ``myapp``). This will yield a list of instances of that
application. application.
2. If there is a ``current`` application defined, Django finds and returns 2. If there is a *current* application defined, Django finds and returns
the URL resolver for that instance. The ``current`` can be specified the URL resolver for that instance. The *current* application can be
as an attribute on the template context - applications that expect to specified as an attribute on the template context - applications that
have multiple deployments should set the ``current_app`` attribute on expect to have multiple deployments should set the ``current_app``
any ``Context`` or ``RequestContext`` that is used to render a attribute on any ``Context`` or ``RequestContext`` that is used to
template. render a template.
The current application can also be specified manually as an argument The current application can also be specified manually as an argument
to the :func:`reverse()` function. to the :func:`reverse()` function.
@ -725,7 +725,7 @@ the fully qualified name into parts, and then tries the following lookup:
deployed instance of the application, whatever its instance name may be. deployed instance of the application, whatever its instance name may be.
5. If the provided namespace doesn't match an application namespace in 5. If the provided namespace doesn't match an application namespace in
step 2, Django will attempt a direct lookup of the namespace as an step 1, Django will attempt a direct lookup of the namespace as an
instance namespace. instance namespace.
If there are nested namespaces, these steps are repeated for each part of the If there are nested namespaces, these steps are repeated for each part of the