From 5514d8731955466dad0cdaf395ddd4da1c101274 Mon Sep 17 00:00:00 2001 From: Jeremy Dunck Date: Tue, 6 Mar 2007 14:21:30 +0000 Subject: [PATCH] gis: Merged revisions 4564-4668 via svnmerge from http://code.djangoproject.com/svn/django/trunk git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@4669 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 6 + django/conf/global_settings.py | 10 +- django/conf/locale/de/LC_MESSAGES/django.mo | Bin 38948 -> 40423 bytes django/conf/locale/de/LC_MESSAGES/django.po | 224 +- django/conf/locale/de/LC_MESSAGES/djangojs.mo | Bin 1553 -> 1569 bytes django/conf/locale/de/LC_MESSAGES/djangojs.po | 11 +- django/conf/locale/es/LC_MESSAGES/django.mo | Bin 28941 -> 40248 bytes django/conf/locale/es/LC_MESSAGES/django.po | 3470 +++++++++-------- .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 37293 -> 40281 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 529 ++- .../conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 1576 -> 1576 bytes .../conf/locale/es_AR/LC_MESSAGES/djangojs.po | 9 +- django/conf/locale/fi/LC_MESSAGES/django.mo | Bin 33602 -> 34867 bytes django/conf/locale/fi/LC_MESSAGES/django.po | 59 +- django/conf/locale/it/LC_MESSAGES/django.mo | Bin 32320 -> 40468 bytes django/conf/locale/it/LC_MESSAGES/django.po | 3305 +++++++++------- django/conf/locale/it/LC_MESSAGES/djangojs.mo | Bin 1613 -> 1643 bytes django/conf/locale/it/LC_MESSAGES/djangojs.po | 96 +- django/conf/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 57878 bytes django/conf/locale/kn/LC_MESSAGES/django.po | 2533 ++++++++++++ django/conf/locale/kn/LC_MESSAGES/djangojs.mo | Bin 0 -> 2205 bytes django/conf/locale/kn/LC_MESSAGES/djangojs.po | 116 + django/conf/locale/mk/LC_MESSAGES/django.mo | Bin 46977 -> 50847 bytes django/conf/locale/mk/LC_MESSAGES/django.po | 200 +- django/conf/locale/mk/LC_MESSAGES/djangojs.mo | Bin 1821 -> 1921 bytes django/conf/locale/mk/LC_MESSAGES/djangojs.po | 9 +- django/conf/locale/sl/LC_MESSAGES/django.mo | Bin 33224 -> 32469 bytes django/conf/locale/sl/LC_MESSAGES/django.po | 269 +- django/conf/locale/sr/LC_MESSAGES/django.mo | Bin 29583 -> 32246 bytes django/conf/locale/sr/LC_MESSAGES/django.po | 693 ++-- django/conf/locale/sr/LC_MESSAGES/djangojs.mo | Bin 1699 -> 1669 bytes django/conf/locale/sr/LC_MESSAGES/djangojs.po | 13 +- django/conf/locale/sv/LC_MESSAGES/django.mo | Bin 32601 -> 39681 bytes django/conf/locale/sv/LC_MESSAGES/django.po | 2376 ++++++----- django/conf/locale/sv/LC_MESSAGES/djangojs.mo | Bin 905 -> 1691 bytes django/conf/locale/sv/LC_MESSAGES/djangojs.po | 89 +- django/conf/project_template/settings.py | 2 +- django/conf/urls/admin_password_reset.py | 6 - django/conf/urls/registration.py | 19 - django/contrib/admin/media/css/forms.css | 2 +- .../contrib/admin/templatetags/admin_list.py | 31 +- django/contrib/admin/views/main.py | 20 +- django/contrib/localflavor/usa/us_states.py | 3 +- django/core/mail.py | 22 +- django/core/management.py | 349 +- django/core/serializers/__init__.py | 5 + django/core/serializers/base.py | 2 +- django/core/serializers/python.py | 15 +- django/core/serializers/xml_serializer.py | 16 +- django/core/urlresolvers.py | 4 +- django/core/validators.py | 10 +- django/db/backends/ado_mssql/base.py | 16 + django/db/backends/dummy/base.py | 3 + django/db/backends/mysql/base.py | 33 + django/db/backends/oracle/base.py | 17 + django/db/backends/postgresql/base.py | 70 +- .../db/backends/postgresql_psycopg2/base.py | 66 +- django/db/backends/sqlite3/base.py | 21 + django/db/models/base.py | 105 +- django/db/models/fields/__init__.py | 18 +- django/db/models/fields/related.py | 2 +- django/db/models/manipulators.py | 10 +- django/db/models/query.py | 38 +- django/dispatch/dispatcher.py | 118 +- django/http/__init__.py | 2 +- django/template/__init__.py | 6 +- django/test/__init__.py | 6 + django/test/simple.py | 7 +- django/test/testcases.py | 20 + django/utils/datastructures.py | 9 +- django/utils/dateformat.py | 6 +- django/views/defaults.py | 4 +- django/views/generic/list_detail.py | 8 + docs/authentication.txt | 165 +- docs/db-api.txt | 24 + docs/distributions.txt | 76 + docs/django-admin.txt | 167 +- docs/email.txt | 6 +- docs/forms.txt | 4 + docs/generic_views.txt | 8 +- docs/install.txt | 31 +- docs/model-api.txt | 34 +- docs/settings.txt | 85 +- docs/templates.txt | 1 + docs/testing.txt | 63 +- docs/tutorial01.txt | 16 + docs/tutorial04.txt | 15 + docs/url_dispatch.txt | 7 + extras/django_bash_completion | 50 +- tests/modeltests/fixtures/__init__.py | 2 + .../fixtures/fixtures/fixture1.json | 18 + .../fixtures/fixtures/fixture2.json | 18 + .../modeltests/fixtures/fixtures/fixture2.xml | 11 + .../modeltests/fixtures/fixtures/fixture3.xml | 11 + .../fixtures/fixtures/initial_data.json | 10 + tests/modeltests/fixtures/models.py | 88 + tests/modeltests/select_related/__init__.py | 0 tests/modeltests/select_related/models.py | 152 + tests/modeltests/serializers/models.py | 20 + .../test_client/fixtures/testdata.json | 20 + tests/modeltests/test_client/management.py | 10 - tests/modeltests/test_client/models.py | 11 +- tests/modeltests/validation/models.py | 4 + tests/regressiontests/bug639/__init__.py | 0 tests/regressiontests/bug639/models.py | 16 + tests/regressiontests/bug639/test.jpg | Bin 0 -> 1780 bytes tests/regressiontests/bug639/tests.py | 42 + .../datastructures/__init__.py | 0 .../regressiontests/datastructures/models.py | 0 tests/regressiontests/datastructures/tests.py | 34 + tests/regressiontests/dateformat/tests.py | 2 + tests/regressiontests/dispatch/__init__.py | 2 + tests/regressiontests/dispatch/models.py | 0 .../dispatch/tests/__init__.py | 7 + .../dispatch/tests/test_dispatcher.py | 144 + .../dispatch/tests/test_robustapply.py | 34 + .../dispatch/tests/test_saferef.py | 77 + tests/regressiontests/forms/tests.py | 1 + tests/regressiontests/humanize/__init__.py | 0 tests/regressiontests/humanize/models.py | 0 tests/regressiontests/humanize/tests.py | 52 + tests/regressiontests/templates/tests.py | 25 +- tests/runtests.py | 8 +- tests/urls.py | 2 +- 124 files changed, 11198 insertions(+), 5483 deletions(-) create mode 100644 django/conf/locale/kn/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/kn/LC_MESSAGES/django.po create mode 100644 django/conf/locale/kn/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/kn/LC_MESSAGES/djangojs.po delete mode 100644 django/conf/urls/admin_password_reset.py delete mode 100644 django/conf/urls/registration.py create mode 100644 docs/distributions.txt create mode 100644 tests/modeltests/fixtures/__init__.py create mode 100644 tests/modeltests/fixtures/fixtures/fixture1.json create mode 100644 tests/modeltests/fixtures/fixtures/fixture2.json create mode 100644 tests/modeltests/fixtures/fixtures/fixture2.xml create mode 100644 tests/modeltests/fixtures/fixtures/fixture3.xml create mode 100644 tests/modeltests/fixtures/fixtures/initial_data.json create mode 100644 tests/modeltests/fixtures/models.py create mode 100644 tests/modeltests/select_related/__init__.py create mode 100644 tests/modeltests/select_related/models.py create mode 100644 tests/modeltests/test_client/fixtures/testdata.json delete mode 100644 tests/modeltests/test_client/management.py create mode 100644 tests/regressiontests/bug639/__init__.py create mode 100644 tests/regressiontests/bug639/models.py create mode 100644 tests/regressiontests/bug639/test.jpg create mode 100644 tests/regressiontests/bug639/tests.py create mode 100644 tests/regressiontests/datastructures/__init__.py create mode 100644 tests/regressiontests/datastructures/models.py create mode 100644 tests/regressiontests/datastructures/tests.py create mode 100644 tests/regressiontests/dispatch/__init__.py create mode 100644 tests/regressiontests/dispatch/models.py create mode 100644 tests/regressiontests/dispatch/tests/__init__.py create mode 100644 tests/regressiontests/dispatch/tests/test_dispatcher.py create mode 100644 tests/regressiontests/dispatch/tests/test_robustapply.py create mode 100644 tests/regressiontests/dispatch/tests/test_saferef.py create mode 100644 tests/regressiontests/humanize/__init__.py create mode 100644 tests/regressiontests/humanize/models.py create mode 100644 tests/regressiontests/humanize/tests.py diff --git a/AUTHORS b/AUTHORS index 2278fcca2e..9991b4e00a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -67,6 +67,7 @@ answer newbie questions, and generally made Django that much better: Ian Clelland crankycoder@gmail.com Matt Croydon + Jure Cuhalev dackze+django@gmail.com Dirk Datzert Jonathan Daugherty (cygnus) @@ -80,6 +81,8 @@ answer newbie questions, and generally made Django that much better: Andy Dustman Clint Ecker Enrico + Ludvig Ericson + Dirk Eschler Marc Fargas favo@exoweb.net Eric Floehr @@ -115,6 +118,7 @@ answer newbie questions, and generally made Django that much better: konrad@gwu.edu lakin.wecker@gmail.com Stuart Langridge + Nicola Larosa Eugene Lazutkin Jeong-Min Lee Christopher Lenz @@ -132,6 +136,7 @@ answer newbie questions, and generally made Django that much better: Jason McBrayer mccutchen@gmail.com michael.mcewan@gmail.com + mikko@sorl.net mitakummaa@gmail.com mmarshall Eric Moritz @@ -146,6 +151,7 @@ answer newbie questions, and generally made Django that much better: pgross@thoughtworks.com phaedo phil@produxion.net + phil.h.smith@gmail.com Gustavo Picon Luke Plant plisk diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 12ab6b4455..5ce856c37b 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -55,6 +55,7 @@ LANGUAGES = ( ('is', gettext_noop('Icelandic')), ('it', gettext_noop('Italian')), ('ja', gettext_noop('Japanese')), + ('kn', gettext_noop('Kannada')), ('lv', gettext_noop('Latvian')), ('mk', gettext_noop('Macedonian')), ('nl', gettext_noop('Dutch')), @@ -98,7 +99,7 @@ SERVER_EMAIL = 'root@localhost' SEND_BROKEN_LINK_EMAILS = False # Database connection info. -DATABASE_ENGINE = '' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. +DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. DATABASE_NAME = '' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. @@ -318,3 +319,10 @@ TEST_RUNNER = 'django.test.simple.run_tests' # The name of the database to use for testing purposes. # If None, a name of 'test_' + DATABASE_NAME will be assumed TEST_DATABASE_NAME = None + +############ +# FIXTURES # +############ + +# The list of directories to search for fixtures +FIXTURE_DIRS = () diff --git a/django/conf/locale/de/LC_MESSAGES/django.mo b/django/conf/locale/de/LC_MESSAGES/django.mo index c5d66e6e52dcfb0e273f39a90c2c8d2380e14e72..b5c518c13c70767944642d06e54dbaf01a65122c 100644 GIT binary patch delta 12777 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 WMf04BXs)|wYwJY)+Jjp!O8!5%N5Faj delta 11607 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 diff --git a/django/conf/locale/de/LC_MESSAGES/django.po b/django/conf/locale/de/LC_MESSAGES/django.po index d02bfcf5ee..2f0991c8cc 100644 --- a/django/conf/locale/de/LC_MESSAGES/django.po +++ b/django/conf/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-02-05 02:56+0100\n" "PO-Revision-Date: 2007-02-05 03:19+0100\n" -"Last-Translator: Benjamin Schulz \n" +"Last-Translator: Dirk Eschler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -17,6 +17,7 @@ msgstr "" "X-Poedit-Country: GERMANY\n" "X-Poedit-SourceCharset: utf-8\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: KBabel 1.11.4\n" #: .\conf\global_settings.py:39 msgid "Arabic" @@ -206,11 +207,11 @@ msgstr "Unbekannt" #: .\contrib\admin\models.py:16 msgid "action time" -msgstr "Zeit der Aktion" +msgstr "Zeitpunkt der Aktion" #: .\contrib\admin\models.py:19 msgid "object id" -msgstr "Objekt ID" +msgstr "Objekt-ID" #: .\contrib\admin\models.py:20 msgid "object repr" @@ -239,7 +240,7 @@ msgstr "Seite nicht gefunden" #: .\contrib\admin\templates\admin\404.html.py:10 msgid "We're sorry, but the requested page could not be found." -msgstr "Es tut uns leid, aber die angeforderte Seite kann nicht gefunden werden." +msgstr "Es tut uns leid, aber die angeforderte Seite konnte nicht gefunden werden." #: .\contrib\admin\templates\admin\500.html.py:4 #: .\contrib\admin\templates\admin\base.html.py:30 @@ -272,7 +273,7 @@ msgstr "Serverfehler (500)" #: .\contrib\admin\templates\admin\500.html.py: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 "Es hat einen Fehler gegeben. Dieser Fehler wurde an die Serververwalter per eMail weitergegeben und sollte bald behoben sein. Vielen Dank für Ihr Verständnis." +msgstr "Ein Fehler ist aufgetreten. Dieser Fehler wurde an die Serververwalter per E-Mail weitergegeben und sollte bald behoben sein. Vielen Dank für Ihr Verständnis." #: .\contrib\admin\templates\admin\base.html.py:25 msgid "Welcome," @@ -346,7 +347,7 @@ msgstr "Django Verwaltung" #: .\contrib\admin\templates\admin\change_form.html.py:15 #: .\contrib\admin\templates\admin\index.html.py:28 msgid "Add" -msgstr "Zufügen" +msgstr "Hinzufügen" #: .\contrib\admin\templates\admin\change_form.html.py:21 #: .\contrib\admin\templates\admin\object_history.html.py:5 @@ -361,8 +362,8 @@ msgstr "Im Web Anzeigen" #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." -msgstr[0] "Bitte den Fehler korrigieren." -msgstr[1] "Bitte die Fehler korrigieren." +msgstr[0] "Bitte den aufgeführten Fehler korrigieren." +msgstr[1] "Bitte die aufgeführten Fehler korrigieren." #: .\contrib\admin\templates\admin\change_form.html.py:50 msgid "Ordering" @@ -375,7 +376,7 @@ msgstr "Reihenfolge:" #: .\contrib\admin\templates\admin\change_list.html.py:12 #, python-format msgid "Add %(name)s" -msgstr "%(name)s zufügen" +msgstr "%(name)s hinzufügen" #: .\contrib\admin\templates\admin\delete_confirmation.html.py:9 #: .\contrib\admin\templates\admin\submit_line.html.py:3 @@ -437,7 +438,7 @@ msgstr "Keine vorhanden" #: .\contrib\admin\templates\admin\invalid_setup.html.py: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 "Irgendetwas ist falsch mit der Datenbankkonfiguration. Bitte sicherstellen, das die richtigen Datenbanktabellen angelegt wurden und bitte sicherstellen, das die Datenbank vom verwendeten Datenbankbenutzer auch lesbar ist." +msgstr "Etwas stimmt nicht mit der Datenbankkonfiguration. Bitte sicherstellen, das die richtigen Datenbanktabellen angelegt wurden und bitte sicherstellen, das die Datenbank vom verwendeten Datenbankbenutzer auch lesbar ist." #: .\contrib\admin\templates\admin\login.html.py:17 #: .\contrib\comments\templates\comments\form.html.py:6 @@ -487,8 +488,8 @@ msgstr "Los" #, python-format msgid "1 result" msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ein Ergebnis" +msgstr[1] "%(counter)s Ergebnisse" #: .\contrib\admin\templates\admin\search_form.html.py:10 #, python-format @@ -497,7 +498,7 @@ msgstr "%(full_result_count)s gesamt" #: .\contrib\admin\templates\admin\submit_line.html.py:4 msgid "Save as new" -msgstr "Als Neu sichern" +msgstr "Als neu sichern" #: .\contrib\admin\templates\admin\submit_line.html.py:5 msgid "Save and add another" @@ -527,12 +528,12 @@ msgstr "Passwort" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:23 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:39 msgid "Password (again)" -msgstr "Kennwort (wiederholen)" +msgstr "Passwort (wiederholen)" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:24 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:40 msgid "Enter the same password as above, for verification." -msgstr "Bitte das gleiche Passwort zur Prüfung nochmal eingeben." +msgstr "Bitte das gleiche Passwort zur Überprüfung nochmal eingeben." #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:28 #, python-format @@ -559,7 +560,7 @@ msgid "" msgstr "" "\n" "

Um Bookmarklets zu installieren müssen diese Links in die\n" -"Browser-Werkzeugleiste gehzogen werden, oder mittels rechter Maustaste in die\n" +"Browser-Werkzeugleiste gezogen werden, oder mittels rechter Maustaste in die\n" "Bookmarks gespeichert werden. Danach können die Bookmarklets von jeder Seite\n" "aufgerufen werden. Einige Bookmarklets sind für den Zugriff von 'internen'\n" "Rechnern eingeschränkt. Falls nicht klar ist, ob ein Rechner als 'intern'\n" @@ -575,7 +576,7 @@ msgstr "Springt von jeder Seite zu der Dokumentation für den View der diese Sei #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:22 msgid "Show object ID" -msgstr "Objekt ID anzeigen" +msgstr "Objekt-ID anzeigen" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:23 msgid "Shows the content-type and unique ID for pages that represent a single object." @@ -595,71 +596,71 @@ msgstr "Dieses Objekt in einem neuen Fenster ändern." #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:29 msgid "As above, but opens the admin page in a new window." -msgstr "Wie zuvor, aber öffnent die Administrationsseite in einem neuen Fenster." +msgstr "Wie zuvor, aber öffnet die Administrationsseite in einem neuen Fenster." #: .\contrib\admin\templates\registration\logged_out.html.py:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Vielen Dank, daß Sie hier ein paar nette Minuten verbracht haben." +msgstr "Vielen Dank, dass Sie hier ein paar nette Minuten verbracht haben." #: .\contrib\admin\templates\registration\logged_out.html.py:10 msgid "Log in again" -msgstr "Erneut Anmelden" +msgstr "Erneut anmelden" #: .\contrib\admin\templates\registration\password_change_done.html.py:4 #: .\contrib\admin\templates\registration\password_change_form.html.py:4 #: .\contrib\admin\templates\registration\password_change_form.html.py:6 #: .\contrib\admin\templates\registration\password_change_form.html.py:10 msgid "Password change" -msgstr "Kennwort ändern" +msgstr "Passwort ändern" #: .\contrib\admin\templates\registration\password_change_done.html.py:6 #: .\contrib\admin\templates\registration\password_change_done.html.py:10 msgid "Password change successful" -msgstr "Kennwortänderung erfolgreich" +msgstr "Passwort erfolgreich geändert" #: .\contrib\admin\templates\registration\password_change_done.html.py:12 msgid "Your password was changed." -msgstr "Ihr Kennwort wurde geändert." +msgstr "Ihr Passwort wurde geändert." #: .\contrib\admin\templates\registration\password_change_form.html.py: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 "Bitte geben Sie aus Sicherheitsgründen erst Ihr altes Kennwort und darunter dann zweimal (um sicherzustellen, dass Sie es korrekt eingegeben haben) das neue Kennwort ein." +msgstr "Bitte geben Sie aus Sicherheitsgründen erst Ihr altes Passwort und darunter dann zweimal (um sicherzustellen, dass Sie es korrekt eingegeben haben) das neue Kennwort ein." #: .\contrib\admin\templates\registration\password_change_form.html.py:17 msgid "Old password:" -msgstr "altes Kennwort:" +msgstr "Altes Passwort:" #: .\contrib\admin\templates\registration\password_change_form.html.py:19 msgid "New password:" -msgstr "neues Kennwort:" +msgstr "Neues Passwort:" #: .\contrib\admin\templates\registration\password_change_form.html.py:21 msgid "Confirm password:" -msgstr "Kennwortwiederholung:" +msgstr "Passwort wiederholen:" #: .\contrib\admin\templates\registration\password_change_form.html.py:23 msgid "Change my password" -msgstr "Mein Kennwort ändern" +msgstr "Mein Passwort ändern" #: .\contrib\admin\templates\registration\password_reset_done.html.py:4 #: .\contrib\admin\templates\registration\password_reset_form.html.py:4 #: .\contrib\admin\templates\registration\password_reset_form.html.py:6 #: .\contrib\admin\templates\registration\password_reset_form.html.py:10 msgid "Password reset" -msgstr "Kennwort zurücksetzen" +msgstr "Passwort zurücksetzen" #: .\contrib\admin\templates\registration\password_reset_done.html.py:6 #: .\contrib\admin\templates\registration\password_reset_done.html.py:10 msgid "Password reset successful" -msgstr "Erfolgreich Kennwort zurückgesetzt" +msgstr "Passwort wurde erfolgreich zurückgesetzt" #: .\contrib\admin\templates\registration\password_reset_done.html.py:12 msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Wir haben Ihnen ein neues Kennwort per eMail zugeschickt an die Adresse, die Sie uns gegeben haben. Es sollte in Kürze ankommen." +msgstr "Wir haben ein neues Passwort an die von Ihnen angegebene E-Mail-Adresse geschickt. Sie sollten es in Kürze erhalten." #: .\contrib\admin\templates\registration\password_reset_email.html.py:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Sie erhalten diese Mail, weil Sie ein neues Kennwort" +msgstr "Sie erhalten diese E-Mail, weil Sie ein neues Passwort" #: .\contrib\admin\templates\registration\password_reset_email.html.py:3 #, python-format @@ -669,11 +670,11 @@ msgstr "für Ihren Benutzer bei %(site_name)s angefordert haben." #: .\contrib\admin\templates\registration\password_reset_email.html.py:5 #, python-format msgid "Your new password is: %(new_password)s" -msgstr "Ihr neues Kennwort ist: %(new_password)s" +msgstr "Ihr neues Passwort lautet: %(new_password)s" #: .\contrib\admin\templates\registration\password_reset_email.html.py:7 msgid "Feel free to change this password by going to this page:" -msgstr "Sie können das Kennwort auf folgender Seite ändern:" +msgstr "Sie können das Passwort auf folgender Seite ändern:" #: .\contrib\admin\templates\registration\password_reset_email.html.py:11 msgid "Your username, in case you've forgotten:" @@ -690,7 +691,7 @@ msgstr "Das Team von %(site_name)s" #: .\contrib\admin\templates\registration\password_reset_form.html.py: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 "Passwort vergessen? Einfach die E-Mail-Adresse eingeben und wir setzen das Passwort auf ein neues und senden das per E-Mail zu." +msgstr "Passwort vergessen? Einfach die E-Mail-Adresse eingeben und wir setzen das Passwort zurück und lassen es Ihnen per E-Mail zukommen." #: .\contrib\admin\templates\registration\password_reset_form.html.py:16 msgid "E-mail address:" @@ -698,7 +699,7 @@ msgstr "E-Mail-Adresse:" #: .\contrib\admin\templates\registration\password_reset_form.html.py:16 msgid "Reset my password" -msgstr "Mein Kennwort zurücksetzen" +msgstr "Mein Passwort zurücksetzen" #: .\contrib\admin\templates\widget\date_time.html.py:3 msgid "Date:" @@ -730,30 +731,29 @@ msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt." #: .\contrib\admin\views\main.py:261 #: .\contrib\admin\views\main.py:347 msgid "You may edit it again below." -msgstr "Das Element kann jetzt weiter geändert werden." +msgstr "Das Element kann jetzt weiter bearbeitet werden." #: .\contrib\admin\views\auth.py:30 msgid "Add user" -msgstr "Benutzer zufügen" +msgstr "Benutzer hinzufügen" #: .\contrib\admin\views\auth.py:57 -#, fuzzy msgid "Password changed successfully." -msgstr "Kennwortänderung erfolgreich" +msgstr "Passwort erfolgreich geändert." #: .\contrib\admin\views\auth.py:64 -#, fuzzy, python-format +#, python-format msgid "Change password: %s" -msgstr "Passwort ändern" +msgstr "Passwort ändern: %s" #: .\contrib\admin\views\decorators.py:10 #: .\contrib\auth\forms.py:59 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Bitte einen Benutzernamen und ein Kennwort eingeben. Beide Felder berücksichtigen die Groß-/Kleinschreibung." +msgstr "Bitte einen Benutzernamen und ein Passwort eingeben. Beide Felder berücksichtigen die Groß-/Kleinschreibung." #: .\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 "Bitte neu anmelden, da die Session ausgelaufen ist. Keine Angst: die Beiträge wurden gesichert." +msgstr "Bitte neu anmelden, da die Session ausgelaufen ist. Keine Angst, die Beiträge wurden gesichert." #: .\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." @@ -761,12 +761,12 @@ msgstr "Es sieht danach aus, dass der Browser keine Cookies akzeptiert. Bitte im #: .\contrib\admin\views\decorators.py:83 msgid "Usernames cannot contain the '@' character." -msgstr "Benutzernamen können das Zeichen '@' nicht enthalten." +msgstr "Benutzernamen dürfen das Zeichen '@' nicht enthalten." #: .\contrib\admin\views\decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Die eMail-Adresse ist nicht der Benutzername. Bitte '%s' stattdessen versuchen." +msgstr "Die E-Mail-Adresse entspricht nicht Ihrem Benutzernamen. Bitte stattdessen '%s' versuchen." #: .\contrib\admin\views\doc.py:46 #: .\contrib\admin\views\doc.py:48 @@ -839,7 +839,7 @@ msgstr "Ganzzahl" #: .\contrib\admin\views\doc.py:292 msgid "Boolean (Either True or False)" -msgstr "Wahrheitswert (Wahr oder Falsch)" +msgstr "Boolscher Wert (True oder False)" #: .\contrib\admin\views\doc.py:293 #: .\contrib\admin\views\doc.py:311 @@ -849,19 +849,19 @@ msgstr "Zeichenkette (bis zu %(maxlength)s Zeichen)" #: .\contrib\admin\views\doc.py:294 msgid "Comma-separated integers" -msgstr "Kommaseparierte Liste von Zahlen" +msgstr "Kommaseparierte Liste von Ganzzahlen" #: .\contrib\admin\views\doc.py:295 msgid "Date (without time)" -msgstr "Datum (ohne Zeit)" +msgstr "Datum (ohne Uhrzeit)" #: .\contrib\admin\views\doc.py:296 msgid "Date (with time)" -msgstr "Datum (mit Zeit)" +msgstr "Datum (mit Uhrzeit)" #: .\contrib\admin\views\doc.py:297 msgid "E-mail address" -msgstr "E-mail-Adresse" +msgstr "E-Mail-Adresse" #: .\contrib\admin\views\doc.py:298 #: .\contrib\admin\views\doc.py:299 @@ -880,11 +880,11 @@ msgstr "IP-Adresse" #: .\contrib\admin\views\doc.py:306 msgid "Boolean (Either True, False or None)" -msgstr "Wahrheitswert (Wahr, Falsch oder Nichts)" +msgstr "Boolscher Wert (True, False oder None)" #: .\contrib\admin\views\doc.py:307 msgid "Relation to parent model" -msgstr "Beziehung zum Übermodell" +msgstr "Beziehung zum Eltern-Modell" #: .\contrib\admin\views\doc.py:308 msgid "Phone number" @@ -901,15 +901,15 @@ msgstr "Zeit" #: .\contrib\admin\views\doc.py:315 #: .\contrib\flatpages\models.py:7 msgid "URL" -msgstr "URL" +msgstr "Adresse (URL)" #: .\contrib\admin\views\doc.py:316 msgid "U.S. state (two uppercase letters)" -msgstr "U.S. Bundesstaat (zwei Grossbuchstaben)" +msgstr "U.S. Bundesstaat (zwei Großbuchstaben)" #: .\contrib\admin\views\doc.py:317 msgid "XML text" -msgstr "XML Text" +msgstr "XML-Text" #: .\contrib\admin\views\doc.py:343 #, python-format @@ -929,7 +929,7 @@ msgstr "Jetzt kann ein weiteres Element vom Typ %s angelegt werden." #: .\contrib\admin\views\main.py:289 #, python-format msgid "Add %s" -msgstr "%s zufügen" +msgstr "%s hinzufügen" #: .\contrib\admin\views\main.py:335 #, python-format @@ -965,7 +965,7 @@ msgstr "%(name)s \"%(obj)s\" wurde erfolgreich geändert." #: .\contrib\admin\views\main.py:353 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" wurde erfolgreich zugefügt. Das Element kann jetzt geändert werden." +msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt. Das Element kann jetzt geändert werden." #: .\contrib\admin\views\main.py:391 #, python-format @@ -989,7 +989,7 @@ msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gelöscht." #: .\contrib\admin\views\main.py:514 msgid "Are you sure?" -msgstr "Sicher? Ganz sicher?" +msgstr "Sind Sie ganz sicher?" #: .\contrib\admin\views\main.py:536 #, python-format @@ -1013,7 +1013,7 @@ msgstr "Datenbankfehler" #: .\contrib\auth\forms.py:16 #: .\contrib\auth\forms.py:137 msgid "The two password fields didn't match." -msgstr "Die zwei Passwörter sind nicht gleich." +msgstr "Die beiden Passwörter sind nicht identisch." #: .\contrib\auth\forms.py:24 msgid "A user with that username already exists." @@ -1021,7 +1021,7 @@ msgstr "Ein Benutzer mit diesem Namen existiert bereits." #: .\contrib\auth\forms.py:52 msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "Der Webbrowser scheint keine Cookies aktiviert zu haben. Cookies sind für die Anmeldung zwingend notwendig." +msgstr "Der Webbrowser scheint keine Cookies aktiviert zu haben. Cookies sind für die Anmeldung zwingend erforderlich." #: .\contrib\auth\forms.py:61 msgid "This account is inactive." @@ -1029,11 +1029,11 @@ msgstr "Dieser Benutzer ist inaktiv." #: .\contrib\auth\forms.py:84 msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" -msgstr "Die Email-Adresse hat keinen Benutzer zugeordnet. Sicher, dass die Adresse hier angemeldet ist?" +msgstr "Zu dieser E-Mail-Adresse existiert kein Benutzer. Sicher, dass Sie sich mit dieser Adresse angemeldet haben?" #: .\contrib\auth\forms.py:116 msgid "The two 'new password' fields didn't match." -msgstr "Die zwei Passwörter sind nicht gleich." +msgstr "Die beiden neuen Passwörter sind nicht identisch." #: .\contrib\auth\forms.py:123 msgid "Your old password was entered incorrectly. Please enter it again." @@ -1084,15 +1084,15 @@ msgstr "Nachname" #: .\contrib\auth\models.py:93 msgid "e-mail address" -msgstr "eMail-Adresse" +msgstr "E-Mail-Adresse" #: .\contrib\auth\models.py:94 msgid "password" -msgstr "Kennwort" +msgstr "Passwort" #: .\contrib\auth\models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." -msgstr "Benutzen Sie die Form '[algo]$[salt]$[hexdigest]' oder das Passwort ändern Formular." +msgstr "Die Form '[algo]$[salt]$[hexdigest]' verwenden, oder das Passwort ändern Formular benutzen." #: .\contrib\auth\models.py:95 msgid "staff status" @@ -1100,7 +1100,7 @@ msgstr "Administrator" #: .\contrib\auth\models.py:95 msgid "Designates whether the user can log into this admin site." -msgstr "Gibt an, ob der Benutzer sich an der Administrationsseite anmelden kann." +msgstr "Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann." #: .\contrib\auth\models.py:96 msgid "active" @@ -1108,7 +1108,7 @@ msgstr "Aktiv" #: .\contrib\auth\models.py:96 msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." -msgstr "Gibt an, ob der Benutzer sich an der Administrationsseite anmelden kann. Anstelle Benutzer zu löschen, kann das hier auch einfach abgeschaltet werden." +msgstr "Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann. Anstatt einen Benutzer zu löschen, kann er hier auch einfach deaktiviert werden." #: .\contrib\auth\models.py:97 msgid "superuser status" @@ -1116,11 +1116,11 @@ msgstr "Hauptadmin." #: .\contrib\auth\models.py:97 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "Bestimmt, dass dieser Benutzer alle Berechtigungen hat, ohne diese einzeln zuweisen zu müssen." +msgstr "Legt fest, dass der Benutzer alle Berechtigungen hat, ohne diese einzeln zuweisen zu müssen." #: .\contrib\auth\models.py:98 msgid "last login" -msgstr "letzte Anmeldung" +msgstr "Letzte Anmeldung" #: .\contrib\auth\models.py:99 msgid "date joined" @@ -1169,7 +1169,7 @@ msgstr "Abgemeldet" #: .\contrib\comments\models.py:67 #: .\contrib\comments\models.py:166 msgid "object ID" -msgstr "Objekt ID" +msgstr "Objekt-ID" #: .\contrib\comments\models.py:68 msgid "headline" @@ -1233,7 +1233,7 @@ msgstr "ist gelöscht" #: .\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 "Hier einen Haken setzen, wenn der Kommentar unpassend ist. Es wird dann eine \"Dieser Kommentar wurde entfernt\" Meldung statt dessen angezeigt." +msgstr "Hier einen Haken setzen, wenn der Kommentar unpassend ist. Stattdessen wird dann \"Dieser Kommentar wurde entfernt\" Meldung angezeigt." #: .\contrib\comments\models.py:91 msgid "comments" @@ -1347,7 +1347,7 @@ msgstr "Vom Moderator %r gelöscht" #: .\contrib\comments\templates\comments\form.html.py:8 msgid "Forgotten your password?" -msgstr "Kennwort vergessen?" +msgstr "Passwort vergessen?" #: .\contrib\comments\templates\comments\form.html.py:12 msgid "Ratings" @@ -1383,7 +1383,7 @@ msgstr "Ihr Name:" #: .\contrib\comments\views\comments.py:27 msgid "This rating is required because you've entered at least one other rating." -msgstr "Die Abstimmung ist zwangsweise, weil Du an mindestens einer anderen Abstimmung teilnimmst." +msgstr "Diese Abstimmung ist zwingend erforderlich, da Du an mindestens einer weiteren Abstimmung teilnimmst." #: .\contrib\comments\views\comments.py:111 #, python-format @@ -1423,7 +1423,7 @@ msgstr "Nur POST ist erlaubt" #: .\contrib\comments\views\comments.py:192 #: .\contrib\comments\views\comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Eines oder mehrere der erforderlichen Felder fehlt" +msgstr "Eines oder mehrere der erforderlichen Felder fehlen" #: .\contrib\comments\views\comments.py:196 #: .\contrib\comments\views\comments.py:286 @@ -1442,7 +1442,7 @@ msgstr "Das Kommentarformular wurde nicht mit 'preview' oder 'post' abgeschickt" #: .\contrib\comments\views\karma.py:19 msgid "Anonymous users cannot vote" -msgstr "Anonyme Benutzer können nicht abstimmen" +msgstr "Anonyme Benutzer dürfen nicht abstimmen" #: .\contrib\comments\views\karma.py:23 msgid "Invalid comment ID" @@ -1450,7 +1450,7 @@ msgstr "Ungültige Kommentar-ID" #: .\contrib\comments\views\karma.py:25 msgid "No voting for yourself" -msgstr "Keine Abstimmung bei Dir selber" +msgstr "Keine Abstimmung für dich selbst" #: .\contrib\contenttypes\models.py:26 msgid "python model class name" @@ -1494,7 +1494,7 @@ msgstr "Registrierung erforderlich" #: .\contrib\flatpages\models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Wenn hier ein Haken ist, können nur angemeldete Benutzer diese Seite sehen." +msgstr "Wenn hier ein Haken gesetzt ist, können nur angemeldete Benutzer diese Seite sehen." #: .\contrib\flatpages\models.py:18 msgid "flat page" @@ -1590,7 +1590,7 @@ msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt." #: .\core\validators.py:99 msgid "Enter valid e-mail addresses separated by commas." -msgstr "Bitte mit Komma getrennte, gültige eMail-Adressen eingeben." +msgstr "Bitte mit Komma getrennte, gültige E-Mail-Adressen eingeben." #: .\core\validators.py:103 msgid "Please enter a valid IP address." @@ -1643,17 +1643,17 @@ msgstr "Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM ei #: .\core\validators.py:161 #: .\newforms\fields.py:269 msgid "Enter a valid e-mail address." -msgstr "Bitte eine gültige eMail-Adresse eingeben" +msgstr "Bitte eine gültige E-Mail-Adresse eingeben." #: .\core\validators.py:173 #: .\core\validators.py:442 #: .\oldforms\__init__.py:667 msgid "No file was submitted. Check the encoding type on the form." -msgstr "Es wurde keine Datei geschickt. Eventuell ist das Formular-Encoding falsch." +msgstr "Es wurde keine Datei übermittelt. Eventuell ist das Formular-Encoding falsch." #: .\core\validators.py:177 msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Bitte ein Bild hochladen. Die Datei, die hochgeladen wurde, ist kein Bild oder ist defekt." +msgstr "Bitte ein Bild hochladen. Die hochgeladene Datei ist kein Bild, oder ist defekt." #: .\core\validators.py:184 #, python-format @@ -1663,16 +1663,16 @@ msgstr "Die URL %s zeigt nicht auf ein gültiges Bild." #: .\core\validators.py:188 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Telefonnummern müssen im Format XXX-XXX-XXXX sein. \"%s\" ist ungültig." +msgstr "Telefonnummern müssen das Format XXX-XXX-XXXX haben. \"%s\" ist ungültig." #: .\core\validators.py:196 #, python-format msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Die URL %s zeigt nicht auf ein gültiges QuickTime video." +msgstr "Die URL %s zeigt nicht auf ein gültiges QuickTime-Video." #: .\core\validators.py:200 msgid "A valid URL is required." -msgstr "Eine gültige URL ist hier verlangt." +msgstr "Eine gültige URL wird hier verlangt." #: .\core\validators.py:214 #, python-format @@ -1773,25 +1773,25 @@ msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben." #, python-format msgid "Please enter a valid decimal number with a whole part of at most %s digit." msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." -msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben." -msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben." +msgstr[0] "Bitte eine gültige Dezimalzahl mit einer Gesamtzahl von maximal %s Ziffer eingeben." +msgstr[1] "Bitte eine gültige Dezimalzahl mit einer Gesamtzahl von maximal %s Ziffern eingeben." #: .\core\validators.py:425 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstelle eingeben." +msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstelle eingeben." msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstellen eingeben." #: .\core\validators.py:435 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Bitte sicherstellen, daß die hochgeladene Datei mindestens %s Bytes gross ist." +msgstr "Bitte sicherstellen, dass die hochgeladene Datei mindestens %s Bytes groß ist." #: .\core\validators.py:436 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Bitte sicherstellen, daß die hochgeladene Datei maximal %s Bytes gross ist." +msgstr "Bitte sicherstellen, dass die hochgeladene Datei maximal %s Bytes groß ist." #: .\core\validators.py:453 msgid "The format for this field is wrong." @@ -1857,7 +1857,7 @@ msgstr "Mehrere IDs können mit Komma getrennt werden." #: .\db\models\fields\related.py:644 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr " Um mehr als eine Selektion zu treffen, \"Strg\", oder auf dem Mac \"Command\", beim Klicken gedrückt halten." +msgstr "Um mehr als eine Selektion zu treffen, \"Strg\", oder auf dem Mac \"Command\", beim Klicken gedrückt halten." #: .\db\models\fields\related.py:691 #, python-format @@ -1881,7 +1881,7 @@ msgstr "Ein '%(optname)s' mit diesem '%(fieldname)s' existiert bereits." #: .\newforms\fields.py:460 #: .\oldforms\__init__.py:352 msgid "This field is required." -msgstr "Dieses Feld ist zwingend." +msgstr "Dieses Feld ist zwingend erforderlich." #: .\db\models\fields\__init__.py:360 msgid "This value must be an integer." @@ -1897,19 +1897,19 @@ msgstr "Dieses Feld darf nicht leer sein." #: .\db\models\fields\__init__.py:619 msgid "Enter a valid filename." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte einen gültigen Dateinamen eingeben." #: .\newforms\fields.py:101 #: .\newforms\fields.py:254 -#, fuzzy, python-format +#, python-format msgid "Ensure this value has at most %d characters." -msgstr "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." +msgstr "Bitte sicherstellen, dass der Text maximal %d Zeichen hat." #: .\newforms\fields.py:103 #: .\newforms\fields.py:256 -#, fuzzy, python-format +#, python-format msgid "Ensure this value has at least %d characters." -msgstr "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." +msgstr "Bitte sicherstellen, dass der Text wenigstens %d Zeichen hat." #: .\newforms\fields.py:128 #, python-format @@ -1922,47 +1922,40 @@ msgid "Ensure this value is greater than or equal to %s." msgstr "Dieser Wert muss größer oder gleich %s sein." #: .\newforms\fields.py:163 -#, fuzzy msgid "Enter a valid date." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte ein gültiges Datum eingeben." #: .\newforms\fields.py:190 -#, fuzzy msgid "Enter a valid time." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte eine gültige Uhrzeit eingeben." #: .\newforms\fields.py:226 -#, fuzzy msgid "Enter a valid date/time." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte gültiges Datum und Uhrzeit eingeben." #: .\newforms\fields.py:240 -#, fuzzy msgid "Enter a valid value." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte einen gültigen Wert eingeben." #: .\newforms\fields.py:287 #: .\newforms\fields.py:309 -#, fuzzy msgid "Enter a valid URL." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Bitte eine gültige Adresse eingeben." #: .\newforms\fields.py:311 -#, fuzzy msgid "This URL appears to be a broken link." -msgstr "Die URL %s funktioniert nicht." +msgstr "Diese Adresse scheint nicht gültig zu sein." #: .\newforms\fields.py:359 #: .\newforms\fields.py:386 -#, fuzzy, python-format +#, python-format msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Bitte eine gültige Auswahl treffen; '%(data)s' ist nicht in %(choices)s." +msgstr "Bitte eine gültige Auswahl treffen. %s ist keine gültige Auswahl." #: .\newforms\fields.py:377 #: .\newforms\fields.py:453 -#, fuzzy msgid "Enter a list of values." -msgstr "Bitte einen gültigen Dateinamen eingeben" +msgstr "Eine Liste mit Werten eingeben." #: .\oldforms\__init__.py:387 #, python-format @@ -1988,7 +1981,7 @@ msgstr "Die ausgewählte Datei ist leer." #: .\oldforms\__init__.py:725 msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Bitte eine ganze Zahl zwischen -32.768 und 32.767 eingeben." +msgstr "Bitte eine Ganzzahl zwischen -32.768 und 32.767 eingeben." #: .\oldforms\__init__.py:735 msgid "Enter a positive number." @@ -2230,6 +2223,3 @@ msgstr "%(verbose_name)s wurde erfolgreich aktualisiert." msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s wurde gelöscht" -#~ msgid "Use '[algo]$[salt]$[hexdigest]'" -#~ msgstr "Im Format '[algo]$[salt]$[hexdigest]'" - diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.mo b/django/conf/locale/de/LC_MESSAGES/djangojs.mo index 99177ea43c6b82ded6f556e4b69848d49ae89038..9f39c16444ba716738690d4f46f7261636da4712 100644 GIT binary patch delta 277 zcmbQpvyf-Poq9D!28K3f1_o9J28OjP3=CXAdNYvb1=9O~GzXAA1Ee{D^i?3u4y5k` zX?`I697yv4>F-dQ4QL3^Clwy1L+Gu8i*KpfVx2j2muL@LnJrPWSqdH9XmoRO1S zq+pW*#WM!}eE360dKo)ia zX?Y+$9Y}*L-VUU#f%E|&4MYrofCR_@CLjTFDCg#xj1!o|-Ba_6(iNN%OH+#!Y|@h) vlJe6s^m2\n" +"Last-Translator: Dirk Eschler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" @@ -21,11 +21,11 @@ msgstr "Verf #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "alles auswhlen" +msgstr "Alles auswhlen" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "Zufgen" +msgstr "Hinzufgen" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" @@ -42,7 +42,7 @@ msgstr "Gew #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "alles abwhlen" +msgstr "Alles abwhlen" #: contrib/admin/media/js/dateparse.js:26 #: contrib/admin/media/js/calendar.js:24 @@ -89,7 +89,7 @@ msgstr "Mittag" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 msgid "Cancel" -msgstr "Abbruch" +msgstr "Abbrechen" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 @@ -116,3 +116,4 @@ msgstr "Anzeigen" #: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 msgid "Hide" msgstr "Verbergen" + diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index fe44d24a1703ba25e2e9884636cebeeb573061fa..e9105aa64c1b2a4e0173dba97d493feff276f35d 100644 GIT binary patch literal 40248 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, 2005. # Ricardo Javier Cardenes Medina , 2005. -# +# AgarFu , 2007. +# Mario Gonzalez , 2007 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2005-11-28 15:28+0000\n" -"Last-Translator: Ricardo Javier Cardenes Medina \n" -"Language-Team: Spanish \n" +"POT-Creation-Date: 2007-02-24 17:08+0000\n" +"PO-Revision-Date: 2007-02-24 18:02-0600\n" +"Last-Translator: Mario Gonzalez \n" +"Language-Team: Castellano \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.10.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 -msgid "object ID" -msgstr "ID de objeto" - -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "encabezado" - -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "comentario" - -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "calificacin 1" - -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "calificacin 2" - -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "calificacin 3" - -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "calificacin 4" - -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "calificacin 5" - -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "calificacin 6" - -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "calificacin 7" - -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "calificacin 8" - -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "es calificacin vlida" - -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "fecha/hora de envo" - -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "es pblico" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "Direccin IP" - -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "est eliminado" - -#: 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 "" -"Marque esta caja si el comentario es inapropiado. En su lugar se mostrar " -"\"Este comentario ha sido eliminado\"." - -#: contrib/comments/models.py:91 -#, fuzzy -msgid "comments" -msgstr "comentario" - -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Objeto contenido" - -#: contrib/comments/models.py:159 -#, python-format -msgid "" -"Posted by %(user)s at %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" -msgstr "" -"Enviado por %(user)s en %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" - -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nombre de la persona" - -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "direccin ip" - -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "aprobado por el staff" - -#: contrib/comments/models.py:176 -#, fuzzy -msgid "free comment" -msgstr "Comentario libre" - -#: contrib/comments/models.py:177 -#, fuzzy -msgid "free comments" -msgstr "Comentarios libres" - -#: contrib/comments/models.py:233 -msgid "score" -msgstr "puntuacin" - -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "fecha de la puntuacin" - -#: contrib/comments/models.py:237 -#, fuzzy -msgid "karma score" -msgstr "Punto karma" - -#: contrib/comments/models.py:238 -#, fuzzy -msgid "karma scores" -msgstr "Puntos karma" - -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "Puntuado %(score)d por %(user)s" - -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Este comentario fue marcado por %(user)s:\n" -"\n" -"%(text)s" - -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "fecha de la marca" - -#: contrib/comments/models.py:268 -#, fuzzy -msgid "user flag" -msgstr "Marca de usuario" - -#: contrib/comments/models.py:269 -#, fuzzy -msgid "user flags" -msgstr "Marcas de usuario" - -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Marca de %r" - -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "fecha de eliminacin" - -#: contrib/comments/models.py:280 -#, fuzzy -msgid "moderator deletion" -msgstr "Eliminacin de moderador" - -#: contrib/comments/models.py:281 -#, fuzzy -msgid "moderator deletions" -msgstr "Eliminaciones de moderador" - -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Eliminacin del moderador %r" - -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Los usuarios annimos no pueden votar" - -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID de comentario no vlido" - -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "No puedes votarte t mismo" - -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Se precisa esta puntuacin porque ha introducido al menos otra ms." - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Este comentario lo envi un usuario que ha enviado menos de %(count)s " -"comentario:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Este comentario lo envi un usuario que ha enviado menos de %(count)s " -"comentarios:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Slo se admite POST" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "No se proporcion uno o ms de los siguientes campos requeridos" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "" -"Alguien est jugando con el formulario de comentarios (violacin de " -"seguridad)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:292 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"El formulario de comentarios tiene un parmetro 'target' no vlido (el ID de " -"objeto era invlido)" - -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "El formulario de comentario no proporcion 'previsualizar' ni 'enviar'" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Usuario:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Clave:" - -#: contrib/comments/templates/comments/form.html:6 -#, fuzzy -msgid "Forgotten your password?" -msgstr "Cambiar mi clave" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Terminar sesin" - -#: contrib/comments/templates/comments/form.html:12 -#, fuzzy -msgid "Ratings" -msgstr "calificacin 1" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "" - -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy -msgid "Comment:" -msgstr "Comentario" - -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy -msgid "Preview comment" -msgstr "Comentario libre" - -#: contrib/comments/templates/comments/freeform.html:4 -#, fuzzy -msgid "Your name:" -msgstr "nombre de usuario" - -#: contrib/admin/filterspecs.py:40 -#, python-format -msgid "" -"

By %s:

\n" -"
    \n" -msgstr "" -"

    Por %s:

    \n" -"
      \n" - -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "Todo" - -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Cualquier fecha" - -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Hoy" - -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "ltimos 7 das" - -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Este mes" - -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Este ao" - -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "S" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "No" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Desconocido" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "hora de accin" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "id de objeto" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "repr de objeto" - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "marca de accin" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "mensaje de cambio" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "entrada de registro" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "entradas de registro" - -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Todas las fechas" - -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" - -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Identificarse" - -#: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Por favor, identifquese de nuevo, porque su sesin ha caducado. No se " -"preocupe: se ha guardado su envo." - -#: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Parece que su navegador no est configurado para aceptar cookies. Actvelas " -"por favor, recargue esta pgina, e intntelo de nuevo." - -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Los nombres de usuario no pueden contener el carcter '@'." - -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" -"Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " -"lugar." - -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Sitio administrativo" - -#: contrib/admin/views/main.py:260 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Se aadi con xito el %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Puede editarlo de nuevo abajo." - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 -#, python-format -msgid "You may add another %s below." -msgstr "Puede agregar otro %s abajo." - -#: contrib/admin/views/main.py:290 -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Agregado %s." - -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "y" - -#: contrib/admin/views/main.py:338 -#, python-format -msgid "Changed %s." -msgstr "Modificado %s." - -#: contrib/admin/views/main.py:340 -#, python-format -msgid "Deleted %s." -msgstr "Borrado %s." - -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "No ha cambiado ningn campo." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "Se modific con xito el %(name)s \"%(obj)s." - -#: contrib/admin/views/main.py:354 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"Se agreg con xito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." - -#: contrib/admin/views/main.py:392 -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#: contrib/admin/views/main.py:470 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:475 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o ms %(fieldname)s en %(name)s:" - -#: contrib/admin/views/main.py:508 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se elimin con xito el %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Est seguro?" - -#: contrib/admin/views/main.py:533 -#, python-format -msgid "Change history: %s" -msgstr "Modificar histrico: %s" - -#: contrib/admin/views/main.py:565 -#, python-format -msgid "Select %s" -msgstr "Escoja %s" - -#: contrib/admin/views/main.py:565 -#, python-format -msgid "Select %s to change" -msgstr "Escoja %s para modificar" - -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 -msgid "Integer" -msgstr "Entero" - -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Cadena (mximo %(maxlength)s)" - -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Direccin de correo electrnico" - -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Ruta de fichero" - -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Nmero decimal" - -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relacin con el modelo padre" - -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Nmero de telfono" - -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Texto" - -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Hora" - -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado de los EEUU (dos letras maysculas)" - -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" -msgstr "Documentacin" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Change password" -msgstr "Cambiar clave" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "Inicio" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Histrico" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Fecha/hora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuario" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Accin" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "" - -#: 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 "" -"Este objeto no tiene histrico de cambios. Probablemente no fue aadido " -"usando este sitio de administracin." - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Sitio de administracin de Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administracin de Django" - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Error del servidor" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error de servidor (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 "" -"Ha ocurrido un error. Se ha informado a los administradores del sitio " -"mediante correo electrnico y debera arreglarse en breve. Gracias por su " -"paciencia" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Pgina no encontrada" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la pgina solicitada." - -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "" - -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Agregar" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Acciones recientes" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mis acciones" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Ninguno disponible" - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Ha olvidado su clave?" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Bienvenido," - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Eliminar" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(object)s' provocara la eliminacin de " -"objetos relacionados, pero su cuenta no tiene permiso para borrar los " -"siguientes tipos de objetos:" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"Est seguro de que quiere borrar los %(object_name)s \"%(object)s\"? Se " -"borrarn los siguientes objetos relacionados:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "S, estoy seguro" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Por %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Buscar" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Ver en el sitio" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Por favor, corrija el siguiente error." -msgstr[1] "Por favor, corrija los siguientes errores." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordenacin" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Orden:" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Grabar como nuevo" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Grabar y aadir otro" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Grabar" - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "Cambio de clave" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Cambio de clave exitoso" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Su clave ha sido cambiada." - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "Recuperar clave" - -#: 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 "" -"Ha olvidado su clave? Introduzca su direccin de correo electrnico, y " -"crearemos una nueva que le enviaremos por correo." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Direccin de correo electrnico:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Recuperar mi clave" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Identificarse de nuevo" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Recuperacin de clave exitosa" - -#: 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 "" -"Le hemos enviado una clave nueva a la direccin que ha suministrado. Debera " -"recibirla en breve." - -#: 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 "" -"Por favor, introduzca su clave antigua, por seguridad, y despus introduzca " -"la nueva clave dos veces para verificar que la ha escrito correctamente." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Clave antigua:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Clave nueva:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirme clave:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Cambiar mi clave" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Est recibiendo este mensaje debido a que solicit recuperar la clave" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "de su cuenta de usuario en %(site_name)s." - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Su nueva clave es: %(new_password)s" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Puede cambiarla accediendo a esta pgina:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Gracias por usar nuestro sitio!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklets de documentacin" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

      To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

      \n" -msgstr "" -"\n" -"

      Para instalar bookmarklets, arrastre el enlace a su barra\n" -"de favoritos, o pulse con el botn derecho el enlace y adalo a sus " -"favoritos.\n" -"Ahora puede escoger el bookmarklet desde cualquier pgina en el sitio.\n" -"Observer que algunos de estos bookmarklets precisan que est viendo\n" -"el sitio desde un computador sealado como \"interno\" (hable\n" -"con su administrador de sistemas si no est seguro de si el suyo lo es).\n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentacin de esta pgina" - -#: 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 "" -"Le lleva desde cualquier pgina a la documentacin de la vista que la genera." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostrar ID de objeto" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " -"nico objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar este objeto (ventana actual)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Le lleva a la pgina de administracin de pginas que representan un nico " -"objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar este objeto (nueva ventana)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "" -"Como antes, pero abre la pgina de administracin en una nueva ventana." - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Fecha:" - -#: contrib/admin/templates/widget/date_time.html:4 -#, fuzzy -msgid "Time:" -msgstr "Hora" - -#: contrib/admin/templates/widget/file.html:2 -#, fuzzy -msgid "Currently:" -msgstr "Actualmente" - -#: contrib/admin/templates/widget/file.html:3 -#, fuzzy -msgid "Change:" -msgstr "Modificar" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigir desde" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Esta ruta debera ser absoluta, excluyendo el nombre de dominio. Ejeplo: '/" -"events/search/'." - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigir a" - -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Esto puede ser bien una ruta absoluta (como antes) o una URL completa que " -"empiece con 'http://'." - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redireccin" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirecciones" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " -"final." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "ttulo" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenido" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "admitir comentarios" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nombre de plantilla" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Ejemplo: 'flatpages/contact_page'. Si no lo proporciona, el sistema usar " -"'flatpages/default'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "debe estar registrado" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Si est marcado, slo los usuarios registrados podrn ver la pgina." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "pgina esttica" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pginas estticas" - -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nombre" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nombre en cdigo" - -#: contrib/auth/models.py:17 -#, fuzzy -msgid "permission" -msgstr "Permiso" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy -msgid "permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:29 -#, fuzzy -msgid "group" -msgstr "Grupo" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy -msgid "groups" -msgstr "Grupos" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nombre de usuario" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "nombre" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "apellidos" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "direccin de correo" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "clave" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Use '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "es staff" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Indica si el usuario puede entrar en este sitio de administracin." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "activo" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "es superusuario" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "ltimo registro" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "fecha de creacin" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Adems de los permisos asignados manualmente, este usuario tambin tendr " -"todos los permisos de los grupos en los que est." - -#: contrib/auth/models.py:67 -#, fuzzy -msgid "user permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:70 -#, fuzzy -msgid "user" -msgstr "Usuario" - -#: contrib/auth/models.py:71 -#, fuzzy -msgid "users" -msgstr "Usuarios" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Informacin personal" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Fechas importantes" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupos" - -#: contrib/auth/models.py:219 -#, fuzzy -msgid "message" -msgstr "Mensaje" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" - -#: contrib/contenttypes/models.py:25 -#, fuzzy -msgid "python model class name" -msgstr "nombre de mdulo python" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo de contenido" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipos de contenido" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "clave de sesin" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "datos de sesin" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "fecha de caducidad" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "sesin" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sesiones" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nombre de dominio" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nombre para mostrar" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "sitio" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "sitios" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "" - #: utils/dates.py:6 msgid "Monday" msgstr "Lunes" @@ -1424,54 +96,52 @@ msgid "December" msgstr "Diciembre" #: utils/dates.py:19 -#, fuzzy msgid "jan" -msgstr "y" +msgstr "ene" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mar" #: utils/dates.py:19 msgid "apr" -msgstr "" +msgstr "abr" #: utils/dates.py:19 -#, fuzzy msgid "may" -msgstr "da" +msgstr "may" #: utils/dates.py:19 msgid "jun" -msgstr "" +msgstr "jun" #: utils/dates.py:20 msgid "jul" -msgstr "" +msgstr "jul" #: utils/dates.py:20 msgid "aug" -msgstr "" +msgstr "ago" #: utils/dates.py:20 msgid "sep" -msgstr "" +msgstr "sep" #: utils/dates.py:20 msgid "oct" -msgstr "" +msgstr "oct" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" -msgstr "" +msgstr "dic" #: utils/dates.py:27 msgid "Jan." @@ -1516,8 +186,8 @@ msgstr[1] "meses" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "semana" +msgstr[1] "semanas" #: utils/timesince.py:15 msgid "day" @@ -1537,185 +207,394 @@ msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: conf/global_settings.py:37 +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j N Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "j \\de F" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "rabe" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengal" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Cataln" + +#: conf/global_settings.py:42 msgid "Czech" msgstr "Checo" -#: conf/global_settings.py:39 +#: conf/global_settings.py:43 msgid "Welsh" msgstr "Gals" -#: conf/global_settings.py:40 +#: conf/global_settings.py:44 msgid "Danish" msgstr "Dans" -#: conf/global_settings.py:41 +#: conf/global_settings.py:45 msgid "German" msgstr "Alemn" -#: conf/global_settings.py:42 +#: conf/global_settings.py:46 msgid "Greek" -msgstr "" +msgstr "Griego" -#: conf/global_settings.py:43 +#: conf/global_settings.py:47 msgid "English" msgstr "Ingls" -#: conf/global_settings.py:44 +#: conf/global_settings.py:48 msgid "Spanish" msgstr "Espaol" -#: conf/global_settings.py:45 +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Espaol Argentino" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Fins" + +#: conf/global_settings.py:51 msgid "French" msgstr "Francs" -#: conf/global_settings.py:46 +#: conf/global_settings.py:52 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:47 +#: conf/global_settings.py:53 msgid "Hungarian" -msgstr "" +msgstr "Hngaro" -#: conf/global_settings.py:48 +#: conf/global_settings.py:54 msgid "Hebrew" -msgstr "" +msgstr "Hebreo" -#: conf/global_settings.py:49 +#: conf/global_settings.py:55 msgid "Icelandic" msgstr "Islands" -#: conf/global_settings.py:50 +#: conf/global_settings.py:56 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:51 +#: conf/global_settings.py:57 msgid "Japanese" +msgstr "Japons" + +#: conf/global_settings.py:58 +msgid "Latvian" msgstr "" -#: conf/global_settings.py:52 +#: conf/global_settings.py:59 +msgid "Macedonian" +msgstr "Macedonio" + +#: conf/global_settings.py:60 msgid "Dutch" -msgstr "" +msgstr "Alemn" -#: conf/global_settings.py:53 +#: conf/global_settings.py:61 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:54 +#: conf/global_settings.py:62 +msgid "Polish" +msgstr "Polaco" + +#: conf/global_settings.py:63 msgid "Brazilian" msgstr "Brasileo" -#: conf/global_settings.py:55 +#: conf/global_settings.py:64 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:56 +#: conf/global_settings.py:65 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:57 +#: conf/global_settings.py:66 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:58 -#, fuzzy +#: conf/global_settings.py:67 msgid "Slovenian" -msgstr "Eslovaco" +msgstr "Esloveno" -#: conf/global_settings.py:59 +#: conf/global_settings.py:68 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:60 +#: conf/global_settings.py:69 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:61 -#, fuzzy -msgid "Ukrainian" -msgstr "Brasileo" +#: conf/global_settings.py:70 +msgid "Tamil" +msgstr "Tamil" -#: conf/global_settings.py:62 +#: conf/global_settings.py:71 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:72 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: conf/global_settings.py:73 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:63 +#: conf/global_settings.py:74 msgid "Traditional Chinese" -msgstr "" +msgstr "Chino tradicional" -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor debe contener slo letras, nmeros y guiones bajos." +#: db/models/manipulators.py:305 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s de este %(type)s ya existen en este %(field)s." -#: core/validators.py:64 -#, fuzzy -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Este valor debe contener slo letras, nmeros, guiones bajos y barras (/)." +#: db/models/manipulators.py:306 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "y" -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "No se admiten letras maysculas." +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor, introduzca un %s vlido." -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "No se admiten letras minsculas." +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separe mltiples IDs con comas." -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Introduzca slo dgitos separados por comas." +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Mantenga presionado \"Control\", o \"Command\" en un Mac, para seleccionar ms de uno." -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Introduzca direcciones de correo vlidas separadas por comas." +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Por favor, introduzca IDs de %(self)s vlidos. El valor %(value)r no es " +"vlido." +msgstr[1] "" +"Por favor, introduzca IDs de %(self)s vlidos. Los valores %(value)r no son " +"vlidos." -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Por favor introduzca una direccin IP vlida." +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Ya existe %(optname)s con este %(fieldname)s." -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "No se admiten valores vacos." +#: db/models/fields/__init__.py:116 db/models/fields/__init__.py:273 +#: db/models/fields/__init__.py:605 db/models/fields/__init__.py:616 +#: newforms/models.py:177 newforms/fields.py:78 newforms/fields.py:374 +#: newforms/fields.py:450 newforms/fields.py:461 oldforms/__init__.py:352 +msgid "This field is required." +msgstr "Este campo es obligatorio." -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "No se admiten caracteres no numricos." +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Este valor debe ser un entero." -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Este valor no puede comprender slo dgitos." +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Este valor debe ser Verdadero o Falso." -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Introduzca un nmero entero." +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Este campo no puede estar vaco." -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Slo se admiten caracteres alfabticos." - -#: core/validators.py:124 +#: db/models/fields/__init__.py:454 core/validators.py:147 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Introduzca una hora vlida en formato HH:MM." - -#: core/validators.py:132 db/models/fields/__init__.py:468 +#: db/models/fields/__init__.py:521 core/validators.py:156 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Introduzca una fecha/hora vlida en formato YYYY-MM-DD HH:MM." +msgstr "Introduzca una fecha/hora vlida en formato AAAA-MM-DD HH:MM." -#: core/validators.py:136 +#: db/models/fields/__init__.py:625 +msgid "Enter a valid filename." +msgstr "Introduzca un nombre de fichero vlido" + +#: template/defaultfilters.py:436 +msgid "yes,no,maybe" +msgstr "si,no,tal vez" + +#: newforms/models.py:164 newforms/fields.py:360 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Escoja una opcin vlida. Esa opcin no est entre las aceptadas." + +#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +#: newforms/models.py:187 newforms/fields.py:387 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Escoja una opcin vlida; '%s' no es una de las opciones disponibles." + +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Asegrese de que su texto tiene a lo ms %d caracteres." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Asegrese de que su texto tiene al menos %d caracteres." + +#: newforms/fields.py:126 core/validators.py:120 +msgid "Enter a whole number." +msgstr "Introduzca un nmero entero." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Asegrese de que este valor es menor o igual a %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asegrese de que este valor es mayor o igual a %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Introduzca una fecha vlida." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Introduzca una hora vlida." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora vlida." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Introduzca un valor correcto." + +#: newforms/fields.py:269 core/validators.py:161 msgid "Enter a valid e-mail address." msgstr "Introduzca una direccin de correo electrnico vlida" -#: core/validators.py:148 +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Introduzca una URL vlida." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." + +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Desconocido" + +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "S" + +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "No" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Este valor debe contener slo letras, nmeros y guiones bajos." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Este valor debe contener letras, nmeros, guiones bajos o barras solamente." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Este valor debe contener slo letras, nmeros, guiones bajos o medios." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "No se admiten letras maysculas." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "No se admiten letras minsculas." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Introduzca slo dgitos separados por comas." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introduzca direcciones de correo vlidas separadas por comas." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Por favor introduzca una direccin IP vlida." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "No se admiten valores vacos." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "No se admiten caracteres no numricos." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Este valor no puede comprender slo dgitos." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Slo se admiten caracteres alfabticos." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "El ao debe ser 1900 o posterior." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s." +msgstr "Fecha no vlida: %s" + +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Introduzca una hora vlida en formato HH:MM." + +#: core/validators.py:173 core/validators.py:443 oldforms/__init__.py:667 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se ha enviado ningn fichero. Compruebe el tipo de codificacin en el " +"formulario." + +#: core/validators.py:177 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -1723,28 +602,28 @@ msgstr "" "Enve una imagen vlida. El fichero que ha enviado no era una imagen o se " "trataba de una imagen corrupta." -#: core/validators.py:155 +#: core/validators.py:184 #, python-format msgid "The URL %s does not point to a valid image." msgstr "La URL %s no apunta a una imagen vlida." -#: core/validators.py:159 +#: core/validators.py:188 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "" "Los nmeros de telfono deben guardar el formato XXX-XXX-XXXX format. \"%s\" " "no es vlido." -#: core/validators.py:167 +#: core/validators.py:196 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "La URL %s no apunta a un vdeo QuickTime vlido." -#: core/validators.py:171 +#: core/validators.py:200 msgid "A valid URL is required." msgstr "Se precisa una URL vlida." -#: core/validators.py:185 +#: core/validators.py:214 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -1753,73 +632,87 @@ msgstr "" "Se precisa HTML vlido. Los errores especficos son:\n" "%s" -#: core/validators.py:192 +#: core/validators.py:221 #, python-format msgid "Badly formed XML: %s" msgstr "XML mal formado: %s" -#: core/validators.py:202 +#: core/validators.py:238 #, python-format msgid "Invalid URL: %s" msgstr "URL no vlida: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:243 core/validators.py:245 #, python-format msgid "The URL %s is a broken link." msgstr "La URL %s es un enlace roto." -#: core/validators.py:214 +#: core/validators.py:251 msgid "Enter a valid U.S. state abbreviation." msgstr "Introduzca una abreviatura vlida de estado de los EEUU." -#: core/validators.py:229 +#: core/validators.py:265 #, 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] "Vigila tu boca! Aqu no admitimos la palabra %s." -msgstr[1] "Vigila tu boca! Aqu no admitimos las palabras %s." +msgstr[0] "Cuida tu vocabulario! Aqu no admitimos la palabra %s." +msgstr[1] "Cuida tu vocabulario! Aqu no admitimos las palabras %s." -#: core/validators.py:236 +#: core/validators.py:272 #, python-format msgid "This field must match the '%s' field." msgstr "Este campo debe concordar con el campo '%s'." -#: core/validators.py:255 +#: core/validators.py:291 msgid "Please enter something for at least one field." msgstr "Por favor, introduzca algo en al menos un campo." -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:300 core/validators.py:311 msgid "Please enter both fields or leave them both empty." msgstr "Por favor, rellene ambos campos o deje ambos vacos." -#: core/validators.py:282 +#: core/validators.py:318 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" -#: core/validators.py:294 +#: core/validators.py:330 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" -#: core/validators.py:313 +#: core/validators.py:349 msgid "Duplicate values are not allowed." msgstr "No se admiten valores duplicados." -#: core/validators.py:336 +#: core/validators.py:364 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Este valor debe estar entre %(lower)s y %(upper)s." + +#: core/validators.py:367 +#, python-format +msgid "This value must be at least %s." +msgstr "Este valor debe ser como mnimo %s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be no more than %s." +msgstr "Este valor no debe ser mayor que %s." + +#: core/validators.py:405 #, python-format msgid "This value must be a power of %s." msgstr "Este valor debe ser una potencia de %s." -#: core/validators.py:347 +#: core/validators.py:416 msgid "Please enter a valid decimal number." msgstr "Por favor, introduzca un nmero decimal vlido." -#: core/validators.py:349 +#: core/validators.py:420 #, 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] "" "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en " "total." @@ -1827,11 +720,21 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en " "total." -#: core/validators.py:352 +#: core/validators.py:423 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en " +"total." +msgstr[1] "" +"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en " +"total." + +#: core/validators.py:426 #, 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] "" "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito " "decimal." @@ -1839,38 +742,37 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos " "decimales." -#: core/validators.py:362 +#: core/validators.py:436 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "Asegrese de que el fichero que enva tiene al menos %s bytes." -#: core/validators.py:363 +#: core/validators.py:437 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "Asegrese de que el fichero que enva tiene como mximo %s bytes." -#: core/validators.py:376 +#: core/validators.py:454 msgid "The format for this field is wrong." msgstr "El formato de este campo es incorrecto." -#: core/validators.py:391 +#: core/validators.py:469 msgid "This field is invalid." msgstr "Este campo no es vlido." -#: core/validators.py:426 +#: core/validators.py:505 #, python-format msgid "Could not retrieve anything from %s." msgstr "No pude obtener nada de %s." -#: core/validators.py:429 +#: core/validators.py:508 #, 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 "" "La URL %(url)s devolvi la cabecera Content-Type '%(contenttype)s', que no " "es vlida." -#: core/validators.py:462 +#: core/validators.py:541 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -1879,7 +781,7 @@ msgstr "" "Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:466 +#: core/validators.py:545 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -1888,7 +790,7 @@ msgstr "" "Parte del texto que comienza en la lnea %(line)s no est permitido en ese " "contexto. (La lnea empieza por \"%(start)s\".)" -#: core/validators.py:471 +#: core/validators.py:550 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -1897,7 +799,7 @@ msgstr "" "El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:476 +#: core/validators.py:555 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -1906,7 +808,7 @@ msgstr "" "La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:480 +#: core/validators.py:559 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -1915,7 +817,7 @@ msgstr "" "A una etiqueta de la lnea %(line)s le faltan uno o ms atributos " "requeridos. (La lnea empieza por \"%(start)s\".)" -#: core/validators.py:485 +#: core/validators.py:564 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -1924,132 +826,1546 @@ msgstr "" "El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " "vlido. (La lnea empieza por \"%(start)s\".)" -#: db/models/manipulators.py:302 -#, fuzzy, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "Ya existe %(optname)s con este %(fieldname)s." - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "Ya existe %(optname)s con este %(fieldname)s." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Este campo es obligatorio." - -#: db/models/fields/__init__.py:337 -#, fuzzy -msgid "This value must be an integer." -msgstr "Este valor debe ser una potencia de %s." - -#: db/models/fields/__init__.py:369 -#, fuzzy -msgid "This value must be either True or False." -msgstr "Este valor debe ser una potencia de %s." - -#: db/models/fields/__init__.py:385 -#, fuzzy -msgid "This field cannot be null." -msgstr "Este campo no es vlido." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Introduzca un nombre de fichero vlido" - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Por favor, introduzca un %s vlido." - -#: db/models/fields/related.py:579 -#, fuzzy -msgid "Separate multiple IDs with commas." -msgstr " Separe mltiples IDs con comas." - -#: db/models/fields/related.py:581 -#, fuzzy -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Pulse \"Control\" o \"Command\" en un Mac para escoger ms de uno." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "" -"Por favor, introduzca IDs de %(self)s vlidos. El valor %(value)r no es " -"vlido." -msgstr[1] "" -"Por favor, introduzca IDs de %(self)s vlidos. Los valores %(value)r no son " -"vlidos." - -#: forms/__init__.py:380 +#: oldforms/__init__.py:387 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." msgstr[0] "Asegrese de que su texto tiene menos de %s carcter." msgstr[1] "Asegrese de que su texto tiene menos de %s caracteres." -#: forms/__init__.py:385 +#: oldforms/__init__.py:392 msgid "Line breaks are not allowed here." msgstr "No se permiten saltos de lnea." -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 +#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Escoja una opcin vlida; '%(data)s' no est en %(choices)s." -#: forms/__init__.py:645 +#: oldforms/__init__.py:669 msgid "The submitted file is empty." msgstr "El fichero enviado est vaco." -#: forms/__init__.py:699 +#: oldforms/__init__.py:725 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Introduzca un nmero entero entre -32,768 y 32,767." -#: forms/__init__.py:708 +#: oldforms/__init__.py:735 msgid "Enter a positive number." msgstr "Introduzca un nmero positivo." -#: forms/__init__.py:717 +#: oldforms/__init__.py:745 msgid "Enter a whole number between 0 and 32,767." msgstr "Introduzca un nmero entero entre 0 y 32,767." -#: template/defaultfilters.py:379 -msgid "yes,no,maybe" -msgstr "si,no,tal vez" +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "nombre de mdulo python" -#~ msgid "Comment" -#~ msgstr "Comentario" +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "tipo de contenido" -#~ msgid "Comments" -#~ msgstr "Comentarios" +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "tipos de contenido" -#~ msgid "String (up to 50)" -#~ msgstr "Cadena (mximo 50)" +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:318 +msgid "URL" +msgstr "URL" -#~ msgid "label" -#~ msgstr "etiqueta" +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " +"final." -#~ msgid "package" -#~ msgstr "paquete" +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "ttulo" -#~ msgid "packages" -#~ msgstr "paquetes" +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenido" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "admitir comentarios" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nombre de plantilla" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Ejemplo: 'flatpages/contact_page.html'. Si no es proporcionado, el sistema usar " +"'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "debe estar registrado" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si est marcado, slo los usuarios registrados podrn ver la pgina." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pgina esttica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pginas estticas" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Sesin terminada" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nombre" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "nombre en cdigo" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "permiso" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "permisos" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grupo" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "grupos" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "nombre de usuario" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Requerido. 30 caracteres o menos. Slo caracteres alfanumricos (letras, " +"dgutos y guiones bajos)." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "nombre" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "apellidos" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "direccin de correo" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "clave" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Use'[algo]$[sal]$[hash hexadecimal]' o use el " +"formulario para cambiar la contrasea." + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "es staff" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si el usuario puede entrar en este sitio de administracin." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "activo" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Indica si el usuario puede entrar en este sitio de administracin. Desmarque " +"esto en lugar de borrar la cuenta." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "es superusuario" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Indica que este usuario tiene todos los permisos sin asignrselos " +"explcitamente." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ltimo registro" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "fecha de creacin" + +#: 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 "" +"Adems de los permisos asignados manualmente, este usuario tambin tendr " +"todos los permisos de los grupos en los que est." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "permisos" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "usuario" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "usuarios" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Informacin personal" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Permisos" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Fechas importantes" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "mensaje" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Las dos contraseas no coinciden." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ya existe un usuario con este nombre." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Tu navegador de internet parece no tener las cookies habilitadas. Las " +"cookies se necesitan para poder ingresar." + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Por favor, introduzca un correcto nombre de usuario y contrasea. Note que " +"ambos campos son sensibles a maysculas/minsculas." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta cuenta est inactiva." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Esta direccin de correo electrnico no tiene una cuenta de usuario " +"asociada. Est seguro de que se ha registrado?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Las contraseas introducidas en los campos 'nueva contrasea' no coinciden." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" +"Tu contrasea antgua es incorrecta. Por favor, vuelve a introducirla " +"correctamente." + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ID de objeto" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "encabezado" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "comentario" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "calificacin 1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "calificacin 2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "calificacin 3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "calificacin 4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "calificacin 5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "calificacin 6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "calificacin 7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "calificacin 8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "es calificacin vlida" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "fecha/hora de envo" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "es pblico" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:307 +msgid "IP address" +msgstr "Direccin IP" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "est eliminado" + +#: 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 "" +"Marque esta caja si el comentario es inapropiado. En su lugar se mostrar " +"\"Este comentario ha sido eliminado\"." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "comentarios" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Objeto contenido" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Enviado por %(user)s en %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "nombre de la persona" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "direccin ip" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "aprobado por el staff" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "comentario libre" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "comentarios libres" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "puntuacin" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "fecha de la puntuacin" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "punto karma" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "puntos karma" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "puntuado %(score)d por %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Este comentario fue marcado por %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "fecha de la marca" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "marca de usuario" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "marcas de usuario" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Marca de %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "fecha de eliminacin" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "eliminacin de moderador" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "eliminaciones de moderador" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Eliminacin del moderador %r" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Tu nombre:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Comentario:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Previsualizar comentario" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Usuario:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Log out" +msgstr "Terminar sesin" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Clave:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Has olvidado tu contrasea?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Calificaciones" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Requerido" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Opcional" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Postea una fotografa" + +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Se precisa esta puntuacin porque ha introducido al menos otra ms." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"Este comentario lo envi un usuario que ha enviado menos de %(count)s " +"comentario:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Este comentario lo envi un usuario que ha enviado menos de %(count)s " +"comentarios:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Este comentario ha sido colocado por un usuario poco preciso: \n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Slo se admite 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 "No se proporcion uno o ms de los siguientes campos requeridos" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "" +"Alguien est jugando con el formulario de comentarios (violacin de " +"seguridad)" + +#: 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 "" +"El formulario de comentarios tiene un parmetro 'target' no vlido (el ID de " +"objeto era invlido)" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "El formulario de comentario no proporcion 'previsualizar' ni 'enviar'" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Los usuarios annimos no pueden votar" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID de comentario no vlido" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "No puedes votarte t mismo" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigir desde" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Esta ruta debera ser absoluta, excluyendo el nombre de dominio. Ejeplo: '/" +"events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigir a" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Esto puede ser bien una ruta absoluta (como antes) o una URL completa que " +"empiece con 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redireccin" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirecciones" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nombre de dominio" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nombre para mostrar" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sitio" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sitios" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

      By %s:

      \n" +"
        \n" +msgstr "" +"

        Por %s:

        \n" +"
          \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Todo" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Cualquier fecha" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Hoy" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "ltimos 7 das" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Este mes" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Este ao" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "hora de accin" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "id de objeto" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "repr de objeto" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "marca de accin" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "mensaje de cambio" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "entrada de registro" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "entradas de registro" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualmente:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Fecha:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "Cambiar clave" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Home" +msgstr "Inicio" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "Documentacin" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklets de documentacin" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

          To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

          \n" +msgstr "" +"\n" +"

          Para instalar bookmarklets, arrastre el enlace a su barra\n" +"de favoritos, o pulse con el botn derecho el enlace y adalo a sus " +"favoritos.\n" +"Ahora puede escoger el bookmarklet desde cualquier pgina en el sitio.\n" +"Observer que algunos de estos bookmarklets precisan que est viendo\n" +"el sitio desde un computador sealado como \"interno\" (hable\n" +"con su administrador de sistemas si no est seguro de si el suyo lo es).\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentacin de esta pgina" + +#: 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 "Le lleva desde cualquier pgina a la documentacin de la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostrar ID de objeto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " +"nico objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Le lleva a la pgina de administracin de pginas que representan un nico " +"objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Como antes, pero abre la pgina de administracin en una nueva ventana." + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (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 "" +"Ha ocurrido un error. Se ha informado a los administradores del sitio " +"mediante correo electrnico y debera arreglarse en breve. Gracias por su " +"paciencia" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Histrico" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Fecha/hora" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Usuario" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Accin" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" + +#: 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 "" +"Este objeto no tiene histrico de cambios. Probablemente no fue aadido " +"usando este sitio de administracin." + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administracin de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administracin de Django" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bienvenido," + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Identificarse" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocara la eliminacin " +"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " +"siguientes tipos de objetos:" + +#: 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 "" +"Est seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" +"\"? Se borrarn los siguientes objetos relacionados:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "S, estoy seguro" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pgina no encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la pgina solicitada." + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y aadir otro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelos disponibles en la aplicacin %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Agregar" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguno disponible" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrarlo todo" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Ver en el sitio" + +#: contrib/admin/templates/admin/change_form.html:32 +#: 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] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordenacin" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Orden:" + +#: 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 "" +"Algo va mal con la instalacin de la base de datos. Asegrate que las tablas " +"necesarias han sido creadas, y que la base de datos puede ser leida por el " +"usuario apropiado." + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: 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 "" +"Primero, introduzca un nombre de usuario y una contrasea. Luego, podr " +"editar el resto de opciones del usuario." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Contrasea" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Contrasea (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Introduzca la misma contrasea que arriba, para verificacin" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contrasea para el usuario %(username)s." + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Recuperar clave" + +#: 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 "" +"Ha olvidado su clave? Introduzca su direccin de correo electrnico, y " +"crearemos una nueva que le enviaremos por correo." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Direccin de correo electrnico:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi clave" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Est recibiendo este mensaje debido a que solicit recuperar la clave" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "de su cuenta de usuario en %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Su nueva clave es: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puede cambiarla accediendo a esta pgina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gracias por usar nuestro sitio!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Recuperacin de clave exitosa" + +#: 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 "" +"Le hemos enviado una clave nueva a la direccin que ha suministrado. Debera " +"recibirla en breve." + +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Password change" +msgstr "Cambio de clave" + +#: 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 "" +"Por favor, introduzca su clave antigua, por seguridad, y despus introduzca " +"la nueva clave dos veces para verificar que la ha escrito correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Clave antigua:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Clave nueva:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirme clave:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Cambiar mi clave" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Cambio de clave exitoso" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Su clave ha sido cambiada." + +#: contrib/admin/templatetags/admin_list.py:238 +msgid "All dates" +msgstr "Todas las fechas" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Por favor, identifquese de nuevo, porque su sesin ha caducado. No se " +"preocupe: se ha guardado su envo." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Parece que su navegador no est configurado para aceptar cookies. Actvelas " +"por favor, recargue esta pgina, e intntelo de nuevo." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Los nombres de usuario no pueden contener el carcter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " +"lugar." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiqueta:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "vista:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Applicacin %r no encontrada" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "El modelo %(model_name)s no se ha encontrado en la aplicacin %(app_label)r" + +#: contrib/admin/views/doc.py:184 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "el objeto relacionado`%(app_label)s.%(data_type)s` " + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:222 contrib/admin/views/doc.py:227 +msgid "model:" +msgstr "modelo:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "los objetos relacionados `%(app_label)s.%(object_name)s`" + +#: contrib/admin/views/doc.py:222 +#, python-format +msgid "all %s" +msgstr "todo %s" + +#: contrib/admin/views/doc.py:227 +#, python-format +msgid "number of %s" +msgstr "nmero de %s" + +#: contrib/admin/views/doc.py:232 +#, python-format +msgid "Fields on %s objects" +msgstr "Campos en %s objetos" + +#: contrib/admin/views/doc.py:294 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 +msgid "Integer" +msgstr "Entero" + +#: contrib/admin/views/doc.py:295 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#: contrib/admin/views/doc.py:296 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Cadena (mximo %(maxlength)s)" + +#: contrib/admin/views/doc.py:297 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#: contrib/admin/views/doc.py:298 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#: contrib/admin/views/doc.py:299 +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "Direccin de correo electrnico" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Ruta de fichero" + +#: contrib/admin/views/doc.py:303 +msgid "Decimal number" +msgstr "Nmero decimal" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Relacin con el modelo padre" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Nmero de telfono" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Texto" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Hora" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado de los EEUU (dos letras maysculas)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "Texto XML" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s no parece ser un objeto urlpattern" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Sitio administrativo" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Se aadi con xito el %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "Puede editarlo de nuevo abajo." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Puede agregar otro %s abajo." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Agregado %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificado %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Borrado %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "No ha cambiado ningn campo." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Se modific con xito el %(name)s \"%(obj)s." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Se agreg con xito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#: contrib/admin/views/main.py:473 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:478 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o ms %(fieldname)s en %(name)s:" + +#: contrib/admin/views/main.py:511 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se elimin con xito el %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "Est seguro?" + +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "Modificar histrico: %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s" +msgstr "Escoja %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s to change" +msgstr "Escoja %s para modificar" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Erorr en la base de datos" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aadir usuario" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La clave se ha cambiado exitosamente." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar clave: %s" + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introduzca un cdigo zip en el formato XXXXX o XXXX-XXXX." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Introduzca in cdigo postal. Se necesita un espacio entre las dos partes del " +"cdigo." + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "clave de sesin" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "datos de sesin" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "fecha de caducidad" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "sesin" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sesiones" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "El %(verbose_name)s se ha creado correctamente." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualiz con xito el %(verbose_name)s." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "El %(verbose_name)s ha sido eliminado." -#, fuzzy -#~ msgid "" -#~ "Please enter a valid decimal number with a whole part of at most %s digit." -#~ msgid_plural "" -#~ "Please enter a valid decimal number with a whole part of at most %s " -#~ "digits." -#~ msgstr[0] "" -#~ "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en " -#~ "total." -#~ msgstr[1] "" -#~ "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en " -#~ "total." diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index a247bb23858e243def5ce0c0b5f50e08980e4ebe..b7f777611b1d17eedf5809d93b7ef03695339b51 100644 GIT binary patch delta 12327 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 z zQK6T|H5$qR(#MC@{cqnMt$0OAWTP`f`8xNJ<@ojFyI-QsYoDqaUC5^>XZ??H?x)Bb j>Q^;0Hu5c67}{J_q>s_Xs@{>0QP*1+)QG8c7FquX&FQsl delta 9945 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 U-o7E(^WP2C-oBC5h4ZZc2fb1H>;M1& diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.po b/django/conf/locale/es_AR/LC_MESSAGES/django.po index 36cae2f7f2..c299f2c502 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -1,15 +1,14 @@ # Translation of django.po to Argentinean spanish, based on Spanish # translation work by Ricardo Javier Crdenes Medina. -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. -# Ramiro Morales , 2006. +# This file is distributed under the same license as the Django package. +# Copyright (C) 2006,2007 Ramiro Morales # msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-11-05 19:57-0300\n" -"PO-Revision-Date: 2006-11-05 20:00-0300\n" +"POT-Creation-Date: 2007-02-25 17:21-0300\n" +"PO-Revision-Date: 2007-02-25 17:46-0300\n" "Last-Translator: Ramiro Morales \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -17,15 +16,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/contenttypes/models.py:20 +#: contrib/contenttypes/models.py:26 msgid "python model class name" msgstr "nombre de la clase python del modelo" -#: contrib/contenttypes/models.py:23 +#: contrib/contenttypes/models.py:29 msgid "content type" msgstr "tipo de contenido" -#: contrib/contenttypes/models.py:24 +#: contrib/contenttypes/models.py:30 msgid "content types" msgstr "tipos de contenido" @@ -86,8 +85,12 @@ msgid "password" msgstr "contrasea" #: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Use '[algoritmo]$[salt]$[hexdigest]'" +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Use '[algo]$[salt]$[hexdigest]' o use el formulario de " +"cambio de contrasea." #: contrib/auth/models.py:95 msgid "staff status" @@ -169,15 +172,15 @@ msgstr "Grupos" msgid "message" msgstr "mensaje" -#: contrib/auth/forms.py:16 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 msgid "The two password fields didn't match." msgstr "Los dos campos de contraseas no coinciden entre si." -#: contrib/auth/forms.py:24 +#: contrib/auth/forms.py:25 msgid "A user with that username already exists." msgstr "Ya existe un usuario con ese nombre." -#: contrib/auth/forms.py:52 +#: contrib/auth/forms.py:53 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -185,19 +188,19 @@ msgstr "" "Su navegador Web aparenta no tener cookies activas. Las cookies son un " "requerimiento para poder ingresar." -#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" -"Por favor ingrese un nombre de usuario y una contrasea correctos. Note que " -"ambos campos son sensibles a maysculas/minsculas." +"Por favor introduzca un nombre de usuario y una contrasea correctos. Note " +"que ambos campos son sensibles a maysculas/minsculas." -#: contrib/auth/forms.py:61 +#: contrib/auth/forms.py:62 msgid "This account is inactive." msgstr "Esta cuenta est inactiva" -#: contrib/auth/forms.py:84 +#: contrib/auth/forms.py:85 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -205,11 +208,11 @@ msgstr "" "Esa direccin de e-mail no est asociada a ninguna cuenta de usuario. Est " "seguro de que ya se ha registrado?" -#: contrib/auth/forms.py:116 +#: contrib/auth/forms.py:117 msgid "The two 'new password' fields didn't match." msgstr "Los dos campos 'nueva contrasea' no coinciden entre si." -#: contrib/auth/forms.py:123 +#: contrib/auth/forms.py:124 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "La antigua contrasea ingresada es incorrecta. Por favor ingrsela " @@ -470,13 +473,13 @@ msgstr[1] "" "%(text)s" #: contrib/comments/views/comments.py:116 -#, fuzzy, python-format +#, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"Este comentario ha sido enviado por un usuario 'sketcky':\n" +"Este comentario ha sido enviado por un usuario 'semi-annimo':\n" "\n" "%(text)s" @@ -537,6 +540,7 @@ msgstr "Usuario:" #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -700,15 +704,18 @@ msgstr "Este mes" msgid "This year" msgstr "Este ao" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170 +#: oldforms/__init__.py:572 msgid "Yes" msgstr "S" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170 +#: oldforms/__init__.py:572 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:150 +#: contrib/admin/filterspecs.py:150 newforms/widgets.py:170 +#: oldforms/__init__.py:572 msgid "Unknown" msgstr "Desconocido" @@ -740,7 +747,7 @@ msgstr "entrada de registro" msgid "log entries" msgstr "entradas de registro" -#: contrib/admin/templatetags/admin_list.py:230 +#: contrib/admin/templatetags/admin_list.py:238 msgid "All dates" msgstr "Todas las fechas" @@ -780,13 +787,13 @@ msgstr "" msgid "Site administration" msgstr "Sitio administrativo" -#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18 +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Se agreg con xito %(name)s \"%(obj)s\"." #: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 -#: contrib/admin/views/auth.py:23 +#: contrib/admin/views/auth.py:24 msgid "You may edit it again below." msgstr "Puede modificarlo nuevamente abajo." @@ -932,7 +939,7 @@ msgstr "n #: contrib/admin/views/doc.py:229 #, python-format msgid "Fields on %s objects" -msgstr "Capos en %s objetos" +msgstr "Campos en %s objetos" #: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 #: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 @@ -1007,10 +1014,19 @@ msgstr "Texto XML" msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" -#: contrib/admin/views/auth.py:29 +#: contrib/admin/views/auth.py:30 msgid "Add user" msgstr "Agregar usuario" +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Cambio de contrasea exitoso" + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar contrasea: %S" + #: contrib/admin/templates/widget/file.html:2 msgid "Currently:" msgstr "Actualmente" @@ -1032,6 +1048,7 @@ msgstr "Hora:" #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 @@ -1043,6 +1060,9 @@ msgstr "Documentaci #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -1065,6 +1085,7 @@ msgstr "Cambiar contrase #: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -1075,7 +1096,7 @@ msgid "Home" msgstr "Inicio" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Historia" @@ -1103,7 +1124,7 @@ msgstr "" "Este objeto no tiene historia de modificaciones. Probablemente no fue " "aadido usando este sitio de administracin." -#: contrib/admin/templates/admin/change_list.html:11 +#: contrib/admin/templates/admin/change_list.html:12 #, python-format msgid "Add %(name)s" msgstr "Agregar %(name)s" @@ -1210,21 +1231,22 @@ msgstr "Lo sentimos, pero no se encuentra la p msgid "Filter" msgstr "Filtrar" -#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_form.html:22 msgid "View on site" msgstr "Ver en el sitio" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:32 +#: 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] "Por favor, corrija el siguiente error." msgstr[1] "Por favor, corrija los siguientes errores." -#: contrib/admin/templates/admin/change_form.html:48 +#: contrib/admin/templates/admin/change_form.html:50 msgid "Ordering" msgstr "Ordenacin" -#: contrib/admin/templates/admin/change_form.html:51 +#: contrib/admin/templates/admin/change_form.html:53 msgid "Order:" msgstr "Orden:" @@ -1287,30 +1309,40 @@ msgstr "" "tablas de la misma hayan sido creadas, y asegrese de que el usuario " "apropiado tenga permisos de escritura en la base de datos." +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contrasena para el usuario %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Contrasea:" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Contrasea (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Para verificacin, introduzca la misma contrasea que ingres arriba." + #: 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 "" -"Primero, ingrese un nombre de usuario y una contrasea. Luego podr " +"Primero, introduzca un nombre de usuario y una contrasea. Luego podr " "configurar opciones adicionales." #: contrib/admin/templates/admin/auth/user/add_form.html:12 msgid "Username" msgstr "Nombre de usuario:" -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "Contrasea:" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "Contrasea (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "Para verificacin, ingrese la misma contrasea que ingres arriba." - #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -1498,6 +1530,16 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Como antes, pero abre la pgina de administracin en una nueva ventana." +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Introduzca un postcode. Se requiere un espacio entre ambas partes del " +"postcode." + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introduzca un zip code en el formato XXXXX o XXXXX-XXXX." + #: utils/dates.py:6 msgid "Monday" msgstr "Lunes" @@ -1580,11 +1622,11 @@ msgstr "ene" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mar" #: utils/dates.py:19 msgid "apr" @@ -1592,15 +1634,15 @@ msgstr "abr" #: utils/dates.py:19 msgid "may" -msgstr "" +msgstr "may" #: utils/dates.py:19 msgid "jun" -msgstr "" +msgstr "jun" #: utils/dates.py:20 msgid "jul" -msgstr "" +msgstr "jul" #: utils/dates.py:20 msgid "aug" @@ -1612,11 +1654,11 @@ msgstr "set" #: utils/dates.py:20 msgid "oct" -msgstr "" +msgstr "oct" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" @@ -1628,7 +1670,7 @@ msgstr "Enero" #: utils/dates.py:27 msgid "Feb." -msgstr "" +msgstr "Feb." #: utils/dates.py:28 msgid "Aug." @@ -1640,11 +1682,11 @@ msgstr "Set." #: utils/dates.py:28 msgid "Oct." -msgstr "" +msgstr "Oct." #: utils/dates.py:28 msgid "Nov." -msgstr "" +msgstr "Nov." #: utils/dates.py:28 msgid "Dec." @@ -1715,126 +1757,138 @@ msgid "Bengali" msgstr "Bengal" #: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Cataln" + +#: conf/global_settings.py:42 msgid "Czech" msgstr "Checo" -#: conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Welsh" msgstr "Gals" -#: conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Danish" msgstr "Dans" -#: conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "German" msgstr "Alemn" -#: conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "Greek" msgstr "Griego" -#: conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "English" msgstr "Ingls" -#: conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "Spanish" msgstr "Espaol" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Argentinean Spanish" msgstr "Espaol Argentino" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Finnish" msgstr "Finlands" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "French" msgstr "Francs" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Hungarian" msgstr "Hngaro" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "Hebrew" msgstr "Hebreo" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Icelandic" msgstr "Islands" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Japanese" msgstr "Japons" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Latvian" +msgstr "Latvio" + +#: conf/global_settings.py:59 +msgid "Macedonian" +msgstr "Macedonio" + +#: conf/global_settings.py:60 msgid "Dutch" msgstr "Holands" -#: conf/global_settings.py:58 +#: conf/global_settings.py:61 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:59 +#: conf/global_settings.py:62 msgid "Polish" msgstr "Polaco" -#: conf/global_settings.py:60 +#: conf/global_settings.py:63 msgid "Brazilian" msgstr "Brasileo" -#: conf/global_settings.py:61 +#: conf/global_settings.py:64 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:63 +#: conf/global_settings.py:66 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:64 +#: conf/global_settings.py:67 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:65 +#: conf/global_settings.py:68 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:66 +#: conf/global_settings.py:69 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:67 +#: conf/global_settings.py:70 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:71 +#: conf/global_settings.py:74 msgid "Traditional Chinese" msgstr "Chino tradicional" @@ -1843,58 +1897,59 @@ msgstr "Chino tradicional" msgid "%(object)s with this %(type)s already exists for the given %(field)s." msgstr "Ya existe un(a) %(object)s con este/a %(type)s para %(field)s." -#: db/models/fields/__init__.py:41 +#: db/models/fields/__init__.py:42 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "Ya existe %(optname)s con este %(fieldname)s." -#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266 -#: db/models/fields/__init__.py:569 db/models/fields/__init__.py:580 -#: forms/__init__.py:347 +#: db/models/fields/__init__.py:116 db/models/fields/__init__.py:273 +#: db/models/fields/__init__.py:605 db/models/fields/__init__.py:616 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 newforms/models.py:177 oldforms/__init__.py:352 msgid "This field is required." msgstr "Este campo es obligatorio." -#: db/models/fields/__init__.py:349 +#: db/models/fields/__init__.py:366 msgid "This value must be an integer." msgstr "Este valor debe ser un nmero entero." -#: db/models/fields/__init__.py:381 +#: db/models/fields/__init__.py:401 msgid "This value must be either True or False." msgstr "Este valor debe ser True o False." -#: db/models/fields/__init__.py:397 +#: db/models/fields/__init__.py:422 msgid "This field cannot be null." msgstr "Este campo no puede ser nulo." -#: db/models/fields/__init__.py:424 core/validators.py:146 +#: db/models/fields/__init__.py:454 core/validators.py:147 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." -#: db/models/fields/__init__.py:488 core/validators.py:155 +#: db/models/fields/__init__.py:521 core/validators.py:156 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Introduzca una fecha/hora vlida en formato YYYY-MM-DD HH:MM." -#: db/models/fields/__init__.py:589 +#: db/models/fields/__init__.py:625 msgid "Enter a valid filename." -msgstr "Introduzca un nombre de achivo vlido" +msgstr "Introduzca un nombre de achivo vlido." -#: db/models/fields/related.py:51 +#: db/models/fields/related.py:53 #, python-format msgid "Please enter a valid %s." msgstr "Por favor, introduzca un %s vlido." -#: db/models/fields/related.py:618 +#: db/models/fields/related.py:642 msgid "Separate multiple IDs with commas." msgstr " Separe mltiples IDs con comas." -#: db/models/fields/related.py:620 +#: db/models/fields/related.py:644 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Mantenga presionada \"Control\" (\"Command\" en un Mac) para seleccionar ms " "de uno." -#: db/models/fields/related.py:664 +#: db/models/fields/related.py:691 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -1906,48 +1961,11 @@ msgstr[1] "" "Por favor, introduzca IDs de %(self)s vlidos. Los valores %(value)r no son " "vlidos." -#: forms/__init__.py:382 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Asegrese de que su texto tiene menos de %s carcter." -msgstr[1] "Asegrese de que su texto tiene menos de %s caracteres." - -#: forms/__init__.py:387 -msgid "Line breaks are not allowed here." -msgstr "No se permiten saltos de lnea." - -#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Seleccione una opcin vlida; '%(data)s' no est en %(choices)s." - -#: forms/__init__.py:662 core/validators.py:172 core/validators.py:401 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se envi un archivo. Verifique el tipo de codificacin en el formulario." - -#: forms/__init__.py:664 -msgid "The submitted file is empty." -msgstr "El archivo enviado est vaco." - -#: forms/__init__.py:720 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Introduzca un nmero entero entre -32.768 y 32.767." - -#: forms/__init__.py:730 -msgid "Enter a positive number." -msgstr "Introduzca un nmero positivo." - -#: forms/__init__.py:740 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Introduzca un nmero entero entre 0 y 32.767." - -#: core/validators.py:63 +#: core/validators.py:64 msgid "This value must contain only letters, numbers and underscores." msgstr "Este valor debe contener slo letras, nmeros y guiones bajos." -#: core/validators.py:67 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." @@ -1955,69 +1973,74 @@ msgstr "" "Este valor debe contener slo letras, nmeros, guiones bajos, guiones o " "barras (/)" -#: core/validators.py:71 +#: core/validators.py:72 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "" "Este valor debe contener slo letras, nmeros, guiones bajos o guiones." -#: core/validators.py:75 +#: core/validators.py:76 msgid "Uppercase letters are not allowed here." msgstr "No se admiten letras maysculas." -#: core/validators.py:79 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "No se admiten letras minsculas." -#: core/validators.py:86 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "Introduzca slo dgitos separados por comas." -#: core/validators.py:98 +#: core/validators.py:99 msgid "Enter valid e-mail addresses separated by commas." msgstr "Introduzca direcciones de correo vlidas separadas por comas." -#: core/validators.py:102 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "Por favor introduzca una direccin IP vlida." -#: core/validators.py:106 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "No se admiten valores vacos." -#: core/validators.py:110 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "No se admiten caracteres no numricos." -#: core/validators.py:114 +#: core/validators.py:115 msgid "This value can't be comprised solely of digits." msgstr "Este valor no puede estar formado slo por dgitos." -#: core/validators.py:119 +#: core/validators.py:120 newforms/fields.py:126 msgid "Enter a whole number." msgstr "Introduzca un nmero entero." -#: core/validators.py:123 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "Slo se admiten caracteres alfabticos." -#: core/validators.py:138 +#: core/validators.py:139 msgid "Year must be 1900 or later." msgstr "El ao debe ser 1900 o posterior." -#: core/validators.py:142 +#: core/validators.py:143 #, python-format msgid "Invalid date: %s." msgstr "Fecha no vlida: %s." -#: core/validators.py:151 +#: core/validators.py:152 msgid "Enter a valid time in HH:MM format." msgstr "Introduzca una hora vlida en formato HH:MM." -#: core/validators.py:160 +#: core/validators.py:161 newforms/fields.py:269 msgid "Enter a valid e-mail address." msgstr "Introduzca una direccin de correo electrnico vlida" -#: core/validators.py:176 +#: core/validators.py:173 core/validators.py:444 oldforms/__init__.py:667 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se envi un archivo. Verifique el tipo de codificacin en el formulario." + +#: core/validators.py:177 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -2025,28 +2048,28 @@ msgstr "" "Enve una imagen vlida. El archivo que ha enviado no era una imagen o se " "trataba de una imagen corrupta." -#: core/validators.py:183 +#: core/validators.py:184 #, python-format msgid "The URL %s does not point to a valid image." msgstr "La URL %s no apunta a una imagen vlida." -#: core/validators.py:187 +#: core/validators.py:188 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "" "Los nmeros telefnicos deben respetar el formato XXX-XXX-XXXX. \"%s\" no es " "vlido." -#: core/validators.py:195 +#: core/validators.py:196 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "La URL %s no apunta a un vdeo QuickTime vlido." -#: core/validators.py:199 +#: core/validators.py:200 msgid "A valid URL is required." msgstr "Se precisa una URL vlida." -#: core/validators.py:213 +#: core/validators.py:214 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -2055,69 +2078,84 @@ msgstr "" "Se precisa HTML vlido. Los errores especficos son:\n" "%s" -#: core/validators.py:220 +#: core/validators.py:221 #, python-format msgid "Badly formed XML: %s" msgstr "XML mal formado: %s" -#: core/validators.py:230 +#: core/validators.py:238 #, python-format msgid "Invalid URL: %s" msgstr "URL no vlida: %s" -#: core/validators.py:234 core/validators.py:236 +#: core/validators.py:243 core/validators.py:245 #, python-format msgid "The URL %s is a broken link." msgstr "La URL %s es un enlace roto." -#: core/validators.py:242 +#: core/validators.py:251 msgid "Enter a valid U.S. state abbreviation." msgstr "Introduzca una abreviatura vlida de estado de los EEUU." -#: core/validators.py:256 +#: core/validators.py:265 #, 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] "Vigila tu boca! Aqu no admitimos la palabra %s." msgstr[1] "Vigila tu boca! Aqu no admitimos las palabras %s." -#: core/validators.py:263 +#: core/validators.py:272 #, python-format msgid "This field must match the '%s' field." msgstr "Este campo debe concordar con el campo '%s'." -#: core/validators.py:282 +#: core/validators.py:291 msgid "Please enter something for at least one field." msgstr "Por favor, introduzca algo en al menos un campo." -#: core/validators.py:291 core/validators.py:302 +#: core/validators.py:300 core/validators.py:311 msgid "Please enter both fields or leave them both empty." msgstr "Por favor, rellene ambos campos o deje ambos vacos." -#: core/validators.py:309 +#: core/validators.py:319 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" -#: core/validators.py:321 +#: core/validators.py:332 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" -#: core/validators.py:340 +#: core/validators.py:351 msgid "Duplicate values are not allowed." msgstr "No se admiten valores duplicados." -#: core/validators.py:363 +#: core/validators.py:366 +#, python-format +msgid "This value must be between %s and %s." +msgstr "Este valor debe ser estar entre %s y %s." + +#: core/validators.py:368 +#, python-format +msgid "This value must be at least %s." +msgstr "Este valor debe ser al menos %s." + +#: core/validators.py:370 +#, python-format +msgid "This value must be no more than %s." +msgstr "Este valor debe ser no mayor que %s." + +#: core/validators.py:406 #, python-format msgid "This value must be a power of %s." msgstr "Este valor debe ser una potencia de %s." -#: core/validators.py:374 +#: core/validators.py:417 msgid "Please enter a valid decimal number." msgstr "Por favor, introduzca un nmero decimal vlido." -#: core/validators.py:378 +#: core/validators.py:421 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -2129,7 +2167,7 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un maximo de %s dgitos " "en total." -#: core/validators.py:381 +#: core/validators.py:424 #, python-format msgid "" "Please enter a valid decimal number with a whole part of at most %s digit." @@ -2142,7 +2180,7 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un mximo de %s dgitos " "enteros." -#: core/validators.py:384 +#: core/validators.py:427 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -2154,30 +2192,34 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un mximo de %s " "posiciones decimales." -#: core/validators.py:394 +#: core/validators.py:437 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Asegrese de que el archivo que enva tiene al menos %s bytes." +msgstr "" +"Asegrese de que el archivo que enva es de un tamao mnimo de " +"%s bytes." -#: core/validators.py:395 +#: core/validators.py:438 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Asegrese de que el archivo que enva tiene como mximo %s bytes." +msgstr "" +"Asegrese de que el archivo que enva es de un tamao mximo de " +"%s bytes." -#: core/validators.py:412 +#: core/validators.py:455 msgid "The format for this field is wrong." msgstr "El formato de este campo es incorrecto." -#: core/validators.py:427 +#: core/validators.py:470 msgid "This field is invalid." msgstr "Este campo no es vlido." -#: core/validators.py:463 +#: core/validators.py:506 #, python-format msgid "Could not retrieve anything from %s." msgstr "No pude obtener nada de %s." -#: core/validators.py:466 +#: core/validators.py:509 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." @@ -2185,7 +2227,7 @@ msgstr "" "La URL %(url)s devolvi la cabecera Content-Type '%(contenttype)s', que no " "es vlida." -#: core/validators.py:499 +#: core/validators.py:542 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -2194,7 +2236,7 @@ msgstr "" "Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:503 +#: core/validators.py:546 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -2203,7 +2245,7 @@ msgstr "" "Parte del texto que comienza en la lnea %(line)s no est permitido en ese " "contexto. (La lnea empieza por \"%(start)s\".)" -#: core/validators.py:508 +#: core/validators.py:551 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -2212,7 +2254,7 @@ msgstr "" "El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:513 +#: core/validators.py:556 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -2221,7 +2263,7 @@ msgstr "" "La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea " "empieza por \"%(start)s\".)" -#: core/validators.py:517 +#: core/validators.py:560 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -2230,7 +2272,7 @@ msgstr "" "A una etiqueta de la lnea %(line)s le faltan uno o ms atributos " "requeridos. (La lnea empieza por \"%(start)s\".)" -#: core/validators.py:522 +#: core/validators.py:565 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -2239,9 +2281,9 @@ msgstr "" "El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " "vlido. (La lnea empieza por \"%(start)s\".)" -#: template/defaultfilters.py:401 +#: template/defaultfilters.py:490 msgid "yes,no,maybe" -msgstr "si,no,tal vez" +msgstr "si,no,talvez" #: views/generic/create_update.py:43 #, python-format @@ -2258,6 +2300,101 @@ msgstr "Se actualiz msgid "The %(verbose_name)s was deleted." msgstr "Se elimin %(verbose_name)s." +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Asegrese de que este valor tenga como mximo %d caracteres." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Asegrese de que este valor tenga al menos %d caracteres." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Asegrese de que este valor sea menor o igual a %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asegrese de que este valor sea mayor o igual a %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Ingrse una fecha vlida." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Introduzca una hora vlida." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora vlida." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Introduzca un valor vlido." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Introduzca una URL vlida." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." + +#: newforms/fields.py:360 newforms/models.py:164 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Seleccione una opcin vlida. Esa opcin no es una de las opciones " +"disponibles." + +#: newforms/fields.py:378 newforms/fields.py:454 newforms/models.py:181 +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +#: newforms/fields.py:387 newforms/models.py:187 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" +"Seleccione una opcin vlida. %s no es una de las opciones disponibles." + +#: oldforms/__init__.py:387 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Asegrese de que su texto tiene menos de %s caracter." +msgstr[1] "Asegrese de que su texto tiene menos de %s caracteres." + +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "No se permiten saltos de lnea." + +#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Seleccione una opcin vlida; '%(data)s' no est en %(choices)s." + +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "El archivo enviado est vaco." + +#: oldforms/__init__.py:725 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Introduzca un nmero entero entre -32.768 y 32.767." + +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Introduzca un nmero positivo." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Introduzca un nmero entero entre 0 y 32.767." + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Use '[algoritmo]$[salt]$[hexdigest]'" + #~ msgid "Have you forgotten your password?" #~ msgstr "Ha olvidado su contrasea?" diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo index 3f89e3e33f3c15436125e413b284b2b7026ce415..d8e3cc6fd6a488b72c0ce397e8b8c69fe4d35bc7 100644 GIT binary patch delta 44 qcmZ3%vw~;CU1nZ$T>~RsBU1%Kb1M^z$*-8Dkwr{RHw&?dF#!M$RtlW} delta 44 xcmZ3%vw~;CU1nZ0T?0#9BU1%KQ!4|@$*-8DK_aHQhGq(e23AG}n}t}!m;eqx3XuQ+ diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po index 1865de9450..91ecb09eed 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po @@ -1,15 +1,14 @@ # Argentinean spanish translation for the django-admin JS files, based on # Spanish translation work by Jorge Gajon. -# Copyright (C) -# This file is distributed under the same license as the PACKAGE package. -# Ramiro Morales , 2006. +# This file is distributed under the same license as the Django package. +# Copyright (C) Ramiro Morales , 2006,2007. # msgid "" msgstr "" "Project-Id-Version: Django JavaScript 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-09-25 15:09-0300\n" -"PO-Revision-Date: 2006-05-16 10:20-0300\n" +"POT-Creation-Date: 2007-02-25 17:48-0300\n" +"PO-Revision-Date: 2007-02-25 17:55-0300\n" "Last-Translator: Ramiro Morales \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" diff --git a/django/conf/locale/fi/LC_MESSAGES/django.mo b/django/conf/locale/fi/LC_MESSAGES/django.mo index f6470abdd00179e2510cbee608644af51f73a06a..024d2ad98b1e5ede4edd8d27d78283f78c0c5db9 100644 GIT binary patch delta 10183 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 TeCYT)#ec1J503iFEd~Dr<2i&0 diff --git a/django/conf/locale/it/LC_MESSAGES/django.po b/django/conf/locale/it/LC_MESSAGES/django.po index ecc1cfd159..94a83048be 100644 --- a/django/conf/locale/it/LC_MESSAGES/django.po +++ b/django/conf/locale/it/LC_MESSAGES/django.po @@ -1,21 +1,1654 @@ +# translation of django.po to Italiano # Italian translation of Django. # Copyright (C) 2006 the Lawrence Journal-World # This file is distributed under the same license as the Django package. +# # Carlo C8E Miron , 2006. -# -# +# Nicola 'tekNico' Larosa , 2007. +# Nicola Larosa , 2007. msgid "" msgstr "" -"Project-Id-Version: Django pre-1.0\n" +"Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:12+0200\n" -"PO-Revision-Date: 2006-05-21 23:45+0200\n" -"Last-Translator: Carlo C8E Miron \n" -"Language-Team: Italian \n" +"POT-Creation-Date: 2007-02-26 20:44+0100\n" +"PO-Revision-Date: 2007-02-27 20:06+0100\n" +"Last-Translator: Nicola Larosa \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language-Team: Italiano\n" + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s·con questo·%(type)s·esiste già per questo·%(field)s." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "e" + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Inserire un %s valido." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separare ID multipli con virgole." + +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Tenere premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." + +#: db/models/fields/related.py:691 +#, 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] "Inserire un ID validi per %(self)s. Il valore %(value)r non è valido." +msgstr[1] "Inserire un ID validi per %(self)s. I valori %(value)r non sono validi." + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s·con questo·%(fieldname)s·esiste già." + +#: db/models/fields/__init__.py:116 db/models/fields/__init__.py:273 +#: db/models/fields/__init__.py:609 db/models/fields/__init__.py:620 +#: oldforms/__init__.py:352 newforms/fields.py:78 newforms/fields.py:374 +#: newforms/fields.py:450 newforms/fields.py:461 newforms/models.py:177 +msgid "This field is required." +msgstr "Questo campo è obbligatorio." + +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Questo valore deve essere un intero." + +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Questo valore deve essere True o False." + +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Questo campo non può essere nullo." + +#: db/models/fields/__init__.py:456 core/validators.py:147 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Inserire una data valida in formato AAAA-MM-GG." + +#: db/models/fields/__init__.py:525 core/validators.py:156 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Inserire una data/ora valida in formato AAAA-MM-GG OO:MM." + +#: db/models/fields/__init__.py:629 +msgid "Enter a valid filename." +msgstr "Inserire un nome file valido." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabo" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengali" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Catalano" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Ceco" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gallese" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Danese" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Tedesco" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Greco" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Inglese" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spagnolo" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Spagnolo argentino" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finlandese" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Francese" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galiziano" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungherese" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Ebraico" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandese" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Giapponese" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Lettone" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Macedone" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Olandese" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norvegese" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polacco" + +#: conf/global_settings.py:64 +msgid "Brazilian" +msgstr "Brasiliano" + +#: conf/global_settings.py:65 +msgid "Romanian" +msgstr "Rumeno" + +#: conf/global_settings.py:66 +msgid "Russian" +msgstr "Russo" + +#: conf/global_settings.py:67 +msgid "Slovak" +msgstr "Slovacco" + +#: conf/global_settings.py:68 +msgid "Slovenian" +msgstr "Sloveno" + +#: conf/global_settings.py:69 +msgid "Serbian" +msgstr "Serbo" + +#: conf/global_settings.py:70 +msgid "Swedish" +msgstr "Svedese" + +#: conf/global_settings.py:71 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:72 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:73 +msgid "Ukrainian" +msgstr "Ucraino" + +#: conf/global_settings.py:74 +msgid "Simplified Chinese" +msgstr "Cinese semplificato" + +#: conf/global_settings.py:75 +msgid "Traditional Chinese" +msgstr "Cinese tradizionale" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Questo valore può contenere solo lettere, cifre e sottolineature." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Questo valore può contenere solo lettere, cifre, sottolineature, trattini e " +"barre diagonali." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Questo valore può contenere solo lettere, cifre, sottolineature e trattini." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Non sono ammesse lettere maiuscole." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Non sono ammesse lettere minuscole." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Inserire solo cifre separate da virgole." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Inserire indirizzi e-mail validi separati da virgole." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Inserire un indirizzo IP valido." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "È necessario inserire un valore." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Sono ammessi soltanto caratteri numerici." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Questo valore non può essere composto solo da cifre." + +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Inserire un numero intero." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Sono ammessi solo caratteri alfabetici." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "L'anno deve essere 1900 o successivo." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s." +msgstr "Data non valida: %s." + +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Inserire un orario valido in formato OO:MM." + +#: core/validators.py:161 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Inserire un indirizzo e-mail valido." + +#: core/validators.py:173 core/validators.py:444 oldforms/__init__.py:667 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Non è stato inviato alcun file. Verificare il tipo di codifica della form." + +#: core/validators.py:177 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Caricare un'immagine valida. Il file caricato non è un'immagine o è corrotto." + +#: core/validators.py:184 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s non punta ad un'immagine valida." + +#: core/validators.py:188 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "I numeri di telefono devono essere in formato XXX-XXX-XXXX. \"%s\" non è valido." + +#: core/validators.py:196 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s non punta ad un video QuickTime valido." + +#: core/validators.py:200 +msgid "A valid URL is required." +msgstr "Inserire una URL valida." + +#: core/validators.py:214 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"È richiesto HTML valido. Gli errori sono i seguenti:\n" +"%s" + +#: core/validators.py:221 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML malformato: %s" + +#: core/validators.py:238 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL non valida: %s" + +#: core/validators.py:243 core/validators.py:245 +#, python-format +msgid "The URL %s is a broken link." +msgstr "La URL %s è un link non funzionante." + +#: core/validators.py:251 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Inserire un valido nome di stato USA abbreviato." + +#: core/validators.py:265 +#, 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] "Moderare i termini: la parola %s non è ammessa." +msgstr[1] "Moderare i termini: le parole %s non sono ammesse." + +#: core/validators.py:272 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Questo campo deve corrispondere al campo '%s'." + +#: core/validators.py:291 +msgid "Please enter something for at least one field." +msgstr "Inserire qualcosa in almeno un campo." + +#: core/validators.py:300 core/validators.py:311 +msgid "Please enter both fields or leave them both empty." +msgstr "Inserire entrambi i campi o lasciarli entrambi vuoti." + +#: core/validators.py:319 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s è %(value)s" + +#: core/validators.py:332 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s non è %(value)s" + +#: core/validators.py:351 +msgid "Duplicate values are not allowed." +msgstr "Non sono ammessi valori duplicati." + +#: core/validators.py:366 +#, python-format +msgid "This value must be between %s and %s." +msgstr "Questo valore deve essere compreso tra %s e %s." + +#: core/validators.py:368 +#, python-format +msgid "This value must be at least %s." +msgstr "Questo valore deve essere almeno pari a %s." + +#: core/validators.py:370 +#, python-format +msgid "This value must be no more than %s." +msgstr "Questo valore non deve essere maggiore di %s." + +#: core/validators.py:406 +#, python-format +msgid "This value must be a power of %s." +msgstr "Questo valore deve essere una potenza di %s." + +#: core/validators.py:417 +msgid "Please enter a valid decimal number." +msgstr "Inserire un numero decimale valido." + +#: core/validators.py:421 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Inserire un numero decimale con non più di %s cifra in totale." +msgstr[1] "Inserire un numero decimale con non più di %s cifre in totale." + +#: core/validators.py:424 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Inserire un numero decimale la cui parte intera sia composta da non più di %s cifra." +msgstr[1] "Inserire un numero decimale la cui parte intera sia composta da non più di %s cifre." + +#: core/validators.py:427 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Inserire un decimale con non più di %s cifra decimale." +msgstr[1] "Inserire un decimale con non più di %s cifre decimali." + +#: core/validators.py:437 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Verificare che il file caricato sia grande almeno %s byte." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Verificare che il file caricato non sia più grande di %s byte." + +#: core/validators.py:455 +msgid "The format for this field is wrong." +msgstr "Il formato di questo campo non è valido." + +#: core/validators.py:470 +msgid "This field is invalid." +msgstr "Questo campo non è valido." + +#: core/validators.py:506 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Impossibile recuperare alcunché da %s." + +#: core/validators.py:509 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "La URL %(url)s ha restituito un header Content-Type non valido: '%(contenttype)s'." + +#: core/validators.py:542 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "Chiudere il tag %(tag)s a linea %(line)s. (La linea inizia con \"%(start)s\".)" + +#: core/validators.py:546 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Il testo che comincia a linea %(line)s non e' ammesso in questo contesto. " +"(La linea comincia con \"%(start)s\".)" + +#: core/validators.py:551 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "\"%(attr)s\" a linea %(line)s non è un attributo valido. (La linea comincia con \"%(start)s\".)" + +#: core/validators.py:556 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" a linea %(line)s non è un tag valido. (La linea comincia con \"%" +"(start)s\".)" + +#: core/validators.py:560 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Un tag a linea %(line)s manca di uno o più attributi richiesti. (La linea " +"comincia con \"%(start)s\".)" + +#: core/validators.py:565 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"L'attributo \"%(attr)s\" a linea %(line)s ha un valore non valido. (La " +"linea comincia con \"%(start)s\".)" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "I due campi parola chiave non corrispondono." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Un utente con questo nome·è già presente." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "Il browser web sembra non avere i cookie abilitati. I cookie sono necessari per poter accedere." + +#: 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 "" +"Inserire nome utente e password corretti. Entrambi i campi sono case " +"sensitive." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Questo account non è attivo." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "Questo indirizzo email non è associato ad alcun account utente. Sei sicuro di esserti registrato?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "I due campi 'nuova parola chiave' non corrispondono." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "La vecchia password non è stata inserita correttamente: va inserita di nuovo." + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nome" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "nome in codice" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "permesso" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "permessi" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "gruppo" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "gruppi" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "nome utente" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Obbligatorio. 30 caratteri o meno. Solo caratteri alfanumerici (lettere, cifre e sottolineature)." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "nome" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "cognome" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "indirizzo e-mail" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "parola chiave" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "Usare '[algo]$[salt]$[hexdigest]' oppure la maschera di cambio parola chiave." + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "privilegi di staff" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica se l'utente può accedere a questo sito di amministrazione." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "attivo" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Indica se l'utente può accedere all'amministrazione di Django. Deselezionare qui, piuttosto che cancellare gli account." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "privilegi di superutente" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Indica che l'utente ha tutti i privilegi, senza che siano stati assegnati esplicitamente." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ultimo accesso" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "iscritto in data" + +#: 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 "" +"In aggiunta ai privilegi assegnati manualmente, l'utente riceverà anche tutti " +"i privilegi assegnati ad ogni gruppo cui appartiene." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "privilegi utente" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "utente" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "utenti" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Informazioni personali" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Privilegi" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Date importanti" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Gruppi" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "messaggio" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Accesso annullato" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "data azione" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "ID oggetto" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "rappresentazione oggetto" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "flag azione" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "messaggio di modifica" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "voce di log" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "voci di log" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

          By %s:

          \n" +"
            \n" +msgstr "" +"

            Da %s:

            \n" +"
              \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Tutti" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Qualsiasi data" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Oggi" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Ultimi 7 giorni" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Questo mese" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Quest'anno" + +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "Yes" +msgstr "Sì" + +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "No" +msgstr "No" + +#: contrib/admin/filterspecs.py:150 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "Unknown" +msgstr "Sconosciuto" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Accedi" + +#: 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 "" +"La sessione è scaduta: occorre accedere nuovamente. I dati inseriti sono stati comunque" +"salvati." + +#: 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 "Il browser non sembra configurato per accettare i cookie. Una volta abilitati, ricaricare la pagina e riprovare." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "I nomi utente non possono contenere il carattere '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Il nome utente non è costituito dall'indirizzo e-mail. Provare con '%s'." + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Amministrazione sito" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" è stato aggiunto correttamente." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "È possibile modificarlo nuovamente qui sotto." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "È possibile aggiungere un altro %s qui sotto." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Aggiungere %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Aggiunto %s" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificato %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Cancellato %s" + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Nessun campo modificato." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" è stato modificato correttamente." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" è stato aggiunto correttamente. È possibile modificarlo nuovamente qui sotto." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificare %s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o più %(fieldname)s in %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o più %(fieldname)s in %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" è stato cancellato correttamente." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Tracciato delle modifiche: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Seleziona %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Seleziona %s per modificare" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Errore nel database" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "view:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Appl. %r non trovata" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "Modello %r non trovato nell'appl. %r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "l'oggetto `%s.%s` collegato" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modello:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "oggetti `%s.%s` collegati" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "tutti %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "numero di %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Campi sugli oggetti %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Intero" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booleano (True o False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Stringa (fino a %(maxlength)s caratteri)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Interi separati da virgola" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (senza orario)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (con orario)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Indirizzo e-mail" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Percorso di file" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Numero decimale" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "indirizzo IP" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Collegamento a modello padre" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Numero di telefono" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Testo" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Orario" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Stato USA (due lettere maiuscole)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Testo XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s non sembra essere un oggetto urlpattern" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aggiungi utente" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La parola chiave è stata cambiata correttamente." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambia la parola chiave: %s" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Tutte le date" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostra tutto" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "Documentazione" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "Cambia la parola chiave" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Esci" + +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Home" +msgstr "Pagina iniziale" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Cancella" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"La cancellazione di %(object_name)s '%(escaped_object)s' causerebbe la cancellazione " +"di oggetti collegati, ma questo account non ha i permessi per cancellare gli oggetti dei seguenti tipi:" + +#: 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 "" +"Sei sicuro di voler rimuovere %(object_name)s \"%(escaped_object)s\"? Tutti i seguenti " +"oggetti collegati saranno cancellati:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Sì, sono sicuro" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pagina non trovata" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Spiacenti, ma la pagina richiesta non è stata trovata." + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Aggiungi" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Storia" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Vedi sul sito" + +#: contrib/admin/templates/admin/change_form.html:32 +#: 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] "Correggere l'errore qui sotto." +msgstr[1] "Correggere gli errori qui sotto." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordinamento" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Ordine:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Per %(filter_title)s " + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Salva come nuovo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Salva e aggiungi un altro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Salva e continua le modifiche" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Salva" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Aggiungi %(name)s" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelli disponibili nell'applicazione %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modifica" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Non hai i privilegi per modificare alcunché." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Azioni Recenti" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Azioni Proprie" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nessuno disponibile" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Amministrazione sito Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Amministrazione Django" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Data/orario" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Utente" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Azione" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j F Y, H:i" + +#: 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 "Questo oggetto non ha cambiamenti registrati. Probabilmente non è stato creato con questo sito di amministrazione." + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Errore del server" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Errore del server (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Errore del server (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 "Si è verificato un errore. È stato riportato agli amministratori del sito via e-mail e verrà corretto a breve. Grazie per la tua pazienza." + +#: 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 "Ci sono problemi nell'installazione del database. Assicurarsi che le tabelle appropriate del database siano state create, e che il database sia leggibile dall'utente appropriato." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Vai" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 risultato" +msgstr[1] "%(counter)s risultati" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totali" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Nome utente:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Parola chiave:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "Hai dimenticato la parola chiave?" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Benvenuto," + +#: 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 "Inserire innanzitutto nome utente e parola chiave. Si potrà quindi modificare le altre impostazioni dell'utente." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nome utente" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Parola chiave" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Parola chiave (di nuovo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Inserire la stessa parola chiave inserita sopra, come verifica." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Inserire una nuova parola chiave per l'utente %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklet" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklet alla documentazione" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

              To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

              \n" +msgstr "" +"\n" +"

              Per installare i bookmarklet, trascinare il link sulla barra \n" +"dei bookmark, o cliccare il link con il tasto destro e aggiungerlo ai bookmark.\n" +"Sarà quindi possibile selezionare un bookmarklet in qualsiasi pagina del sito.\n" +"Si noti che alcuni di questi bookmarklet richiedono l'accesso al sito tramite un\n" +"computer designato come \"interno\" (chiedere al proprio amministratore di \n" +"sistema se non si è sicuri che il proprio computer sia \"interno\").

              \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentazione per questa pagina" + +#: 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 "" +"Porta da qualsiasi pagina alla documentazione della view che genera " +"quella pagina." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostra l'ID dell'oggetto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "Mostra il content-type e l'ID univoco di pagine che rappresentano un singolo oggetto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Modifica quest'oggetto (nella finestra corrente)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Porta alla pagina amministrativa di pagine che rappresentano un oggetto singolo." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Modifica quest'oggetto (in una nuova finestra)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Come sopra, ma apre la pagina di amministrazione in una nuova finestra." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Orario:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Attualmente:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modifica:" + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Reimposta la parola chiave" + +#: 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 "Dimenticata la parola chiave? Inserire il proprio indirizzo e-mail qui sotto: la parola chiave sarà reimpostata, e la nuova ti verrà inviata per e-mail." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Indirizzo e-mail:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Reimposta la mia parola chiave" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Hai ricevuto questa e-mail perché hai chiesto di reimpostare la parola chiave" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "per il tuo account utente su %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "La tua nuova parola chiave è: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puoi liberamente cambiare la tua parola chiave tramite questa pagina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Il tuo nome utente, in caso l'abbia dimenticato:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Grazie per aver usato il nostro sito!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "Il team di %(site_name)s" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Grazie per aver speso il tuo tempo prezioso su questo sito oggi." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Accedi di nuovo" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Parola chiave reimpostata correttamente" + +#: 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 "La nuova parola chiave è stata inviata all'indirizzo e-mail inserito. Arriverà a breve." + +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Password change" +msgstr "Cambio di parola chiave" + +#: 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 "Inserire l'attuale parola chiave, per ragioni di sicurezza, e poi la nuova parola chiave due volte, per verificare di averla scritta correttamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Parola chiave attuale:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Nuova parola chiave:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confermare la parola chiave:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Modifica la mia parola chiave" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Cambio di parola chiave avvenuto correttamente" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "La parola chiave è stata cambiata." + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nome di dominio" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nome visualizzato" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sito" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "siti" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Esempio: '/about/contact/'. Assicurarsi di inserire le barre diagonali iniziali e finali." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "titolo" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenuto" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "abilita commenti" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nome modello" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "Esempio: 'flatpages/contact_page.html'. Se non specificato, il sistema userà 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "registrazione obbligatoria" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Se selezionato, solo gli utenti che hanno effettuato l'accesso potranno vedere la pagina." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pagina statica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pagine statiche" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigi da" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "Deve essere un percorso assoluto, senza nome di dominio. Esempio: '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigi verso" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "Può essere un percorso assoluto (come sopra) o una URL completa che inizia con 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redirezione" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirezioni" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" @@ -64,44 +1697,33 @@ msgstr "valutazione #8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "valutazione valida" +msgstr "è una valutazione valida" #: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "data/ora di sottomissione" +msgstr "data/orario di inserimento" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" -msgstr "pubblico" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "indirizzo IP" +msgstr "è pubblico" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "eliminato" +msgstr "è rimosso" #: 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 "" -"Spunta la casella se il commento è inappropriato. Verrà sostituito con un " -"messaggio \"Questo commento è stato rimosso\"." +msgstr "Spuntare la casella se il commento è inappropriato. Verrà sostituito dal messaggio \"Questo commento è stato rimosso\"." -#: contrib/comments/models/comments.py:31 -msgid "Comment" -msgstr "Commento" - -#: contrib/comments/models/comments.py:32 #: contrib/comments/models.py:91 -msgid "Comments" -msgstr "Commenti" +msgid "comments" +msgstr "commenti" #: contrib/comments/models.py:131 contrib/comments/models.py:207 msgid "Content object" -msgstr "Contenitore" +msgstr "Oggetto con contenuto" #: contrib/comments/models.py:159 #, python-format @@ -112,7 +1734,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"Commento di %(user)s del %(date)s\n" +"Inserito da %(user)s il %(date)s\n" "\n" "%(comment)s\n" "\n" @@ -166,7 +1788,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"Questo commento ha un flag di %(user)s:\n" +"A questo commento è stato apposto un flag da %(user)s:\n" "\n" "%(text)s" @@ -187,23 +1809,22 @@ msgstr "flag utente" msgid "Flag by %r" msgstr "Flag da %r" -#: contrib/comments/models/comments.py:278 #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "data eliminazione" +msgstr "data cancellazione" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "rimozione da moderatore" +msgstr "cancellazione da moderatore" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "rimozioni da moderatore" +msgstr "cancellazioni da moderatore" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Rimozione da moderatore di %r" +msgstr "Cancellazione da moderatore %r" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" @@ -215,15 +1836,13 @@ msgstr "ID commento non valido" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" -msgstr "Non votare per te stesso" +msgstr "Impossibile votare per se stessi" -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "" -"Questa valutazione è obbligatoria perché hai inserito almeno un'altra valutazione" +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Questa valutazione è obbligatoria perché hai inserito almeno un'altra valutazione." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -236,89 +1855,57 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" -"Commento di un utente autore di meno di %(count)s commento:\n" +"Questo commento è stato inserito da un utente autore di meno di %(count)s commento:\n" "\n" "%(text)s" msgstr[1] "" -"Commento di un utente autore di meno di %(count)s commenti:\n" +"Questo commento è stato inserito da un utente autore di meno di %(count)s commenti:\n" "\n" "%(text)s" -"" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"Commento di un utente \"sketchy\":\n" +"Questo commento è stato inserito da un utente non confermato:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Sono ammessi solo POST" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Uno o più dei campi richiesti non sono stati sottomessi" +msgstr "Uno o più campi richiesti non sono stati inseriti" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "Qualcuno ha alterato il modulo di commento (violazione di sicurezza)" -#: contrib/comments/views/comments.py:207 +#: 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 "" -"Il modulo di commento ha un parametro 'target' non valido -- l'ID dell'oggetto non e` valido" +"Il modulo di commento ha un parametro 'target' non valido -- l'ID " +"dell'oggetto non e` valido" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Il modulo di commento non fornisce 'anteprima' o 'invia'" +msgstr "Il modulo di commento non fornisce né 'anteprima' né 'invia'" -#: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Nome utente:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Password:" - -#: contrib/comments/templates/comments/form.html:6 msgid "Forgotten your password?" -msgstr "Hai dimenticato la password?" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Esci" +msgstr "Hai dimenticato la parola chiave?" #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" @@ -332,989 +1919,112 @@ msgstr "Obbligatorio" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "Opzionale" +msgstr "Facoltativo" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" msgstr "Invia una foto" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 msgid "Comment:" msgstr "Commento:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" msgstr "Anteprima commento" #: contrib/comments/templates/comments/freeform.html:4 msgid "Your name:" -msgstr "Il tuo nome:" +msgstr "Il suo nome:" -#: contrib/admin/filterspecs.py:40 -#, python-format -msgid "" -"

              By %s:

              \n" -"
                \n" -msgstr "" -"

                Da %s:

                \n" -"
                  \n" +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Inserire un codice postale. È obbligatorio uno spazio tra le due parti del codice postale." -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "Tutti" +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Qualsiasi data" - -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Oggi" - -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "Ultimi 7 giorni" - -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Questo mese" - -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Quest'anno" - -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Sì" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "No" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Sconosciuto" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "data azione" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "ID dell'oggetto" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "rappresentazione dell'oggetto" - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "flag azione" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "modifica messaggio" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "voce di log" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "voci di log" - -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Tutte le date" - -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Inserire nome utente e password corretti. Entrambi i campi sono case sensitive." - -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Accedi" - -#: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"La sessione è scaduta, si prega di accedere nuovamente. I dati sono stati salvati." - -#: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Il browser non è configurato per accettare cookie. Abilitarli, ricaricare la pagina e provare di nuovo." - -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Il nome utente non può contenere il carattere '@'." - -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Il nome utente non è l'indirizzo e-mail. Provare con '%s'." - -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Amministrazione sito" - -#: contrib/admin/views/main.py:410 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato aggiunto." - -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Puoi modificarlo nuovamente qui sotto." - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 -#, python-format -msgid "You may add another %s below." -msgstr "Puoi aggiungere un altro %s qui sotto." - -#: contrib/admin/views/main.py:290 -#, python-format -msgid "Add %s" -msgstr "Aggiungi %s" - -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Aggiunto %s" - -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "e" - -#: contrib/admin/views/main.py:338 -#, python-format -msgid "Changed %s." -msgstr "Modificato %s." - -#: contrib/admin/views/main.py:340 -#, python-format -msgid "Deleted %s." -msgstr "Rimosso %s" - -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "Nessun campo modificato." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato modificato." - -#: contrib/admin/views/main.py:354 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"L'oggetto %(name)s di tipo \"%(obj)s\" è stato aggiunto. Puoi modificarlo nuovamente qui sotto." - -#: contrib/admin/views/main.py:392 -#, python-format -msgid "Change %s" -msgstr "Modifica %s" - -#: contrib/admin/views/main.py:470 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o più %(fieldname)s in %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:475 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o più %(fieldname)s in %(name)s:" - -#: contrib/admin/views/main.py:508 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato rimosso." - -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Sei sicuro?" - -#: contrib/admin/views/main.py:533 -#, python-format -msgid "Change history: %s" -msgstr "Storia delle modifiche: %s" - -#: contrib/admin/views/main.py:565 -#, python-format -msgid "Select %s" -msgstr "Selezionare %s" - -#: contrib/admin/views/main.py:565 -#, python-format -msgid "Select %s to change" -msgstr "Selezionare %s per modificare" - -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 -msgid "Integer" -msgstr "Intero" - -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Booleano (True o False)" - -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Stringa (massimo %(maxlength)s caratteri)" - -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Interi separati da virgola" - -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Data (senza orario)" - -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Data (con orario)" - -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Indirizzo e-mail" - -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Percorso di file" - -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Numero decimale" - -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (True, False o None)" - -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relazione a modello padre" - -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Numero di telefono" - -#: contrib/admin/views/doc.py:263 -msgid "String (up to 50)" -msgstr "Stringa (massimo 50 caratteri)" - -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Testo" - -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Ora" - -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Stato americano (due lettere maiuscole)" - -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "Testo XML" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" -msgstr "Documentazione" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Change password" -msgstr "Modifica la password" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "Pagina iniziale" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Storia" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Data/ora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Utente" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Azione" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j F Y, H:i" - -#: 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 "" -"Questo oggetto non ha cambiamenti storicizzati. Probabilmente non è stato " -"creato con questo sito di amministrazione." - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Amministrazione sito Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Amministrazione Django" - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Errore del server" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Errore del server (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Errore del Server (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 "" -"C'è stato un errore. E' stato riportato agli amministratori del sito via e-" -"mail e verrà risolto a breve. Grazie per la pazienza." - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Pagina non trovata" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Spiacente, ma la pagina richiesta non esiste." - -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "Modelli disponibili nell'applicazione %(name)s." - -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Aggiungi" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modifica" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "Non hai i permessi di modificare nulla." - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Azioni Recenti" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Azioni Proprie" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Nessuna disponibile" - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Aggiungi %(name)s" - -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Hai dimenticato la tua password?" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Benvenuto," - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Elimina" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"La rimozione di %(object_name)s '%(object)s' causerebbe la cancellazione " -"degli oggetti relazionati, ma il tuo account non ha i permessi per rimuovere " -"i seguenti tipi di oggetti:" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"Sei sicuro di voler rimuovere %(object_name)s \"%(object)s\"? I seguenti " -"oggetti relazionati saranno rimossi:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Sì, sono sicuro" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Per %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Vai" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Vedi sul sito" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Correggere l'errore qui sotto." -msgstr[1] "Correggere gli errori qui sotto." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordinamento" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Ordinamento:" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Salva come nuovo" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Salva e crea nuovo" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Salva e continua" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Salva" - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "Modifica la password" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "La password è stata cambiata" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "La tua password è stata modificata." - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "Resetta la password" - -#: 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 "" -"Hai dimenticato la tua password? Inserisci il tuo indirizzo e-mail qui " -"sotto, la tua password sarà resettata e te ne verrà spedita una nuova." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Indirizzo e-mail:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Resetta la mia password" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Grazie per aver speso il tuo tempo prezioso con questo sito." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Accedi di nuovo" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Password resettata" - -#: 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 "" -"Ti abbiamo inviato la nuova password all'indirizzo e-mail da te selezionato. " -"Dovresti riceverla a breve." - -#: 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 "" -"Inserisci la tua vecchia password, per ragioni di sicurezza, e poi la tua " -"nuova password due volte per verificare che tu l'abbia scritta correttamente." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Vecchia password:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Nuova password:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Conferma password:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Modifica la mia password" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Hai ricevuto questa e-mail perché hai chiesto di resettare la password" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "per il tuo account utente su %(site_name)s" - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "La tua nuova password è: %(new_password)s" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Puoi modificare la tua password su questa pagina:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Il tuo nome utente, in caso tu l'abbia dimenticato:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Ti ringraziamo per l'utilizzo del nostro sito!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "Il team di %(site_name)s" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklet" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklet alla documentazione" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

                  To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

                  \n" -msgstr "" -"\n" -"

                  Per installare i bookmarklet, trascinare il link nella barra \n" -"dei bookmark, o cliccare il link con il tasto destro e selezionare aggiungi ai \n" -"bookmark. È possibile selezionare il bookmarklet da qualsiasi pagina del sito. \n" -"Alcuni di questi bookmarklet richiedono l'utilizzo di un computer \"interno\" \n" -"(chiedi al tuo amministratore di sistema se non sei sicuro che il tuo computer \n" -"sia \"interno\").

                  \n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentazione per questa pagina" - -#: 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 "" -"Ti porta da qualsiasi pagina alla documentazione della view che genera quella pagina." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostra l'ID dell'oggetto" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Mostra il tipo di contenuto e l'ID univoco per pagine che rappresentano un singolo oggetto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Modifica quest'oggetto (nella finestra corrente)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Ti porta alla pagina amministrativa per pagine che rappresentano un oggetto singolo." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Modifica quest'oggetto (in una nuova finestra)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "Come sopra, ma apre la pagina di amministrazione in una nuova finestra." - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Ora:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Attualmente:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modifica:" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigi da" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Un percorso assoluto, senza nome a dominio. Esempio: '/events/search/'." - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigi verso" - -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Un percorso assoluto (come sopra) o un URL completo iniziante con 'http://'." - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redirigi" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirezioni" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Esempio: '/about/contact/'. Attenzione alla barra ('/') iniziale e finale." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "titolo" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenuto" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "abilita commenti" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nome modello" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Esempio: 'flatpages/contact_page'. Se non specificato, il sistema userà " -"'flatpages/default'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registrazione obbligatoria" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Se selezionata, solo gli utenti registrati potranno vedere la pagina." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "pagina statica" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pagine statiche" - -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nome" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nome in codice" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "permesso" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "permessi" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "gruppo" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "gruppi" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nome utente" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "nome" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "cognome" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "indirizzo e-mail" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "password" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Usare '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "staff" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Autorizza l'utente ad accedere a questo sito di amministrazione." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "attivo" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "superuser" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "ultimo accesso" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "iscritto da" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"In aggiunta ai permessi assegnati manualmente, l'utente riceverà anche tutti " -"i permessi assegnati ad ogni gruppo cui appartiene." - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "permessi utente" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "utente" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "utenti" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Informazioni personali" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Permessi" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Date importanti" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Gruppi" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "messaggio" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Il browser non ha i cookie abilitati. Per accedere, è necessario abilitarli." - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "nome della classe modello in python" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo di contenuto" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipo di contenuti" - -#: contrib/sessions/models.py:35 +#: contrib/sessions/models.py:51 msgid "session key" msgstr "chiave di sessione" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:52 msgid "session data" msgstr "dati di sessione" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:53 msgid "expire date" msgstr "data di scadenza" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:57 msgid "session" msgstr "sessione" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:58 msgid "sessions" msgstr "sessioni" -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nome a dominio" +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "nome della classe modello in Python" -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nome visualizzato" +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "content type" -#: contrib/sites/models.py:15 -msgid "site" -msgstr "sito" +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "content type" -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "siti" +#: oldforms/__init__.py:387 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Assicurarsi che il testo sia più corto di %s carattere." +msgstr[1] "Assicurarsi che il testo sia più corto di %s caratteri." -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j F Y" +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "Non sono ammessi a capo manuali." -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j F Y, H:i" +#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Selezionare un'opzione valida; '%(data)s' non presente in %(choices)s." -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "Il file inviato è vuoto." + +#: oldforms/__init__.py:725 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Inserire un numero intero compreso tra -32.768 e 32.767." + +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Inserire un numero positivo." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Inserire un numero intero compreso tra 0 e 32.767." + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s è stato creato correttamente." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s è stato aggiornato correttamente." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s è stato cancellato." #: utils/dates.py:6 msgid "Monday" @@ -1504,467 +2214,84 @@ msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minuti" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengali" +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j F Y" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Ceco" +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j F Y, H:i" -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Gallese" +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "H:i" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danese" +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "Y F" -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tedesco" +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Greco" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Inglese" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spagnolo" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francese" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galiziano" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Ungherese" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Ebreo" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandese" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italiano" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Giapponese" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Olandese" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norvegese" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasiliano" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumeno" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Russo" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovacco" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Sloveno" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbo" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svedese" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ucraino" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Cinese semplificato" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Cinese tradizionale" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Sono ammesse solo lettere, numeri e sottolineature ('_')." - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "Sono ammesse solo lettere, numeri, sottolineature ('_'), trattini" -"('-') e barre ('/')." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Non sono ammesse lettere maiuscole." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Non sono ammesse lettere minuscole." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Inserire solo numeri separati da virgole." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Inserire indirizzi e-mail validi separati da virgole." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Inserire un indirizzo IP valido." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "E' necessario inserire un valore." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Sono ammessi soltanto caratteri numerici." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Il valore non può essere composto solo da cifre." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Inserire un numero." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Sono ammessi solo caratteri alfabetici." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Inserire un data valida in formato AAAA-MM-GG." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Inserire un orario valido in formato OO:MM." - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Inserire una data/ora in formato AAAA-MM-GG OO:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Inserire un indirizzo e-mail valido." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Caricare un'immagine valida. Il file inserito non è un'immagine o è corrotto." - -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "L'URL %s non punta ad un'immagine valida." - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"I numeri di telefono devono essere in formato XXX-XXX-XXXX. \"%s\" non è " -"valido." - -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "L'URL %s non punta ad un video QuickTime valido." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Inserire un URL valido." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"E' richiesto HTML valido. Gli errori sono i seguenti:\n" -"%s" - -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML malformato: %s" - -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL non valida: %s" - -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "L'URL %s è un link rotto." - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Inserire un nome di stato americano abbreviato valido." - -#: core/validators.py:229 -#, 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] "Attenzione! La parola %s non è ammessa." -msgstr[1] "Attenzione! Le parole %s non sono ammesse." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Questo campo deve corrispondere al campo '%s'." - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Inserire qualcosa in almeno un campo." - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Inserire entrambi i campi o lasciarli entrambi vuoti." - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Il campo è obbligatorio se %(field)s è %(value)s" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Il campo è obbligatorio se %(field)s non è %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Non sono ammessi valori duplicati." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Il valore deve essere una potenza di %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Inserire un numero decimale valido." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Inserire un numero decimale con non più di %s cifra." -msgstr[1] "Inserire un numero decimale con non più di %s cifre totali." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Inserire un decimale con non più di %s cifra decimale." -msgstr[1] "Inserire un decimale con non più di %s cifre decimali." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Verifica che il file inserito sia almeno di %s byte." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Verifica che il file inserito sia al massimo %s byte." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formato del file non valido." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Il campo non è valido." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Impossibile recuperare alcunché da %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"L'URL %(url)s restituisce un Content-Type header non valido '%(contenttype)s'." - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Il tag %(tag)s alla linea %(line)s non è chiuso. (La linea comincia con \"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Il testo che comincia a linea %(line)s non e' ammesso in questo contesto. " -"(La linea comincia con \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" alla linea %(line)s è un attributo invalido. (La linea comincia " -"con \"%(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" alla linea %(line)s: tag non valido. (La linea comincia con \"%" -"(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Un tag alla linea %(line)s manca di uno o più attributi richiesti. (La linea " -"comincia con \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"L'attributo \"%(attr)s\" alla linea %(line)s ha un valore non valido. (La " -"linea comincia con \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s·con questo·%(type)s·esistono già per questo·%(field)s." - -#: core/meta/fields.py:60 -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s·con questo·%(fieldname)s·esiste già." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Il campo è obbligatorio." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Il valore deve essere un intero." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Il valore deve essere True o False." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Il campo non può essere nullo." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Inserire un nome file valido." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Inserire un %s valido." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Separa ID multipli con virgole." - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr " Premi \"Control\", o \"Command\" su Mac, per selezionarne più di uno." - -#: db/models/fields/related.py:625 -#, 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] "Inserire un ID valido per %(self)s. Il valore %(value)r non è valido." -msgstr[1] "Inserire un ID valido per %(self)s. I valori %(value)r non sono validi." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Assicurati che il testo sia più corto di %s carattere." -msgstr[1] "Assicurati che il testo sia più corto di %s caratteri." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Non è ammesso andare a capo." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Selezionare un'opzione valida; '%(data)s' non presente in %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Il file sottomesso è vuoto." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Inserire un numero tra -32768 e 32767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Inserire un numero positivo." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Inserire un numero compreso tra 0 e 32767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:490 msgid "yes,no,maybe" msgstr "sì,no,forse" +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Assicurarsi che questo valore non contenga più di %d caratteri." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Assicurarsi che questo valore contenga almeno %d caratteri." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Assicurarsi che questo valore sia minore o uguale a %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Assicurarsi che questo valore sia maggiore o uguale a %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Inserire una data valida." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Inserire un orario valido." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Inserire una coppia data/orario valida." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Inserire un valore valido." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Inserire una URL valida." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Questa URL non sembra funzionare." + +#: newforms/fields.py:360 newforms/models.py:164 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Selezionare un'opzione valida. La scelta effettuata non compare tra quelle disponibili." + +#: newforms/fields.py:378 newforms/fields.py:454 newforms/models.py:181 +msgid "Enter a list of values." +msgstr "Inserire una lista di valori." + +#: newforms/fields.py:387 newforms/models.py:187 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Selezionare un'opzione valida;'%s non compare tra quelle disponibili." + diff --git a/django/conf/locale/it/LC_MESSAGES/djangojs.mo b/django/conf/locale/it/LC_MESSAGES/djangojs.mo index 2df21b6558cf512967a19f9baad3169fb14ff327..c34009f14827be9f1c1765f39cb4e29c5a7f0544 100644 GIT binary patch delta 795 zcmZ9}&ui2`6u|N6CaLSXt+iS$T1tBGAi8U^v}-A=6a}@kR?!w#LCUxr*VLFmlG00| zx1PMn;LSsC{so@BcoMvN^2bR;q#%fb2f^=agNOr@Pv*_cdo#(K>euS#hhh7vqK(qW z=CgIj(7cjT{ph2G(^$n8mT|6_zlj5kZ({{}xF6HP4Rjc9p^cAmS*cC+gcnKl zxtREdQs@Ut;a@0;CFsH+N`kXEjgu&eAED&QPzrBgn@en=?ElCnncu-d{D~FnD~H|t z2n^v6j-uS~6iT8d%7$5#1lJ4Oc$cw8x$#RpfUi*w{uU+gdz1rw!U_Cd%#X0>JoVKW zFLI+hC>vLb@qLuP!1~<-fjUB$V)DBrsjQbnNs~h!rAyKO+ei_R3mz`srKW$32VY1H z7eT(ZI!HfMjO7c+t^PK%)3;(@4ZDGvFKt^7l6CW?)GK#ab=*r z@7EjVmED@?1idJ9*J3wGbs8q> l)?OfA%k$kqWX?F_&ui2`6bJBhldZOH{jqBWag`}OXwigB=+-rx6_={mQhz|V#~y}l43Q+WWD^e} z?AfCXo`s$SFM_>!@KzAilSkJ-Kt1S552Aiwwu%nCd@_@n_g<1ul{b~)hpO>N!#IYh zBVHp;BJNM%g7F1T!mm(=-(dy*fcxQ8Y5cqjXD~kwr{QTh1)V)TSjPM++<8zJg8o5mKUgY^DYlU{MG@KvN#1bGt}N&)>m=a0IEb&u}07 z25YFV{ld*5EYy&dHqP(qKuXYon{X9Uf+z3*d=9D6myi, 2006. # +# Carlo C8E Miron , 2006. +# Nicola 'tekNico' Larosa , 2007. msgid "" msgstr "" -"Project-Id-Version: Django JavaScript 1.0\n" +"Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2005-12-04 21:47+0100\n" -"Last-Translator: Carlo C8E Miron \n" -"Language-Team: Italian \n" +"POT-Creation-Date: 2007-02-26 20:46+0100\n" +"PO-Revision-Date: 2007-02-26 20:55+0100\n" +"Last-Translator: Nicola Larosa \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.2\n" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre " +"Novembre Dicembre" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "D L M M G V S" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Domenica Lunedì Martedì Mercoledì Giovedì Venerdì Sabato" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format @@ -23,7 +42,7 @@ msgstr "Disponibile %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "Seleziona tutto" +msgstr "Scegli tutto" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" @@ -36,7 +55,7 @@ msgstr "Rimuovi" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format msgid "Chosen %s" -msgstr "Selezionato %s" +msgstr "Scelto %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " @@ -46,66 +65,59 @@ msgstr "Seleziona le tue scelte e clicca " msgid "Clear all" msgstr "Cancella tutto" -#: contrib/admin/media/js/dateparse.js:26 -#: contrib/admin/media/js/calendar.js:24 -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" -"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre " -"Novembre Dicembre" - -#: contrib/admin/media/js/dateparse.js:27 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "Domenica Lunedì Martedì Mercoledì Giovedì Venerdì Sabato" - -#: contrib/admin/media/js/calendar.js:25 -msgid "S M T W T F S" -msgstr "D L M M G V S" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" msgstr "Adesso" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "Orologio" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" -msgstr "Seleziona un orario" +msgstr "Scegli un orario" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Mezzanotte" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "6 del mattino" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "Mezzogiorno" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 msgid "Cancel" msgstr "Annulla" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 msgid "Today" msgstr "Oggi" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "Calendario" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "Ieri" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Domani" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Mostra" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Nascondi" + diff --git a/django/conf/locale/kn/LC_MESSAGES/django.mo b/django/conf/locale/kn/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..51e9ab5fbc2aea2af6d204b21f00a9b5c144009a GIT binary patch literal 57878 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 +# This file is distributed under the same license as the Django package. +# Kannada Localization Team , 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: Django-kn 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-01-08 20:22+0530\n" +"Last-Translator: Kannada Localization Team \n" +"Language-Team: Kannada \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ವಸ್ತುವಿನ ಐಡಿ" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "ತಲೆಬರಹ" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "ಟಿಪ್ಪಣಿ" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "ಕ್ರಮಾಂಕ ೧" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "ಕ್ರಮಾಂಕ ೨" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "ಕ್ರಮಾಂಕ ೩ " + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "ಕ್ರಮಾಂಕ ೪" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "ಕ್ರಮಾಂಕ ೫ " + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "ಕ್ರಮಾಂಕ ೬ " + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "ಕ್ರಮಾಂಕ ೭" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "ಕ್ರಮಾಂಕ ೮" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "ಕ್ರಮಬದ್ಧ ಕ್ರಮಾಂಕ" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "ಸಲ್ಲಿಸಿದ ದಿನಾಂಕ/ಸಮಯ" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "ಸಾರ್ವಜನಿಕವಾಗಿದೆ" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP ವಿಳಾಸ" + +#: contrib/comments/models.py:86 +msgid "is removed" +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 "" +"ಟಿಪ್ಪಣಿ ಅನುಚಿತವಾಗಿ " +"ಇದ್ದಲ್ಲಿ ಈ ಚೌಕದಲ್ಲಿ ಗುರುತು " +"ಮಾಡಿ. ಅದರ ಬದಲಾಗಿ \"ಈ ಟಿಪ್ಪಣಿ " +"ತೆಗೆದುಹಾಕಲಾಗಿದೆ\" ಎಂಬ " +"ಸಂದೇಶವನ್ನು ತೋರಿಸಲಾಗುವುದು." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "ಟಿಪ್ಪಣಿಗಳು" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "ಒಳವಿಷಯ ವಸ್ತು" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"ಸಲ್ಲಿಸಿದವರು %(user)s ರವರು %(date)s\n" +"\n" +" ದಿನ/ಸಮಯಕ್ಕೆ %(comment)s\n" +"\n" +"http://%(domain)s%(url)s ಸಲ್ಲಿಸಿದ್ದು" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "ವ್ಯಕ್ತಿಯ ಹೆಸರು" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "IP ವಿಳಾಸ" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "" +"ಸಿಬ್ಬಂದಿಯಿಂದ ಅನುಮೋದನೆ " +"ಪಡೆದಿದೆ" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "ಉಚಿತ ಟಿಪ್ಪಣಿ" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "ಉಚಿತ ಟಿಪ್ಪಣಿಗಳು" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "ಅಂಕ" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "ಅಂಕದ ದಿನಾಂಕ" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "ಕರ್ಮ ಅಂಕ" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "ಕರ್ಮ ಅಂಕಗಳು" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr " %(user)s ಇಂದ %(score)d ಕ್ರಮಾಂಕ" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"ಈ ಟಿಪ್ಪಣಿಯನ್ನು %(user)s ರವರು " +"ಪತಾಕೆಯಿಂದ ಗುರುತು " +"ಮಾಡಿದ್ದಾರೆ:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "ಪತಾಕೆ ದಿನಾಂಕ" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "ಬಳಕೆದಾರ ಪತಾಕೆ" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "ಬಳಕೆದಾರ ಪತಾಕೆಗಳು" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "%r ಇಂದ ಪತಾಕೆ" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "ತೆಗೆದುಹಾಕಿದ ದಿನಾಂಕ" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "ನಿಯಂತ್ರಕರು ಅಳಿಸಿದ್ದು" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "ನಿಯಂತ್ರಕರು ಅಳಿಸಿದ್ದು" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr " %r ಇಂದ ನಿಯಂತ್ರಕರ ಅಳಿಸುವಿಕೆ " + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "" +"ಅನಾಮಧೇಯ ಬಳಕೆದಾರರು ಮತ " +"ಹಾಕುವಂತಿಲ್ಲ" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ತಪ್ಪು ಟಿಪ್ಪಣಿ ಐಡಿ" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "" +"ತಮಗೇ ಮತ ಹಾಕಿಕೊಳ್ಳುವಂತಿಲ್ಲ." + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "" +"ನೀವು ಬೇರೆಯ ಕ್ರಮಾಂಕ " +"ನೀಡಿರುವುದರಿಂದ ಈ ಕ್ರಮಾಂಕ " +"ಅವಶ್ಯವಾಗಿದೆ." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr "" +"%(count)s ಕ್ಕಿಂತಲೂ ಕಡಿಮೆ " +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಬರೆದಿರುವ " +"ಸದಸ್ಯರಿಂದ ಈ ಟಿಪ್ಪಣಿ " +"ಬರೆಯಲ್ಪಟ್ಟಿದೆ:\n" +"\n" +"%(text)s" +"%(count)sಕ್ಕಿಂತಲೂ ಕಡಿಮೆ " +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಬರೆದಿರುವ " +"ಸದಸ್ಯರಿಂದ ಈ ಟಿಪ್ಪಣಿ " +"ಬರೆಯಲ್ಪಟ್ಟಿದೆ:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ಈ ಟಿಪ್ಪಣಿಯನ್ನು ಅಪೂರ್ಣ " +"ಮಾಹಿತಿಯುಳ್ಳ ಬಳಕೆದಾರ :\n" +"\n" +" %(text)s ರು ಸಲ್ಲಿಸಿದ್ದಾರೆ" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "" +"ಸಲ್ಲಿಕೆಗಳಿಗೆ ಮಾತ್ರ " +"ಅನುಮತಿಯಿದೆ" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "" +"ಒಂದು ಅಥವಾ ಹೆಚ್ಚು ಅಗತ್ಯ " +"ಅಂಶಗಳನ್ನು ಸಲ್ಲಿಸಿಲ್ಲ" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +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 "" +"ಟಿಪ್ಪಣಿ ನಮೂನೆಗೆ ತಪ್ಪು " +"ಟಾರ್ಗೆಟ್ ಪ್ಯಾರಾಮೀಟರ್ ಇದೆ. " +"ವಸ್ತುವಿನ ಐಡಿಯು " +"ದೋಷಪೂರಿತವಾಗಿತ್ತು." + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "" +"ಟಿಪ್ಪಣಿ ನಮೂನೆ " +"'ಮುನ್ನೋಟ'ವನ್ನಾಗಲೀ " +"'ಸಲ್ಲಿಕೆ'ಯನ್ನಾಗಲೀ " +"ಒದಗಿಸಲಿಲ್ಲ." + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "ಬಳಕೆದಾರನ ಹೆಸರು:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "ಹೊರಕ್ಕೆ ಹೋಗಿ" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "ಪ್ರವೇಶಪದ:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "" +"ನಿಮ್ಮ ಪ್ರವೇಶಪದ ಮರೆತಿದ್ದೀರಾ?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "ಕ್ರಮಾಂಕಗಳು" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "ಅವಶ್ಯ" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "ಐಚ್ಛಿಕ" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "ಭಾವಚಿತ್ರ ಸಲ್ಲಿಸಿ" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "ಟಿಪ್ಪಣಿ:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "ಟಿಪ್ಪಣಿ ಮುನ್ನೋಟ" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "ನಿಮ್ಮ ಹೆಸರು:" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                  By %s:

                  \n" +"
                    \n" +msgstr "" +"

                    %s ಇಂದ :

                    \n" +"
                      \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "ಎಲ್ಲಾ" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "ಯಾವುದೇ ದಿನಾಂಕ" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "ಈದಿನ" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "ಕಳೆದ ೭ ದಿನಗಳು" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "ಈ ತಿಂಗಳು" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "ಈ ವರ್ಷ" + +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "ಹೌದು" + +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "ಇಲ್ಲ" + +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "ಗೊತ್ತಿಲ್ಲ(ದ/ದ್ದು)" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಸಮಯ" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "ವಸ್ತುವಿನ ಐಡಿ" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "ವಸ್ತು ಪ್ರಾತಿನಿಧ್ಯ" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಪತಾಕೆ" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "" +"ಬದಲಾವಣೆಯ ಸಂದೇಶ/ಸಂದೇಶ ಬದಲಿಸಿ" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "ಲಾಗ್ ದಾಖಲೆ" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "ಲಾಗ್ ದಾಖಲೆಗಳು" + +#: contrib/admin/templatetags/admin_list.py:230 +msgid "All dates" +msgstr "ಎಲ್ಲಾ ದಿನಾಂಕಗಳು" + +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 +msgid "" +"Please enter a correct username and password. Note that both fields are " +"case-sensitive." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ಬಳಕೆದಾರ-ಪದ " +"ಮತ್ತು ಪ್ರವೇಶಪದ ಬರೆಯಿರಿ " +".ಎರಡೂ ಇಂಗ್ಲೀಷಿನ ಸಣ್ಣ ಮತ್ತು " +"ದೊಡ್ಡ ಅಕ್ಷರ ಸಂವೇದಿ " +"ಎಂಬುದನ್ನು ಗಮನದಲ್ಲಿಡಿ" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +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 "" +"ದಯವಿಟ್ಟು ಇನ್ನೊಮ್ಮೆ ಒಳಬನ್ನಿ " +"(ಲಾಗಿನ್ ಮಾಡಿ) . ನಿಮ್ಮ ಅಧಿವೇಶನ " +"ಕೊನೆಗೊಂಡಿದೆ. " +"ಚಿಂತಿಸಬೇಡಿ:ನಿಮ್ಮ " +"ಸಲ್ಲಿಕೆಯನ್ನು ಉಳಿಸಲಾಗಿದೆ." + +#: 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 "" +"ಕುಕೀಗಳನ್ನು ಸ್ವೀಕರಿಸುವಂತೆ " +"ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕವನ್ನು " +"ಸಂರಚಿಸಲಾಗಿಲ್ಲ ಎಂದು " +"ತೋರುತ್ತದೆ. ದಯವಿಟ್ಟು " +"ಕುಕೀಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ , ಈ " +"ಪುಟವನ್ನು ಮತ್ತೆ ಲೋಡ್ ಮಾಡಿ " +"ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿರಿ. " + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "" +"ಬಳಕೆದಾರ-ಹೆಸರುಗಳು '@' " +"ಅಕ್ಷರವನ್ನು ಒಳಗೊಳ್ಳುವಂತಿಲ್ಲ" + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"ನಿಮ್ಮ ವಿ-ಅಂಚೆ ವಿಳಾಸವು ನಿಮ್ಮ " +"ಬಳಕೆದಾರ-ಹೆಸರಲ್ಲ; ಬದಲಾಗಿ '%s' " +"ಪ್ರಯತ್ನಿಸಿ." + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "ತಾಣ ನಿರ್ವಹಣೆ" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" +" %(name)s \"%(obj)s\" ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ಸೇರಿಸಲಾಯಿತು." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:22 +msgid "You may edit it again below." +msgstr "" +"ನೀವು ಅದನ್ನು ಕೆಳಗೆ ಮತ್ತೆ " +"ಬದಲಾಯಿಸಬಹುದು." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "" +"ನೀವು ಕೆಳಗೆ ಇನ್ನೊಂದು %s " +"ಸೇರಿಸಬಹುದು." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "%s ಸೇರಿಸಿ" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "%s ಸೇರಿಸಲಾಯಿತು." + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 +msgid "and" +msgstr "ಮತ್ತು" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "%s ಬದಲಾಯಿಸಲಾಯಿತು." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "%s ತೆಗೆದುಹಾಕಲಾಯಿತು." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "ಯಾವುದೇ ಅಂಶಗಳು ಬದಲಾಗಲಿಲ್ಲ." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" +"%(name)s \"%(obj)s\" ಸಫಲವಾಗಿ " +"ಬದಲಾಯಿಸಲಾಯಿತು." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ಸೇರಿಸಲಾಯಿತು. ನೀವು ಕೆಳಗೆ " +"ಅದನ್ನು ಮತ್ತೆ ಬದಲಾಯಿಸಬಹುದು." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "%s ಅನ್ನು ಬದಲಿಸು" + +#: contrib/admin/views/main.py:473 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "" +"%(name)s ನಲ್ಲಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚು " +"%(fieldname)s :%(obj)s" + +#: contrib/admin/views/main.py:478 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "" +"%(name)s ನಲ್ಲಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚು " +"%(fieldname)s :" + +#: contrib/admin/views/main.py:511 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" +"%(name)s \"%(obj)s\" ಯಶಸ್ವಿಯಾಗಿ " +"ಅಳಿಸಲಾಯಿತು." + +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "ಖಚಿತಪಡಿಸುವಿರಾ? " + +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "ಬದಲಾವಣೆಗಳ ಇತಿಹಾಸ: %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s" +msgstr "%s ಆಯ್ದುಕೊಳ್ಳಿ" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s to change" +msgstr "ಬದಲಾಯಿಸಲು %s ಆಯ್ದುಕೊಳ್ಳಿ" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "ದತ್ತಸಂಚಯದ ದೋಷ" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "ಟ್ಯಾಗ್:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "ಸೋಸಕ:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "ನೋಟ:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "%r ಅನ್ವಯಾಂಶ ಸಿಗಲಿಲ್ಲ" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "" +"%r ಅನ್ವಯಾಂಶದಲ್ಲಿ %r ಮಾಡೆಲ್ಲು " +"ಸಿಗಲಿಲ್ಲ" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "ಸಂಬಂಧಿಸಿದ `%s.%s` ವಸ್ತು" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "ಮಾಡೆಲ್:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "ಸಂಬಂಧಿಸಿದ `%s.%s` ವಸ್ತುಗಳು" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "ಎಲ್ಲಾ %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "%s ಗಳ ಸಂಖ್ಯೆ" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "%s ವಸ್ತುಗಳ ಅಂಶಗಳು" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "ಸಂಖ್ಯೆ" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "ಬೂಲಿಯನ್( ನಿಜ ಅಥವಾ ಸುಳ್ಳು)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "(%(maxlength)s ವರೆಗಿನ ) ಅಕ್ಷರಪುಂಜ" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "" +"ಅಲ್ಪವಿರಾಮ(,) ದಿಂದ ಬೇರ್ಪಟ್ಟ " +"ಸಂಖ್ಯೆಗಳು" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "ದಿನಾಂಕ (ಸಮಯರಹಿತ)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "ದಿನಾಂಕ(ಸಮಯದೊಂದಿಗೆ)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "ವಿ-ಅಂಚೆ ವಿಳಾಸ" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "ಕಡತದ ಸ್ಥಾನಪಥ" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "ದಶಮಾನ ಸಂಖ್ಯೆ" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "" +"ಬೂಲಿಯನ್( ನಿಜ ಅಥವಾ ಸುಳ್ಳು " +"ಅಥವಾ ಯಾವುದೂ ಅಲ್ಲ)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "" +"ಹಿರಿಯ ಮಾಡೆಲ್‍ನೊಂದಿಗಿನ ಸಂಬಂಧ" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "ದೂರವಾಣಿ ಸಂಖ್ಯೆ" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "ಪಠ್ಯ" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "ಸಮಯ" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "" +"ಅಮೇರಿಕಾ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನದ " +"ರಾಜ್ಯ ( ಎರಡು ಇಂಗ್ಲೀಷ್ " +"ದೊಡ್ಡಕ್ಷರಗಳು)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML ಪಠ್ಯ" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" +"%s URL ಸ್ವರೂಪದ್ದಾಗಿ ತೋರುವದಿಲ್ಲ." + +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸಿ" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "ವಿವರಮಾಹಿತಿ" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Change password" +msgstr "ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "ಪ್ರಾರಂಭಸ್ಥಳ(ಮನೆ)" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:20 +msgid "History" +msgstr "ಚರಿತ್ರೆ" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "ದಿನಾಂಕ/ಸಮಯ" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "ಬಳಕೆದಾರ" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "ಕ್ರಮ(ಕ್ರಿಯೆ)" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: 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 "" +"ಈ ವಸ್ತುವಿಗೆ ಬದಲಾವಣೆಯ " +"ಇತಿಹಾಸವಿಲ್ಲ. ಅದು ಬಹುಶಃ ಈ " +"ಆಡಳಿತತಾಣದ ಮೂಲಕ " +"ಸೇರಿಸಲ್ಪಟ್ಟಿಲ್ಲ." + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "ಜಾಂಗೋ ತಾಣದ ಆಡಳಿತಗಾರರು" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "ಜಾಂಗೋ ಆಡಳಿತ" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "ಸರ್ವರ್ ದೋಷ" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" + +#: 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 "" +"ಇಲ್ಲಿ ಒಂದು ತಪ್ಪಾಗಿದೆ. ಅದನ್ನು " +"ತಾಣದ ಆಡಳಿತಗಾರರಿಗೆ ವರದಿ " +"ಮಾಡಲಾಗಿದ್ದು ಶೀಘ್ರದ್ದಲ್ಲಿ " +"ಸರಿಪಡಿಸಲಾಗುವದು. ನಿಮ್ಮ " +"ತಾಳ್ಮೆಗೆ ಧನ್ಯವಾದಗಳು." + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "ಪುಟ ಸಿಗಲಿಲ್ಲ" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "" +"ಕ್ಷಮಿಸಿ, ನೀವು ಕೇಳಿದ ಪುಟ " +"ಸಿಗಲಿಲ್ಲ" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" +"%(name)s ಅನ್ವಯಾಂಶದಲ್ಲಿ " +"ಮಾಡೆಲ್ಲುಗಳು ಲಭ್ಯ." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "ಸೇರಿಸಿ" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "ಬದಲಿಸಿ/ಬದಲಾವಣೆ" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "" +"ಯಾವುದನ್ನೂ ತಿದ್ದಲು ನಿಮಗೆ " +"ಅನುಮತಿ ಇಲ್ಲ ." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "ಇತ್ತೀಚಿನ ಕ್ರಮಗಳು" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "ನನ್ನ ಕ್ರಮಗಳು" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "ಯಾವುದೂ ಲಭ್ಯವಿಲ್ಲ" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ಸೇರಿಸಿ" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "" +"ನೀವು ಪ್ರವೇಶಪದವನ್ನು " +"ಮರೆತಿದ್ದೀರಾ?" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "ಸುಸ್ವಾಗತ." + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕಿ" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"'%(escaped_object)s' %(object_name)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)ಗಳನ್ನು\"? " +"ತೆಗೆದುಹಾಕಬಯಸಿದ್ದೀರಾ? " +"ಸಂಬಂಧಪಟ್ಟ ಕೆಳಕಂಡ ಎಲ್ಲವನ್ನೂ " +"ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "ಹೌದು,ನನಗೆ ಖಚಿತವಿದೆ" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s ಇಂದ" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "ಹೋಗಿ" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgstr "೧ ಫಲಿತಾಂಶ" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "ಒಟ್ಟು %(full_result_count)s" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "ಎಲ್ಲವನ್ನೂ ತೋರಿಸು" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "ಸೋಸಕ" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "ತಾಣದಲ್ಲಿ ನೋಡಿ" + +#: contrib/admin/templates/admin/change_form.html:30 +msgid "Please correct the error below." +msgstr "" +"ದಯಮಾಡಿ ಕೆಳಗಿನ ತಪ್ಪನ್ನು " +"ಸರಿಪಡಿಸಿ " +"ದಯಮಾಡಿ ಕೆಳಗಿನ ತಪ್ಪುಗಳನ್ನು " +"ಸರಿಪಡಿಸಿ. " + +#: contrib/admin/templates/admin/change_form.html:48 +msgid "Ordering" +msgstr "ಅನುಕ್ರಮದಲ್ಲಿ ಜೋಡಣೆ" + +#: contrib/admin/templates/admin/change_form.html:51 +msgid "Order:" +msgstr "ಅನುಕ್ರಮ:" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "ಹೊಸದರಂತೆ ಉಳಿಸಿ" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "" +"ಉಳಿಸಿ ಮತ್ತು ಇನ್ನೊಂದನ್ನು " +"ಸೇರಿಸಿ" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "" +"ಉಳಿಸಿ ಮತ್ತು ತಿದ್ದುವುದನ್ನು " +"ಮುಂದುವರಿಸಿರಿ." + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +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 "" +"ಡಾಟಾಬೇಸನ್ನು ಇನ್ಸ್ಟಾಲ್ " +"ಮಾಡುವಾಗ ಏನೋ ತಪ್ಪಾಗಿದೆ. ಸೂಕ್ತ " +" ಡಾಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳು " +"ರಚನೆಯಾಗಿ ಅರ್ಹ ಬಳಕೆದಾರರು " +"ಅವುಗಳನ್ನು ಓದಬಹುದಾಗಿದೆಯೇ " +"ಎಂಬುದನ್ನು ಖಾತರಿ " +"ಪಡಿಸಿಕೊಳ್ಳಿ." + +#: 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 "" +"ಮೊದಲು ಬಳಕೆದಾರ-ಹೆಸರು ಮತ್ತು " +"ಪ್ರವೇಶಪದವನ್ನು ಕೊಡಿರಿ. ನಂತರ, " +"ನೀವು ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳನ್ನು " +"ಬದಲಿಸಬಹುದಾಗಿದೆ." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "ಬಳಕೆದಾರ-ಹೆಸರು" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "ಪ್ರವೇಶಪದ" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "ಪ್ರವೇಶಪದ(ಇನ್ನೊಮ್ಮೆ)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "" +"ಖಚಿತಗೊಳಿಸಲು ಮೇಲಿನ " +"ಪ್ರವೇಶಪದವನ್ನು ಇನ್ನೊಮ್ಮೆ " +"ಬರೆಯಿರಿ." + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "ಪ್ರವೇಶಪದ ಬದಲಾವಣೆ" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "ಪ್ರವೇಶಪದ ಬದಲಾವಣೆ ಯಶಸ್ವಿ" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "" +"ನಿಮ್ಮ ಪ್ರವೇಶಪದ " +"ಬದಲಾಯಿಸಲಾಗಿದೆ" + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +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 "" +"ಪ್ರವೇಶಪದವನ್ನು ಮರೆತಿದ್ದೀರಾ? " +"ನಿಮ್ಮ ವಿ-ಅಂಚೆಯ ವಿಳಾಸವನ್ನು " +"ಕೆಳಗೆ ಸೂಚಿಸಿರಿ, ನಾವು ನಿಮ್ಮ " +"ಪ್ರವೇಶಪದವನ್ನು ಬದಲಾಯಿಸಿ " +"ಅದನ್ನು ರವಾನಿಸುತ್ತೇವೆ." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "ವಿ-ಅಂಚೆ ವಿಳಾಸ:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "" +"ನನ್ನ ಪ್ರವೇಶಪದವನ್ನು ಮತ್ತೆ " +"ನಿರ್ಧರಿಸಿ " + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" +"ಈದಿನ ತಮ್ಮ ಅತ್ಯಮೂಲ್ಯವಾದ " +"ಸಮಯವನ್ನು ನಮ್ಮ ತಾಣದಲ್ಲಿ " +"ಕಳೆದುದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "ಮತ್ತೆ ಒಳಬನ್ನಿ" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +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 "" +"ನಾವು ಹೊಸ ಪ್ರವೇಶಪದವನ್ನು " +"ನಿಮ್ಮ ವಿ-ಅಂಚೆಗೆ ಕಳಿಸಿದ್ದೇವೆ. " +"ಕೆಲವೇ ಕ್ಷಣಗಳಲ್ಲಿ ನೀವದನ್ನು " +"ಪಡೆಯಲಿದ್ದೀರಿ." + +#: 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 "" +"ಭದ್ರತೆಯ ದೃಷ್ಟಿಯಿಂದ " +"ದಯವಿಟ್ಟು ನಿಮ್ಮ ಹಳೆಯ " +"ಪ್ರವೇಶಪದವನ್ನು ಸೂಚಿಸಿರಿ. " +"ಆನಂತರ ನೀವು ಸರಿಯಾಗಿ " +"ಬರೆದಿದ್ದೀರೆಂದು ನಾವು " +"ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಹೊಸ " +"ಪ್ರವೇಶಪದವನ್ನು ಎರಡು ಬಾರಿ " +"ಬರೆಯಿರಿ." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "ಹಳೆಯ ಪ್ರವೇಶಪದ:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "ಹೊಸ ಪ್ರವೇಶಪದ:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "ಪ್ರವೇಶಪದವನ್ನು ಖಚಿತಪಡಿಸಿ:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "ನನ್ನ ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"ಪ್ರವೇಶಪದದ ಮರುನಿರ್ಧಾರವನ್ನು " +"ನೀವು ಕೇಳಿದುದರಿಂದ ಈ " +"ವಿ-ಅಂಚೆಯನ್ನು " +"ಪಡೆಯುತ್ತಿದ್ದೀರಿ." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "" +"%(site_name)s ತಾಣದಲ್ಲಿ ನಿಮ್ಮ " +"ಬಳಕೆದಾರ-ಖಾತೆಗಾಗಿ" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "ನಿಮ್ಮ ಹೊಸ ಪ್ರವೇಶಪದ : %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "" +"ನಿಸ್ಸಂಕೋಚವಾಗಿ ಈ ಪುಟಕ್ಕೆ " +"ಹೋಗಿ ಈ ಪ್ರವೇಶಪದವನ್ನು " +"ಬದಲಿಸಿರಿ." + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "" +"ನೀವು ಮರೆತಿದ್ದಲ್ಲಿ , ನಿಮ್ಮ " +"ಬಳಕೆದಾರ-ಹೆಸರು" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "" +"ನಮ್ಮ ತಾಣವನ್ನು " +"ಬಳಸಿದ್ದಕ್ದಾಗಿ ಧನ್ಯವಾದಗಳು!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ತಂಡ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "ಚಿಕ್ಕ ಪುಟಗುರುತುಗಳು" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "" +"ಮಾಹಿತಿಯ ಚಿಕ್ಕ ಪುಟಗುರುತುಗಳು" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

                      To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

                      \n" +msgstr "" +"\n" +"

                      ಸಣ್ಣ್ಪುಟಗುರುತುಗಳನ್ನು " +"ಅನುಸ್ಥಾಪಿಸಲು ಕೊಂಡಿಯನ್ನು " +"ಪುಟಗುರುತು ಉಪಕರಣಪಟ್ಟಿ(ಟೂಲ್ " +"ಬಾರ್)ಕಡೆಗೆ ಎಳೆದೊಯ್ಯಿರಿ,\n" +" ಅಥವಾ ಕೊಂಡಿಯ ಮೇಲೆ " +"ಮೂಷಿಕ(ಮೌಸ್)ದ ಬಲಬಟನ್ನನ್ನು " +"ಒತ್ತಿ ಪುಟಗುರುತುಗಳಿಗೆ " +"ಸೇರಿಸಿಕೊಳ್ಳಿ. ಈಗ \n" +" ನೀವು ಸಣ್ಣಪುಟಗುರುತುಗಳನ್ನು " +"ತಾಣದ ಯಾವ ಪುಟದಿಂದ ಬೇಕಾದರೂ " +"ಆಯ್ಕೆಮಾಡಿಕೊಳ್ಳಬಹುದು.\n" +"ನೆನಪಿರಲಿ, ಕೆಲವು " +"ಸಣ್ಣಪುಟಗುರುತುಗಳಿಗೆ ನೀವು ಈ " +"ತಾಣವನ್ನು ಆಂತರಿಕ (\"internal\") ಎಂದು " +"ಸೂಚಿತವಾಗಿರುವ ಗಣಕದಿಂದ " +"ವೀಕ್ಷಿಸಬೇಕಾಗುತ್ತದೆ.\n" +"( ನಿಮ್ಮ ಗಣಕವು \"internal\" ಹೌದೇ " +"ಅಲ್ಲವೇ ಎಂದು " +"ಗೊತ್ತಿಲ್ಲದಿದ್ದರೆ , ಗಣಕದ " +"ಆಡಳಿತಗಾರರನ್ನು ಕೇಳಿರಿ).

                      \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +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 "" +"ನಿಮ್ಮನ್ನು ಯಾವುದೇ ಪುಟದಿಂದ ಆ " +"ಪುಟವನ್ನು ಸೃಷ್ಟಿಸುವ ನೋಟದ " +"ಮಾಹಿತಿಪುಟಕ್ಕೆ ಕೊಂಡೊಯ್ಯುವದು" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "ವಸ್ತುವಿನ ಐಡಿ ತೋರಿಸಿ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"ಏಕೈಕ ವಸ್ತುವನ್ನು " +"ಪ್ರತಿನಿಧಿಸುವ ಪುಟಗಳ ವಿಶಿಷ್ಠ " +"ಐಡಿ ಮತ್ತು ಒಳವಿಷಯಬಗೆಯನ್ನು " +"ತೋರಿಸುತ್ತದೆ." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "" +"ಈ ವಸ್ತುವನ್ನು ಬದಲಿಸಿ(ಈಗಿನ " +"ಕಿಟಕಿಯಲ್ಲಿ)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"ಏಕೈಕ ವಸ್ತುವನ್ನು " +"ಪ್ರತಿನಿಧಿಸುವ ಪುಟಗಳಿಗಾಗಿ " +"ಆಡಳಿತಪುಟಕ್ಕೆ ಒಯ್ಯುತ್ತದೆ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "" +"ಈ ವಸ್ತುವನ್ನು ಬದಲಿಸಿ(ಹೊಸ " +"ಕಿಟಕಿಯಲ್ಲಿ)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"ಮೇಲಿನಂತೆ, ಆದರೆ " +"ಆಡಳಿತಪುಟವನ್ನು ಹೊಸ " +"ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುವದು." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "ದಿನಾಂಕ:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "ಸಮಯ:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "ಈಗ:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "ಬದಲಿಸಿ / ಬದಲಾವಣೆ :" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ ಇಲ್ಲಿಂದ->" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: " +"'/events/search/'." +msgstr "" +"ಇದು ಡೊಮೈನ್ ಹೊರತುಪಡಿಸಿದ " +"ಸಂಪೂರ್ಣ ಪಥವಾಗಿರಬೇಕು " +"ಉದಾ.'/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +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 " +"ಆಗಿರಬಹುದು." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ(ಗಳು)" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"ಉದಾ:'/about/contact/'. ಮೊದಲು ಮತ್ತು " +"ಕೊನೆಯಲ್ಲಿ ಓರೆಗೆರೆ (/) ಇರುವಂತೆ " +"ನೋಡಿಕೊಳ್ಳಿ." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "ಶೀರ್ಷಿಕೆ" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "ಒಳವಿಷಯ" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "" +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ" + +#: contrib/flatpages/models.py:12 +msgid "template name" +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' ಅನ್ನು ಬಳಸುವದು." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "ನೋಂದಾವಣೆ ಅಗತ್ಯವಿದೆ." + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"ಇದರಲ್ಲಿ ಗುರುತು ಮಾಡಿದರೆ, " +"ಒಳಬಂದ (ಲಾಗಿನ್ ಆದ) ಬಳಕೆದಾರರು " +"ಮಾತ್ರ ಪುಟವನ್ನು ನೋಡಬಹುದು." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "ಚಪ್ಪಟೆ ಪುಟ" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "ಚಪ್ಪಟೆ ಪುಟಗಳು" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "ಹೊರಬರಲಾಗಿದೆ" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "ಹೆಸರು" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "ಸಾಂಕೇತಿಕ ಹೆಸರು" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "ಅನುಮತಿ" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "ಗುಂಪು" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "ಗುಂಪುಗಳು" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "ಬಳಕೆದಾರ-ಹೆಸರು" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"೩೦ ಅಥವಾ ಕಡಿಮೆ ಅಕ್ಷರಗಳು " +"ಅವಶ್ಯ. ( ಅಕ್ಷರಗಳು , ಅಂಕೆಗಳು " +"ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) ಗಳು " +"ಮಾತ್ರ)" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "ಮೊದಲ ಹೆಸರು" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "ಕೊನೆಯ ಹೆಸರು" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "ವಿ-ಅಂಚೆ ವಿಳಾಸ" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "ಪ್ರವೇಶಪದ" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr " '[algo]$[salt]$[hexdigest]' ಬಳಸಿ" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "ಸಿಬ್ಬಂದಿ ಸ್ಥಿತಿ" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"ಬಲಕೆದಾರರು ಈ ಆಡಳಿತ ತಾಣಕ್ಕೆ " +"ಪ್ರವೇಶಪಡೆಯಬಹುದೇ ಎಂಬುದನ್ನು " +"ತಿಳಿಸುತ್ತದೆ." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "ಸಕ್ರಿಯ" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"ಈ ಬಳಕೆದಾರರು ಜಾಂಗೋ " +"ಆಡಳಿತಪುಟಕ್ಕೆ " +"ಪ್ರವೇಶಪಡೆಯಬಹುದೇ ಎಂಬುದನ್ನು " +"ತಿಳಿಸುತ್ತದೆ. ಖಾತೆಗಳನ್ನು " +"ಕಿತ್ತುಹಾಕುವ ಬದಲು ಇದನ್ನು " +"ಆಯ್ಕೆಯನ್ನು ತೆಗೆದುಹಾಕಿರಿ." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "ಮಹಾಬಳಕೆದಾರನ ಸ್ಧಿತಿ" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"ಈ ಸದಸ್ಯರು ಸುವ್ಯಕ್ತವಾಗಿ " +"ನೀಡದಿದ್ದರೂ ಎಲ್ಲಾ " +"ಅನುಮತಿಗಳನ್ನು ಪಡೆದಿರುವರು " +"ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ಕಡೇ ಸಾರಿ ಒಳಬಂದದ್ದು" + +#: contrib/auth/models.py:99 +msgid "date joined" +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 "" +"ವೈಯಕ್ತಿಕವಾಗಿ ನೀಡಲಾಗಿರುವ " +"ಅನುಮತಿಗಳ ಜೊತೆಗೆ, ಈ ಸದಸ್ಯರು " +"ತಮ್ಮ ಗುಂಪಿಗೆ ನೀಡಲಾಗಿರುವ " +"ಅನುಮತಿಗಳನ್ನೂ ಕೂಡ " +"ಪಡೆಯುತ್ತಾರೆ." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "ಬಳಕೆದಾರ ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "ಬಳಕೆದಾರ" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "ಬಳಕೆದಾರರು" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "ವೈಯುಕ್ತಿಕ ಮಾಹಿತಿ" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "ಮಹತ್ವದ ದಿನಾಂಕಗಳು" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "ಗುಂಪುಗಳು" + +#: contrib/auth/models.py:256 +msgid "message" +msgstr "ಸಂದೇಶ" + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ " +"ಕುಕೀಗಳು " +"ಸಕ್ರಿಯಗೊಳಿಸಲ್ಪಟ್ಟಂತಿಲ್ಲ. " +"ಒಳಬರಲು ಕುಕೀಗಳು ಅಗತ್ಯ. " + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "ಈ ಖಾತೆಯು ನಿಷ್ಕ್ರಿಯವಾಗಿದೆ" + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "" +"ಪೈಥಾನ್ ಮಾಡೆಲ್ ಕ್ಲಾಸಿನ ಹೆಸರು" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "ಒಳವಿಷಯದ ಬಗೆ" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "ಒಳವಿಷಯದ ಬಗೆಗಳು" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "ಅಧಿವೇಶನದ ಕೀಲಿಕೈ" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "ಅಧಿವೇಶನದ ದತ್ತಾಂಶ" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "ಅವಧಿಮೀರುವ ದಿನಾಂಕ" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "ಅಧಿವೇಶನ" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "ಅಧಿವೇಶನಗಳು" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "ಡೊಮೈನ್ ಹೆಸರು" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "ತೋರಿಸುವ ಹೆಸರು" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "ತಾಣ" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "ತಾಣಗಳು" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "ಸೋಮವಾರ" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "ಮಂಗಳವಾರ" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "ಬುಧವಾರ" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "ಗುರುವಾರ" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "ಶುಕ್ರವಾರ" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "ಶನಿವಾರ" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "ರವಿವಾರ" + +#: utils/dates.py:14 +msgid "January" +msgstr "ಜನವರಿ" + +#: utils/dates.py:14 +msgid "February" +msgstr "ಫೆಬ್ರುವರಿ" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "ಮಾರ್ಚ್" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "ಎಪ್ರಿಲ್" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "ಮೇ" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "ಜೂನ್" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "ಜುಲೈ" + +#: utils/dates.py:15 +msgid "August" +msgstr "ಆಗಸ್ಟ್" + +#: utils/dates.py:15 +msgid "September" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +#: utils/dates.py:15 +msgid "October" +msgstr "ಅಕ್ಟೋಬರ್" + +#: utils/dates.py:15 +msgid "November" +msgstr "ನವೆಂಬರ್" + +#: utils/dates.py:16 +msgid "December" +msgstr "ಡಿಸೆಂಬರ್" + +#: utils/dates.py:19 +msgid "jan" +msgstr "ಜನವರಿ" + +#: utils/dates.py:19 +msgid "feb" +msgstr "ಫೆಬ್ರವರಿ" + +#: utils/dates.py:19 +msgid "mar" +msgstr "ಮಾರ್ಚ್" + +#: utils/dates.py:19 +msgid "apr" +msgstr "ಏಪ್ರಿಲ್" + +#: utils/dates.py:19 +msgid "may" +msgstr "ಮೇ" + +#: utils/dates.py:19 +msgid "jun" +msgstr "ಜೂನ್" + +#: utils/dates.py:20 +msgid "jul" +msgstr "ಜುಲೈ" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ಆಗಸ್ಟ್" + +#: utils/dates.py:20 +msgid "sep" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +#: utils/dates.py:20 +msgid "oct" +msgstr "ಅಕ್ಟೋಬರ್" + +#: utils/dates.py:20 +msgid "nov" +msgstr "ನವೆಂಬರ್" + +#: utils/dates.py:20 +msgid "dec" +msgstr "ಡಿಸೆಂಬರ್" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "ಜನವರಿ." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "ಫೆಬ್ರವರಿ." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "ಆಗಸ್ಟ್." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "ಸೆಪ್ಟೆಂಬರ್." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "ಅಕ್ಟೋಬರ್." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "ನವೆಂಬರ್." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "ಡಿಸೆಂಬರ್." + +#: utils/timesince.py:12 +msgid "year" +msgstr "ವರ್ಷ" + +#: utils/timesince.py:13 +msgid "month" +msgstr "ತಿಂಗಳು" + +#: utils/timesince.py:14 +msgid "week" +msgstr "ವಾರ" + +#: utils/timesince.py:15 +msgid "day" +msgstr "ದಿನ" + +#: utils/timesince.py:16 +msgid "hour" +msgstr "ಘಂಟೆ" + +#: utils/timesince.py:17 +msgid "minute" +msgstr "ನಿಮಿಷ" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "ಅರೇಬಿಕ್" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "ಬೆಂಗಾಲಿ" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "ಝೆಕ್" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "ವೆಲ್ಷ್" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "ಡ್ಯಾನಿಷ್" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "ಜರ್ಮನ್" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "ಗ್ರೀಕ್" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "ಇಂಗ್ಲಿಷ್" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "ಸ್ಪ್ಯಾನಿಷ್" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "ಅರ್ಜೆಂಟೈನಾದ ಸ್ಪ್ಯಾನಿಷ್" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "ಫಿನ್ನಿಶ್" + +#: conf/global_settings.py:50 +msgid "French" +msgstr "ಫ್ರೆಂಚ್" + +#: conf/global_settings.py:51 +msgid "Galician" +msgstr "ಗ್ಯಾಲಿಶಿಯನ್" + +#: conf/global_settings.py:52 +msgid "Hungarian" +msgstr "ಹಂಗೇರಿಯನ್" + +#: conf/global_settings.py:53 +msgid "Hebrew" +msgstr "ಹೀಬ್ರೂ" + +#: conf/global_settings.py:54 +msgid "Icelandic" +msgstr "ಐಸ್‍ಲ್ಯಾಂಡಿಕ್" + +#: conf/global_settings.py:55 +msgid "Italian" +msgstr "ಇಟಾಲಿಯನ್" + +#: conf/global_settings.py:56 +msgid "Japanese" +msgstr "ಜಪಾನೀಸ್" + +#: conf/global_settings.py:57 +msgid "Dutch" +msgstr "ಡಚ್" + +#: conf/global_settings.py:58 +msgid "Norwegian" +msgstr "ನಾರ್ವೇಜಿಯನ್" + +#: conf/global_settings.py:59 +msgid "Brazilian" +msgstr "ಬ್ರಾಝಿಲಿಯನ್" + +#: conf/global_settings.py:60 +msgid "Romanian" +msgstr "ರೋಮೇನಿಯನ್" + +#: conf/global_settings.py:61 +msgid "Russian" +msgstr "ರಶಿಯನ್" + +#: conf/global_settings.py:62 +msgid "Slovak" +msgstr "ಸ್ಲೋವಾಕ್" + +#: conf/global_settings.py:63 +msgid "Slovenian" +msgstr "ಸ್ಲೋವೇನಿಯನ್" + +#: conf/global_settings.py:64 +msgid "Serbian" +msgstr "ಸೆರ್ಬಿಯನ್" + +#: conf/global_settings.py:65 +msgid "Swedish" +msgstr "ಸ್ವೀಡಿಷ್" + +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "ತಮಿಳು" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "ಟರ್ಕಿಶ್" + +#: conf/global_settings.py:68 +msgid "Ukrainian" +msgstr "ಯುಕ್ರೇನಿಯನ್" + +#: conf/global_settings.py:69 +msgid "Simplified Chinese" +msgstr "ಸರಳೀಕೃತ ಚೈನೀಸ್" + +#: conf/global_settings.py:70 +msgid "Traditional Chinese" +msgstr "ಸಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್ " + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"ಈ ಬೆಲೆಯು ಕೇವಲ ಅಕ್ಷರಗಳು , " +"ಅಂಕೆಗಳು ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) " +"ಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು" + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"ಈ ಬೆಲೆಯು ಅಕ್ಷರಗಳು , ಅಂಕೆಗಳು , " +"ಅಡಿಗೆರೆ ಅರ್ಥಾತ್ " +"ಅಂಡರ್ಸ್ಕೋರ್(_) ,ಅಡ್ಡಗೆರೆ " +"ಅರ್ಥಾತ್ ಡ್ಯಾಷ್(-) ಮತ್ತು " +"ಓರೆಗೆರೆ ಅರ್ಥಾತ್ ಸ್ಲ್ಯಾಶ್ (/) " +"ಗಳನ್ನು ಒಳಗೊಳ್ಳಬಹುದು." + +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"ಈ ಬೆಲೆಯು ಕೇವಲ ಅಕ್ಷರಗಳು , " +"ಅಂಕೆಗಳು ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) " +"ಮತ್ತು ಹೈಫನ್(-)ಗಳನ್ನು " +"ಒಳಗೊಂಡಿರಬೇಕು" + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "" +"ಇಂಗ್ಲೀಷ್ ದೊಡ್ಡಕ್ಷರಗಳನ್ನು " +"ಇಲ್ಲಿ ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "" +"ಇಂಗ್ಲೀಷ್ ಸಣ್ಣಕ್ಷರಗಳನ್ನು " +"ಇಲ್ಲಿ ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "" +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ ಬೇರ್ಪಟ್ಟ " +"ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ಬರೆಯಿರಿ." + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "" +"ಇ-ಅಂಚೆಗಳ ವಿಳಾಸಗಳನ್ನು, " +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ " +"ಬೇರ್ಪಟ್ಟಿರುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "ಸರಿಯಾದ IP ವಿಳಾಸ ಬರೆಯಿರಿ" + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "ಇಲ್ಲಿ ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ" + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "" +"ಅಂಕೆಗಳಲ್ಲದೆ ಯಾವದೇ " +"ಅಕ್ಷರಗಳನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "" +"ಈ ಬೆಲೆಯಲ್ಲಿ ಅಂಕೆಗಳಷ್ಟೇ " +"ಇರುವಂತಿಲ್ಲ" + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "ಪೂರ್ಣಾಂಕವೊಂದನ್ನು ಬರೆಯಿರಿ" + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "" +"ವರ್ಣಮಾಲೆಯ ಅಕ್ಷರಗಳನ್ನು " +"ಮಾತ್ರ ಇಲ್ಲಿ ಬಳಸಬಹುದು." + +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "" +"ವರ್ಷವು ೧೯೦೦ ಅಥವಾ " +"ನಂತರದ್ದಿರಬೇಕು." + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "ತಪ್ಪು ದಿನಾಂಕ: %s." + +#: core/validators.py:146 db/models/fields/__init__.py:415 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "" +"ಸರಿಯಾದ ದಿನಾಂಕವನ್ನು " +"ವವವವ-ತಿತಿ-ದಿದಿ ರೀತಿಗೆ " +"ಹೊಂದುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:151 +msgid "Enter a valid time in HH:MM format." +msgstr "" +"HH:MM ರೂಪದಲ್ಲಿ ಸರಿಯಾದ ಸಮಯವನ್ನು " +"ಬರೆಯಿರಿ" + +#: core/validators.py:155 db/models/fields/__init__.py:477 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "" +"ಸರಿಯಾದ ದಿನಾಂಕ/ವೇಳೆಯನ್ನು " +"ವವವವ-ತಿತಿ-ದಿದಿ ಗಗ:ನಿನಿ " +"ರೀತಿಗೆ ಹೊಂದುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:160 +msgid "Enter a valid e-mail address." +msgstr "" +"ಕ್ರಮಬದ್ಧ ವಿ-ವಿಳಾಸವೊಂದನ್ನು " +"ಇಲ್ಲಿ ಬರೆಯಿರಿ" + +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ಯಾವದೇ ಕಡತವನ್ನೂ " +"ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ.ನಮೂನೆಯ ಮೇಲಿನ " +"ಸಂಕೇತೀಕರಣ ಬಗೆಯನ್ನು " +"ಪರೀಕ್ಷಿಸಿ." + +#: core/validators.py:176 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ಸರಿಯಾದ ಚಿತ್ರವನ್ನು ಏರಿಸಿ. " +"ನೀವು ಏರಿಸಿದ ಕಡತವು ಚಿತ್ರವಲ್ಲ " +"ಅಥವಾ ಅದು ಕೆಟ್ಟು ಹೋಗಿರುವ " +"ಚಿತ್ರ. " + +#: core/validators.py:183 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "" +"%s URL ಸರಿಯಾದ ಚಿತ್ರದೆಡೆಗೆ " +"ಒಯ್ಯುತ್ತಿಲ್ಲ." + +#: core/validators.py:187 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"ದೂರವಾಣಿ ಅಂಕೆಗಳು XXX-XXX-XXXX " +"ರೀತಿಯಲ್ಲಿರಬೇಕು. \"%s\" " +"ತಪ್ಪಾಗಿರುತ್ತದೆ." + +#: core/validators.py:195 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "" +"%s URL ಸರಿಯಾದ ಕ್ವಿಕ್‍ಟೈಮ್ " +"ದೃಶ್ಯದೆಡೆಗೆ ಒಯ್ಯುತ್ತಿಲ್ಲ." + +#: core/validators.py:199 +msgid "A valid URL is required." +msgstr "ಸರಿಯಾದ URL ಅವಶ್ಯವಿದೆ" + +#: core/validators.py:213 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"ಸರಿಯಾದ HTML ಅವಶ್ಯ. ಇಲ್ಲಿನ " +"ನಿರ್ದಿಷ್ಟ ತಪ್ಪುಗಳು:\n" +"%s" + +#: core/validators.py:220 +#, python-format +msgid "Badly formed XML: %s" +msgstr "ತಪ್ಪು XML: %s" + +#: core/validators.py:230 +#, python-format +msgid "Invalid URL: %s" +msgstr "ತಪ್ಪು URL: %s" + +#: core/validators.py:234 core/validators.py:236 +#, python-format +msgid "The URL %s is a broken link." +msgstr "%s ಈ URL ಮುರಿದ ಕೊಂಡಿಯಾಗಿದೆ." + +#: core/validators.py:242 +msgid "Enter a valid U.S. state abbreviation." +msgstr "" +" ಅಮೇರಿಕೆಯ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನದ " +"ರಾಜ್ಯದ ಸರಿಯಾದ " +"ಸಂಕ್ಷಿಪ್ತರೂಪವನ್ನು ಕೊಡಿ." + +#: core/validators.py:256 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgstr "" +"ನಾಲಿಗೆ ಬಿಗಿ ಹಿಡಿಯಿರಿ! %s " +"ಶಬ್ದವನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ." +"ನಾಲಿಗೆ ಬಿಗಿ ಹಿಡಿಯಿರಿ! %s ಈ " +"ಶಬ್ದಗಳನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ." + +#: core/validators.py:263 +#, python-format +msgid "This field must match the '%s' field." +msgstr "" +"ಈ ಅಂಶವು '%s' ಅಂಶದೊಂದಿಗೆ " +"ಹೊಂದಿಕೊಳ್ಳಬೇಕು." + +#: core/validators.py:282 +msgid "Please enter something for at least one field." +msgstr "" +"ಕನಿಷ್ಠ ಒಂದು ಅಂಶದಲ್ಲಿ " +"ಏನನ್ನಾದರೂ ಬರೆಯಿರಿ." + +#: core/validators.py:291 core/validators.py:302 +msgid "Please enter both fields or leave them both empty." +msgstr "" +"ಎರಡೂ ಅಂಶಗಳನ್ನು ಭರತಿ ಮಾಡಿರಿ " +"ಅಥವಾ ಎರಡನ್ನೂ ಖಾಲಿಯಾಗಿಡಿ." + +#: core/validators.py:309 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "" +" %(field)s ಇದು %(value)s ಆಗಿದ್ದರೆ ಈ " +"ಅಂಶವನ್ನು ಕೊಡಲೇಬೇಕು" + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "" +" %(field)s ಇದು %(value)s ಆಗಿಲ್ಲದಿದ್ದರೆ ಈ " +"ಅಂಶವನ್ನು ಕೊಡಲೇಬೇಕು" + +#: core/validators.py:340 +msgid "Duplicate values are not allowed." +msgstr "" +"ಪಡಿಯಚ್ಚುಬೆಲೆಗಳಿಗೆ " +"ಅನುಮತಿಯಿಲ್ಲ" + +#: core/validators.py:363 +#, python-format +msgid "This value must be a power of %s." +msgstr "ಈ ಬೆಲೆಯು %sದ ಘಾತವಾಗಿರಬೇಕು." + +#: core/validators.py:374 +msgid "Please enter a valid decimal number." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆ ಬರೆಯಿರಿ" + +#: core/validators.py:378 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +"Please enter a valid decimal number with at most %s total digits." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಹೆಚ್ಚೆಂದರೆ " +"ಒಟ್ಟು %s ಅಂಕೆ ಇರುವಂತೆ - " +"ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಹೆಚ್ಚೆಂದರೆ " +"ಒಟ್ಟು %s ಅಂಕೆಗಳು ಇರುವಂತೆ - " +"ಬರೆಯಿರಿ." + +#: core/validators.py:381 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಪೂರ್ಣಾಂಕ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಅಂಕೆ " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಪೂರ್ಣಾಂಕ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಅಂಕೆಗಳು " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." + +#: core/validators.py:384 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +"Please enter a valid decimal number with at most %s decimal places." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ದಶಮಾಂಶ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಸ್ಥಾನ " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ದಶಮಾಂಶ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ %s ಸ್ಥಾನಗಳು " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." + +#: core/validators.py:394 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" +"ನೀವು ಏರಿಸಿದ ಕಡತವು ಕನಿಷ್ಟ %s " +"ಬೈಟ್‍ಗಳಷ್ಟು ದೊಡ್ಡದಿದೆ ಎಂದು " +"ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." + +#: core/validators.py:395 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"ನೀವು ಏರಿಸಿದ ಕಡತವು %s " +"ಬೈಟ್‍ಗಳಿಗಿಂತ ಹೆಚ್ಚಿರದ ಹಾಗೆ " +"ನೋಡಿಕೊಳ್ಳಿ." + +#: core/validators.py:412 +msgid "The format for this field is wrong." +msgstr "ಈ ಅಂಶದ ಸ್ವರೂಪವು ತಪ್ಪಾಗಿದೆ" + +#: core/validators.py:427 +msgid "This field is invalid." +msgstr "ಈ ಅಂಶವು ತಪ್ಪಾಗಿದೆ" + +#: core/validators.py:463 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "" +" %s ದಿಂದ ಏನನ್ನೂ " +"ಹೊರತೆಗೆದುಕೊಳ್ಳಲಾಗಲಿಲ್ಲ." + +#: core/validators.py:466 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +" %(url)s ಈ URL ತಪ್ಪು ಒಳವಿಷಯ-ಬಗೆಯ " +"ಶಿರೋ‍ಭಾಗ '%(contenttype)s' ಅನ್ನು " +"ಮರಳಿಸಿತು." + +#: core/validators.py:499 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"ದಯವಿಟ್ಟು %(line)s - ಸಾಲಿನಿಂದ " +"ಮುಚ್ಚಿರದ %(tag)s ಟ್ಯಾಗ್ ಅನ್ನು " +"ಮುಚ್ಚಿರಿ . (ಸಾಲು \"%(start)s\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:503 +#, 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\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:508 +#, 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\" ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:513 +#, 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\" ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:517 +#, 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\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:522 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +" %(line)s ನೆ ಸಾಲಿನಲ್ಲಿರುವ \"%(attr)s\" ಗೆ " +"ತಪ್ಪು ಬೆಲೆ ಇದೆ. (ಸಾಲು \"%(start)s\" " +"ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "" +" %(verbose_name)s ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ನಿರ್ಮಿಸಲಾಯಿತು." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "" +" %(verbose_name)s ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ಮಾರ್ಪಡಿಸಲಾಯಿತು." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "" +" %(verbose_name)s ಅನ್ನು " +"ತೆಗೆದುಹಾಕಲಾಯಿತು" + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" +"ಕೊಟ್ಟಿರುವ %(field)sಗೆ ಈ %(type)s " +"ಹೊಂದಿರುವ %(object)s ಈಗಾಗಲೇ ಇದೆ." + +#: db/models/fields/__init__.py:40 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "" +"ಈ %(fieldname)s ಹೊಂದಿರುವ %(optname)s ಈಗಾಗಲೇ " +"ಇದೆ." + +#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 +#: forms/__init__.py:346 +msgid "This field is required." +msgstr "ಈ ಅಂಶ ಅಗತ್ಯ." + +#: db/models/fields/__init__.py:340 +msgid "This value must be an integer." +msgstr "" +"ಈ ಬೆಲೆಯು ಪೂರ್ಣ ಸಂಖ್ಯೆ ಇರಬೇಕು." + +#: db/models/fields/__init__.py:372 +msgid "This value must be either True or False." +msgstr "" +"ಈ ಬೆಲೆಯು ಹೌದು ಅಥವಾ ಇಲ್ಲ " +"ಇರಬೇಕು." + +#: db/models/fields/__init__.py:388 +msgid "This field cannot be null." +msgstr "" +"ಈ ಅಂಶವನ್ನು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ." + +#: db/models/fields/__init__.py:571 +msgid "Enter a valid filename." +msgstr "" +"ಸರಿಯಾದ ಕಡತದ ಹೆಸರನ್ನು " +"ಬರೆಯಿರಿ" + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "ಸರಿಯಾದ %s ಅನ್ನು ಬರೆಯಿರಿ ." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "" +"ಅನೇಕ ಐಡಿಗಳನ್ನು " +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ " +"ಬೇರ್ಪಡಿಸಿರಿ" + +#: db/models/fields/related.py:620 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚನ್ನು " +"ಆಯ್ದುಕೊಳ್ಳಲು ಮ್ಯಾಕ್ ಗಣಕದ " +"ಮೇಲೆ \"ಕಂಟ್ರೋಲ್\", ಅಥವಾ " +"\"ಕಮ್ಯಾಂಡ್\" ಅನ್ನು ಒತ್ತಿ " +"ಹಿಡಿಯಿರಿ." + +#: db/models/fields/related.py:664 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ %(self)s " +"ಐಡಿಗಳನ್ನು ಸೂಚಿಸಿರಿ . ಈಗ " +"ಸೂಚಿಸಿದ %(value)r ತಪ್ಪಾಗಿದೆ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ %(self)s " +"ಐಡಿಗಳನ್ನು ಸೂಚಿಸಿರಿ . ಈಗ " +"ಸೂಚಿಸಿದ %(value)s ತಪ್ಪಾಗಿವೆ" + +#: forms/__init__.py:381 +#, python-format +msgid "Ensure your text is less than %s character." +msgstr "" +"ನಿಮ್ಮ ಗದ್ಯ %s ಅಕ್ಷರಕ್ಕಿಂತ " +"ಕಡಿಮೆ ಇರುವಂತೆ ಜಾಗ್ರತೆ ವಹಿಸಿ." +"ನಿಮ್ಮ ಗದ್ಯ %s ಅಕ್ಷರಗಳಿಗಿಂತ " +"ಕಡಿಮೆ ಇರುವಂತೆ ಜಾಗ್ರತೆ ವಹಿಸಿ." + +#: forms/__init__.py:386 +msgid "Line breaks are not allowed here." +msgstr "" +" ಇಲ್ಲಿ " +"ಸಾಲುಗಳನ್ನುತುಂಡರಿಸುವಂತಿಲ್ಲ" + +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" +"ಸರಿಯಾದ ಆಯ್ಕೆಯನ್ನು " +"ಆಯ್ದುಕೊಳ್ಳಿರಿ.'%(data)s' %(choices)s " +"ನಲ್ಲಿಲ್ಲ." + +#: forms/__init__.py:663 +msgid "The submitted file is empty." +msgstr "ಸಲ್ಲಿಸಲಾದ ಕಡತ ಖಾಲಿ ಇದೆ." + +#: forms/__init__.py:719 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "" +"-೩೨,೭೬೮ ಹಾಗೂ ೩೨,೭೬೭ ರ ನಡುವಿನ " +"ಪೂರ್ಣ ಸಂಖ್ಯೆ ಕೊಡಿ." + +#: forms/__init__.py:729 +msgid "Enter a positive number." +msgstr "ಧನಾತ್ಮಕ ಸಂಖ್ಯೆ ಕೊಡಿ." + +#: forms/__init__.py:739 +msgid "Enter a whole number between 0 and 32,767." +msgstr "" +"೦ ಮತ್ತು ೩೨,೭೬೭ ರ ನಡುವಿನ ಒಂದು " +"ಪೂರ್ಣಾಂಕ ಕೊಡಿ" + +#: template/defaultfilters.py:401 +msgid "yes,no,maybe" +msgstr "ಹೌದು,ಇಲ್ಲ,ಇರಬಹುದು" + diff --git a/django/conf/locale/kn/LC_MESSAGES/djangojs.mo b/django/conf/locale/kn/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..cbb9fb5ffcda977b7b04aec48115e7248b6a2539 GIT binary patch literal 2205 zcmaKrU1%It6vszfKN_tcQHw&=D^=Q1CTh=*7zh@wFZSGINm7ny1kn4UAvyvQ0&E_ii#i!(tdxw%( z-%_`S7>_d^W5`c>@qqnuoJWOwlC`Ur+i*y%0OY+BZQ}M|=bo<2%Ds zVHg{wRpQmn>dLnVu?g%I-{?qb+4IB7v~xfQ4IRy?Q8O9YkCKimQ)*}?@_bd&bLv1N zFiifO8fw%UaiS*7Ok(PjCQ^qgNhmxR&gL56g4!%=vgnC||n`?iTLwDTFdg8im_p)2)aSH=nDfag6F7)>mI>vOIxaCL(v9FUbDyp}15a_B_V_`-6 z-Ul|4DjQu_gGtK_pRdQdK7(1e7aR-s;w7jxbj`S8*!Ho(jne+ozIN_C-Gz?fFi1>* zn7J9UO3eGoi!;9Vf>&vZj$)I%cBDM&4z%q=%`p?X`+`bX^@3Va4NQ88lckGUb3RL( zS$Z~0Z)NEvl{FWYU7gI*FE~^f-N>4!vUJ&6++b!a&C+kO<|kQtl{YFjm$Q@`=d$z% z`*D^nE?lrS%qPTW^NbBeoR$}`go`Y_X3ubN0S)#J^9hxuh+7x;Qwc3`5pZpd?Mamz zUtJS$p%qZf$?%qgQtNR8BixceUJPW?Y^7&X4|bPm5;&hVDWlXdUmyyD(=5=57J5k( zIxFWa*v*|uvu*1Z^Kcwnk$3Fo+2mIV)iQT%D=%8_WJ+epraCqyYQO%Nv+wNLB@Rv_ z4CJNcl^{c2j1n91vXDQyWj2WVF<4?yE-}GgaJ>b`s-`NGgV17#yS(ANhxuK$2+gj% zM0UR8nQ@1z=h~U&oU3@_ao{=s7E!D3m~817Yi8*dH$c vZb?qI3CwLnNpU559, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Django-kn 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-01-08 20:22+0530\n" +"Last-Translator: Kannada Localization Team \n" +"Language-Team: Kannada \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "ಲಭ್ಯ %s " + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "ಎಲ್ಲವನ್ನೂ ಆಯ್ದುಕೊಳ್ಳಿ" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "ಸೇರಿಸಿ" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "%s ಆಯ್ದುಕೊಳ್ಳಲಾಗಿದೆ" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "" +"ನಿಮ್ಮ ಆಯ್ಕೆ(ಗಳ)ನ್ನು ಆರಿಸಿ " +"ಮತ್ತು ಕ್ಲಿಕ್ಕಿಸಿ" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "ಎಲ್ಲವನ್ನೂ ತೆರವುಗೊಳಿಸಿ" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"ಜನವರಿ ಫೆಬ್ರುವರಿ ಮಾರ್ಚ್ " +"ಎಪ್ರಿಲ್ ಮೇ ಜೂನ್ ಜುಲೈ ಆಗಸ್ಟ್ " +"ಸೆಪ್ಟೆಂಬರ್ ನವೆಂಬರ್ ಡಿಸೆಂಬರ್" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" +"ರವಿವಾರ ಸೋಮವಾರ ಮಂಗಳವಾರ " +"ಬುಧವಾರ ಗುರುವಾರ ಶುಕ್ರವಾರ " +"ಶನಿವಾರ" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "ರ ಸೋ ಮ ಬು ಗು ಶು ಶ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "ಈಗ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "ಗಡಿಯಾರ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "ಸಮಯವೊಂದನ್ನು ಆರಿಸಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "ಮಧ್ಯರಾತ್ರಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "ಬೆಳಗಿನ ೬ ಗಂಟೆ " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "ಮಧ್ಯಾಹ್ನ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "ರದ್ದುಗೊಳಿಸಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "ಈ ದಿನ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "ಪಂಚಾಂಗ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "ನಿನ್ನೆ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "ನಾಳೆ" diff --git a/django/conf/locale/mk/LC_MESSAGES/django.mo b/django/conf/locale/mk/LC_MESSAGES/django.mo index e9bffbb85bfc958fcad3de412b720c6572fb9a82..5ab5aa6cbbbc85764c14949c9515f2deeba6bf70 100644 GIT binary patch delta 12651 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Ð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 PPrcGaKhN2dWmW$lRLCcH diff --git a/django/conf/locale/mk/LC_MESSAGES/django.po b/django/conf/locale/mk/LC_MESSAGES/django.po index 171b8dc921..f23d8ed58a 100644 --- a/django/conf/locale/mk/LC_MESSAGES/django.po +++ b/django/conf/locale/mk/LC_MESSAGES/django.po @@ -1,18 +1,19 @@ -# translation of django.po to Macedonian +# translation of mk_django.po to Macedonian # -# Georgi Stanojevski , 2006. +# Georgi Stanojevski , 2006, 2007. msgid "" msgstr "" -"Project-Id-Version: django\n" +"Project-Id-Version: mk_django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-02-15 10:53+1100\n" -"PO-Revision-Date: 2006-12-04 15:58+0100\n" +"PO-Revision-Date: 2007-02-24 13:53+0100\n" "Last-Translator: Georgi Stanojevski \n" "Language-Team: Macedonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;" #: db/models/manipulators.py:305 #, python-format @@ -31,25 +32,18 @@ msgstr "Ве молам внесете правилно %s." #: db/models/fields/related.py:642 msgid "Separate multiple IDs with commas." -msgstr "Одвој ги повеќето идентификациони броеви со запирки." +msgstr "Одвојте ги идентификационите броеви со запирки." #: db/models/fields/related.py:644 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Држете го „Control“ или „Command“ на Мекинтош за да изберете повеќе од едно." +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Држете го „Control“ или „Command“ на Мекинтош за да изберете повеќе од едно." #: db/models/fields/related.py:691 #, 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] "" -"Ве молам внесете правилен %(self)s идентификацион број. Оваа вредност %" -"(value)r е неправилна. " -msgstr[1] "" -"Ве молам внесете правилен %(self)s идентификацион број. Вредностите %(value)" -"r се неправилни." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Ве молам внесете правилен %(self)s идентификацион број. Оваа вредност %(value)r е неправилна." +msgstr[1] "Ве молам внесете правилен %(self)s идентификацион број. Вредностите %(value)r се неправилни." #: db/models/fields/__init__.py:42 #, python-format @@ -161,24 +155,23 @@ msgstr "Јапонски" #: conf/global_settings.py:57 msgid "Latvian" -msgstr "" +msgstr "Латвиски" #: conf/global_settings.py:58 msgid "Macedonian" -msgstr "" +msgstr "Македонски" #: conf/global_settings.py:59 msgid "Dutch" -msgstr "Холандија" +msgstr "Холандски" #: conf/global_settings.py:60 msgid "Norwegian" msgstr "Норвешки" #: conf/global_settings.py:61 -#, fuzzy msgid "Polish" -msgstr "Англиски" +msgstr "Полски" #: conf/global_settings.py:62 msgid "Brazilian" @@ -509,20 +502,17 @@ msgstr "сесии" #: contrib/auth/forms.py:17 contrib/auth/forms.py:138 msgid "The two password fields didn't match." -msgstr "" +msgstr "Двете полиња со лозинките не се совпаѓаат." #: contrib/auth/forms.py:25 -#, fuzzy msgid "A user with that username already exists." -msgstr "%(optname)s со ова %(fieldname)s веќе постои." +msgstr "Веќе постои корисник со тоа корисничко име." #: contrib/auth/forms.py:53 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." -msgstr "" -"Не изгледа дека вашиот прелистувач има овозможено колачиња. Колачињата се " -"потребни за да се најавите." +msgstr "Не изгледа дека вашиот прелистувач има овозможено колачиња. Колачињата се потребни за да се најавите." #: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 msgid "" @@ -540,15 +530,15 @@ msgstr "Оваа сметка е неактивна." 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." -msgstr "" +msgstr "Двете нови лозинки не се совпаѓаат." #: contrib/auth/forms.py:124 msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "" +msgstr "Не ја внесовте точно вашата стара лозинка. Ве молам внесете ја повторно." #: contrib/auth/views.py:39 msgid "Logged out" @@ -610,7 +600,7 @@ msgstr "лозинка" msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." -msgstr "" +msgstr "Користете '[algo]$[salt]$[hexdigest]' или користете ја формата за промена на лозинката." #: contrib/auth/models.py:95 msgid "staff status" @@ -618,8 +608,7 @@ 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" @@ -742,8 +731,7 @@ msgid "URL" msgstr "URL" #: 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 "" "На пр. „/za/kontakt/“. Осигурајте се да имате коса црта и на крајот и на " "почетокот." @@ -1054,8 +1042,7 @@ msgid "No voting for yourself" msgstr "Нема гласање за самиот себе" #: contrib/comments/views/comments.py:27 -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 "" "Ова гласање за популарност е потребно бидејќи внесовте најмалку уште едно " "друго." @@ -1114,9 +1101,7 @@ msgstr "Некој ја променил формата за коментари msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" -msgstr "" -"Формата за коментар имаше неправилен „target“ параметар - идентификациониот " -"број на објектот беше неправилен." +msgstr "Формата за коментар имаше неправилен „target“ параметар - идентификациониот број на објектот беше неправилен" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 @@ -1316,8 +1301,7 @@ 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)" @@ -1438,10 +1422,7 @@ msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " "related objects, but your account doesn't have permission to delete the " "following types of objects:" -msgstr "" -"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " -"поврзаните објекти, но со вашата сметка немате доволно привилегии да ги " -"бришете следните типови на објекти." +msgstr "Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на поврзаните објекти, но со вашата сметка немате доволно привилегии да ги бришете следните типови на објекти:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format @@ -1575,7 +1556,7 @@ msgstr "Заради верификација внесете ја истата #: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." -msgstr "" +msgstr "Внесете нова лозинка за корисникот %(username)s." #: contrib/admin/templates/widget/file.html:2 msgid "Currently:" @@ -1595,8 +1576,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" @@ -1604,8 +1584,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 @@ -1619,8 +1598,7 @@ msgstr "Вашата нова лозинка е: %(new_password)s" #: contrib/admin/templates/registration/password_reset_email.html:7 msgid "Feel free to change this password by going to this page:" -msgstr "" -"Чуствувајте се слободно да ја промените оваа лозинка преку оваа страница:" +msgstr "Чуствувајте се слободно да ја промените оваа лозинка преку оваа страница:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" @@ -1699,9 +1677,7 @@ msgstr "Вашата лозинка беше сменета." 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 "Сте ја заборавиле вашата лозинка? Внесете ја вашата е-пошта подолу, ќе ја ресетираме вашата лозинка и новата ќе ви ја пратиме по е-пошта." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -1738,7 +1714,7 @@ msgstr "Додади %s" #: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." -msgstr "Додадено %s" +msgstr "Додадено %s." #: contrib/admin/views/main.py:337 #, python-format @@ -1761,8 +1737,7 @@ msgstr "%(name)s \"%(obj)s\" беше успешно изменета." #: contrib/admin/views/main.py:353 #, 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\" беше успешно додадена.Подолу можете повторно да ја " "уредите." @@ -1968,87 +1943,78 @@ msgid "Add user" msgstr "Додади корисник" #: contrib/admin/views/auth.py:57 -#, fuzzy msgid "Password changed successfully." -msgstr "Успешна промена на лозинката" +msgstr "Успешна промена на лозинката." #: contrib/admin/views/auth.py:64 -#, fuzzy, python-format +#, python-format msgid "Change password: %s" -msgstr "Промени лозинка" +msgstr "Промени лозинка: %s" #: newforms/fields.py:101 newforms/fields.py:254 -#, fuzzy, python-format +#, python-format msgid "Ensure this value has at most %d characters." -msgstr "Осигурајте се дека вашиот текст има помалку од %s знак." +msgstr "Осигурајте се дека оваа вредност има најмногу %d знаци." #: newforms/fields.py:103 newforms/fields.py:256 -#, fuzzy, python-format +#, python-format msgid "Ensure this value has at least %d characters." -msgstr "Осигурајте се дека вашиот текст има помалку од %s знак." +msgstr "Осигурајте се дека оваа вредност има најмалку %d знаци." #: newforms/fields.py:126 core/validators.py:120 msgid "Enter a whole number." msgstr "Внеси цел број." #: newforms/fields.py:128 -#, fuzzy, python-format +#, python-format msgid "Ensure this value is less than or equal to %s." -msgstr "Оваа вредноста мора да биде степен од %s." +msgstr "Осигурајте се дека оваа вредност е помала или еднаква на %s." #: newforms/fields.py:130 #, python-format msgid "Ensure this value is greater than or equal to %s." -msgstr "" +msgstr "Осигурајте се дека оваа вредност е поголема или еднаква со %s." #: newforms/fields.py:163 -#, fuzzy msgid "Enter a valid date." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете правилен датум." #: newforms/fields.py:190 -#, fuzzy msgid "Enter a valid time." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете правилно време." #: newforms/fields.py:226 -#, fuzzy msgid "Enter a valid date/time." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете правилен датум со време." #: newforms/fields.py:240 -#, fuzzy msgid "Enter a valid value." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете правилна вредност." #: newforms/fields.py:269 core/validators.py:161 msgid "Enter a valid e-mail address." -msgstr "Внесте правилна адреса за е-пошта." +msgstr "Внесeте правилна адреса за е-пошта." #: newforms/fields.py:287 newforms/fields.py:309 -#, fuzzy msgid "Enter a valid URL." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете правилна адреса." #: newforms/fields.py:311 -#, fuzzy msgid "This URL appears to be a broken link." -msgstr "Адресата %s е скршена врска." +msgstr "Оваа адреса изгледа дека не е достапна." #: newforms/fields.py:359 -#, fuzzy msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Изберете правилно, %(data)s' не е во %(choices)s." +msgstr "Изберете правилно. Тоа не е едно од можните избори." #: newforms/fields.py:377 newforms/fields.py:453 -#, fuzzy msgid "Enter a list of values." -msgstr "Внесите правилно име на датотека." +msgstr "Внесете листа на вредности." #: newforms/fields.py:386 -#, fuzzy, python-format +#, python-format msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Изберете правилно, %(data)s' не е во %(choices)s." +msgstr "Внесете правилно. %s не е еден од достапните вредности." #: template/defaultfilters.py:436 msgid "yes,no,maybe" @@ -2077,8 +2043,7 @@ msgstr "Оваа вредност смее да има само букви, бр 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." @@ -2127,7 +2092,7 @@ msgstr "Годината мора да биде 1900 или покасно." #: core/validators.py:143 #, python-format msgid "Invalid date: %s." -msgstr "Неправилен датум: %s" +msgstr "Неправилен датум: %s." #: core/validators.py:152 msgid "Enter a valid time in HH:MM format." @@ -2225,19 +2190,19 @@ msgid "Duplicate values are not allowed." msgstr "Дупликат вредности не се дозволени." #: core/validators.py:364 -#, fuzzy, python-format +#, python-format msgid "This value must be between %s and %s." -msgstr "Оваа вредноста мора да биде степен од %s." +msgstr "Оваа вредноста мора да биде помеѓу %s и %s." #: core/validators.py:366 -#, fuzzy, python-format +#, python-format msgid "This value must be at least %s." -msgstr "Оваа вредноста мора да биде степен од %s." +msgstr "Оваа вредноста мора да биде најмалку %s." #: core/validators.py:368 -#, fuzzy, python-format +#, python-format msgid "This value must be no more than %s." -msgstr "Оваа вредноста мора да биде степен од %s." +msgstr "Оваа вредност не смее да биде поголема од %s." #: core/validators.py:404 #, python-format @@ -2251,18 +2216,14 @@ msgstr "Ве молам внесете правилен децимален бр #: core/validators.py:419 #, 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] "Ве молам внесете правилен децимален број со најмногу %s цифрa." -msgstr[1] "" -"Ве молам внесете правилен децимален број со најмногу %s вкупно цифри." +msgstr[1] "Ве молам внесете правилен децимален број со најмногу %s вкупно цифри." #: core/validators.py:422 #, 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] "" "Ве молам внесете правилен децимален број кој во целиот број има најмногу %s " "цифра." @@ -2273,12 +2234,9 @@ msgstr[1] "" #: core/validators.py:425 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "" -"Ве молам внесете правилен децимален број кој има најмногу %s децимална цифра." -msgstr[1] "" -"Ве молам внесете правилен децимален број кој има најмногу %s децимални цифри." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Ве молам внесете правилен децимален број кој има најмногу %s децимална цифра." +msgstr[1] "Ве молам внесете правилен децимален број кој има најмногу %s децимални цифри." #: core/validators.py:435 #, python-format @@ -2305,10 +2263,8 @@ msgstr "Неможев да извадам ништо од %s." #: core/validators.py:507 #, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"Адресата %(url)s врати неправилно заглавје Content-Type „%(contenttype)s“." +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Адресата %(url)s врати неправилно заглавје Content-Type „%(contenttype)s“." #: core/validators.py:540 #, python-format @@ -2360,13 +2316,5 @@ msgstr "" msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " "starts with \"%(start)s\".)" -msgstr "" -"Атрибутот „%(attr)s“ на линијата %(line)s има неправилна вредност (линијата " -"започнува со „%(start)s“)." +msgstr "Атрибутот „%(attr)s“ на линијата %(line)s има неправилна вредност (линијата започнува со „%(start)s“)." -#~ msgid "Have you forgotten your password?" -#~ msgstr "" -#~ "Дали ја заборавите вашата лозинката?" - -#~ msgid "Use '[algo]$[salt]$[hexdigest]'" -#~ msgstr "Користи '[algo]$[salt]$[hexdigest]'" diff --git a/django/conf/locale/mk/LC_MESSAGES/djangojs.mo b/django/conf/locale/mk/LC_MESSAGES/djangojs.mo index 7053d95b4f3d346836aa19cef8284b8889eb7d49..64971dc55ebb068818963c184807f582b0b236f3 100644 GIT binary patch delta 639 zcmZY6IYd2eR+EVL6YzO?#|4XvB#C7y|X;?&|n8}b+v zz&Ltw1ev7thpT!{K1#HAsY`_iIE%Y-kp%3?Q&X}S(q@zTy?!+gm&^M~^4=S-< zMj?bsFo+|VLM6_j^5jv4w{VR^lrY5ji$&VF#m8+J!U*+EA0163u?r`#2j{T`^QfEI z#Ry)ZPFTS+d_b*VWVbSl+DHNQeG%L704MPpwV`)RQ{Vi!FP7^57Uoa|3aGz8ekUoyf9(t;2nz4e9i1y2ZFo%ng}VLXF!tVL~TY(^WP(J@--mu$FyO z+4M?z#&hA#tZ$azJdeTQ*ia&tNJZnxvD9eg-g{#;T-vp#ZM*t(QpxxStl+r@cFn%E L@9b*%D6sbntj|L2 delta 556 zcmY+>ze~eF6u|LInzUAJs1PHH+83tr z8&mj;lQ_UJ%$mu*i#g^CIF3ckVs&JQHuF6^zFLQx?)tX~mS3cbe}e8wq!8?ArfJo(iRgGDwRqE2H8, 2006. +# Georgi Stanojevski , 2006, 2007. msgid "" msgstr "" "Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-02-15 10:53+1100\n" -"PO-Revision-Date: 2006-12-04 16:18+0100\n" +"PO-Revision-Date: 2007-02-24 13:49+0100\n" "Last-Translator: Georgi Stanojevski \n" "Language-Team: Macedonian \n" "MIME-Version: 1.0\n" @@ -111,8 +111,9 @@ msgstr "Утре" #: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 #: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 msgid "Show" -msgstr "" +msgstr "Прикажи" #: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 msgid "Hide" -msgstr "" +msgstr "Скриј" + diff --git a/django/conf/locale/sl/LC_MESSAGES/django.mo b/django/conf/locale/sl/LC_MESSAGES/django.mo index 12253610c445ddd8f8f308af05696dfc176ce7ab..a96fd554ef9e72f74f68610437f52f0e8a2dfca4 100644 GIT binary patch delta 10962 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 delta 11669 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 diff --git a/django/conf/locale/sl/LC_MESSAGES/django.po b/django/conf/locale/sl/LC_MESSAGES/django.po index 5a9b6d6b46..b0617a5bd8 100644 --- a/django/conf/locale/sl/LC_MESSAGES/django.po +++ b/django/conf/locale/sl/LC_MESSAGES/django.po @@ -1,7 +1,9 @@ # translation of django.po to Slovenian # Igor Kolar , 2006. +# Jure Cuhalev , 2006, 2007. +# Gasper Koren , 2007. +# Jozko Skrablin , 2007. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. msgid "" @@ -9,8 +11,8 @@ msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-16 10:13+0200\n" -"PO-Revision-Date: 2006-07-29 11:52+0100\n" -"Last-Translator: Jure Čuhalev \n" +"PO-Revision-Date: 2007-02-15 21:47+0100\n" +"Last-Translator: Gasper Koren \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -90,7 +92,7 @@ msgstr "je odstranjen/-a" #: 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 "Odkljukaj, če je komntar neprimeren. Namesto komentarja bo vidno obvestilo \"Ta komentar je bil odstranjen\"." +msgstr "Odkljukaj, če je komentar neprimeren. Namesto komentarja bo vidno obvestilo \"Ta komentar je bil odstranjen\"." #: contrib/comments/models.py:91 msgid "comments" @@ -126,7 +128,7 @@ msgstr "ip naslov" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "potrjeno s strani osebja" +msgstr "osebje je potrdilo" #: contrib/comments/models.py:176 msgid "free comment" @@ -174,7 +176,7 @@ msgstr "datum označitve (zastavice)" #: contrib/comments/models.py:268 msgid "user flag" -msgstr "uporabnikova zastavica" +msgstr "uporabniška zastavica" #: contrib/comments/models.py:269 msgid "user flags" @@ -204,7 +206,7 @@ msgstr "Izbris opravil moderator %r" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" -msgstr "Anonimni upirabniki ne morejo glasovati" +msgstr "Anonimni uporabniki ne morejo glasovati" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" @@ -216,7 +218,7 @@ msgstr "Ni mogoče glasovati zase" #: contrib/comments/views/comments.py:28 msgid "This rating is required because you've entered at least one other rating." -msgstr "Moraš podati tole oceno, ker si podal vsaj še eno drugo oceno." +msgstr "To oceno moraš podati, ker si podal vsaj še eno drugo oceno." #: contrib/comments/views/comments.py:112 #, python-format @@ -233,17 +235,17 @@ msgstr[0] "" "\n" "%(text)s" msgstr[1] "" -"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentar:\n" -"\n" -"%(text)s" -msgstr[2] "" "Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarja:\n" "\n" "%(text)s" -msgstr[3] "" +msgstr[2] "" "Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarje:\n" "\n" "%(text)s" +msgstr[3] "" +"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarjev:\n" +"\n" +"%(text)s" #: contrib/comments/views/comments.py:117 #, python-format @@ -259,7 +261,7 @@ msgstr "" #: contrib/comments/views/comments.py:189 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" -msgstr "Dovoljena je le metoda POST" +msgstr "Dovoljena je le POST metoda" #: contrib/comments/views/comments.py:193 #: contrib/comments/views/comments.py:284 @@ -398,7 +400,7 @@ msgstr "Neznano" #: contrib/admin/models.py:16 msgid "action time" -msgstr "čas oprave dejanja" +msgstr "čas dejanja" #: contrib/admin/models.py:19 msgid "object id" @@ -410,7 +412,7 @@ msgstr "predstavitev objekta" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "zastavica za določeno dejanje" +msgstr "zastavica dejanja" #: contrib/admin/models.py:22 msgid "change message" @@ -432,7 +434,7 @@ msgstr "Vsi datumi" #: contrib/auth/forms.py:36 #: contrib/auth/forms.py:41 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Prosimo, vnesite veljavno uporabniško ime in geslo. Opomba: obe polji sta občutljivi na velikost črk" +msgstr "Prosimo, vnesite veljavno uporabniško ime in geslo. Opomba: obe polji upoštevata velikost črk." #: contrib/admin/views/decorators.py:23 #: contrib/admin/templates/admin/login.html:25 @@ -441,11 +443,11 @@ msgstr "Prijavite se" #: contrib/admin/views/decorators.py:61 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Vaša seja je pretekla; prosimo, prijavite se znova. Ne skrbite, vaše objave so varno shranjene." +msgstr "Vaša seja je pretekla; prosimo da se ponovno prijavite. Brez skrbi, vaše objave so varno shranjene." #: contrib/admin/views/decorators.py:68 msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Izgleda, da vaš brskalnik nima podpore za piškotke. Prosimo, vključite piškotke, znova naložite to stran in poskusite še enkrat." +msgstr "Izgleda, da vaš brskalnik nima podpore za piškotke. Prosimo, vključite piškotke, osvežite stran in poskusite še enkrat." #: contrib/admin/views/decorators.py:82 msgid "Usernames cannot contain the '@' character." @@ -454,7 +456,7 @@ msgstr "Uporabniška imena ne smejo vsebovati znaka '@'." #: contrib/admin/views/decorators.py:84 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Vaš e-mail naslov ne morete uporabljati kot uporabniško ime. Namesto tega uporabite '%s'." +msgstr "Vaš e-main naslov ni vaše uporabniško ime. Poskusite uporabiti '%s'." #: contrib/admin/views/main.py:226 msgid "Site administration" @@ -484,7 +486,7 @@ msgstr "Dodaj %s" #: contrib/admin/views/main.py:336 #, python-format msgid "Added %s." -msgstr "Dodal %s." +msgstr "Dodan %s." #: contrib/admin/views/main.py:336 #: contrib/admin/views/main.py:338 @@ -495,12 +497,12 @@ msgstr "in" #: contrib/admin/views/main.py:338 #, python-format msgid "Changed %s." -msgstr "Spremenil %s." +msgstr "Spremenjen %s." #: contrib/admin/views/main.py:340 #, python-format msgid "Deleted %s." -msgstr "Izbrisal %s." +msgstr "Izbrisn %s." #: contrib/admin/views/main.py:343 msgid "No fields changed." @@ -509,12 +511,12 @@ msgstr "Nobeno polje ni bilo spremenjeno." #: contrib/admin/views/main.py:346 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno spremenjeno." +msgstr "%(name)s \"%(obj)s\" je bil uspešno spremenjeno." #: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno dodano. Znova ga lahko urejate spodaj." +msgstr "%(name)s \"%(obj)s\" je bil uspešno dodano. Ponovno ga lahko urejdite spodaj." #: contrib/admin/views/main.py:392 #, python-format @@ -534,7 +536,7 @@ msgstr "Eden ali več %(fieldname)s v %(name)s:" #: contrib/admin/views/main.py:508 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno izbrisano." +msgstr "%(name)s \"%(obj)s\" je bilo uspešno izbrisan." #: contrib/admin/views/main.py:511 msgid "Are you sure?" @@ -562,11 +564,11 @@ msgstr "Izberite %s, ki ga želite spremeniti" #: contrib/admin/views/doc.py:295 #: contrib/admin/views/doc.py:297 msgid "Integer" -msgstr "Število (integer)" +msgstr "Celo število (integer)" #: contrib/admin/views/doc.py:278 msgid "Boolean (Either True or False)" -msgstr "Boolean (ali True ali False)" +msgstr "Boolean (True ali False)" #: contrib/admin/views/doc.py:279 #: contrib/admin/views/doc.py:296 @@ -576,19 +578,19 @@ msgstr "Niz (vse do %(maxlength)s)" #: contrib/admin/views/doc.py:280 msgid "Comma-separated integers" -msgstr "Z vejico ločeni integerji" +msgstr "Z vejico ločena cela števila (integer)" #: contrib/admin/views/doc.py:281 msgid "Date (without time)" -msgstr "Datum (brez časa)" +msgstr "Datum (brez ure)" #: contrib/admin/views/doc.py:282 msgid "Date (with time)" -msgstr "Datum (s časom)" +msgstr "Datum (z uro)" #: contrib/admin/views/doc.py:283 msgid "E-mail address" -msgstr "E-naslov" +msgstr "E-mail naslov" #: contrib/admin/views/doc.py:284 #: contrib/admin/views/doc.py:287 @@ -601,7 +603,7 @@ msgstr "Decimalno število" #: contrib/admin/views/doc.py:291 msgid "Boolean (Either True, False or None)" -msgstr "Boolean (ali True ali False ali None)" +msgstr "Boolean (True, False ali None)" #: contrib/admin/views/doc.py:292 msgid "Relation to parent model" @@ -701,11 +703,11 @@ msgstr "N j, Y, H:i" #: 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 "Ta objekt nima zgodovine. Verjetno ni bil dodan preko te administratorske strani." +msgstr "Ta objekt nima zgodovine sprememb. Verjetno ni bil dodan preko te strani za administracijo." #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" -msgstr "Django site admin" +msgstr "Vmesnik za administracijo Django strani" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" @@ -717,7 +719,7 @@ msgstr "Napaka strežnika" #: contrib/admin/templates/admin/500.html:6 msgid "Server error (500)" -msgstr "Django napaka (500)" +msgstr "Napaka strežnika (500)" #: contrib/admin/templates/admin/500.html:9 msgid "Server Error (500)" @@ -725,7 +727,7 @@ msgstr "Napaka strežnika (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 "Prišlo je do nepričakovane napake. Administratorji strani so že obveščeni prekoe-pošte in naj bi jo v kratkem odpravili. Hvala za vaše potrpljenje." +msgstr "Prišlo je do nepričakovane napake. Administrator je preko e-pošte prejel obvestilo o napaki in jo bo v kratkem odpravil. Hvala za potrpljenje." #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -734,7 +736,7 @@ msgstr "Strani ni mogoče najti" #: contrib/admin/templates/admin/404.html:10 msgid "We're sorry, but the requested page could not be found." -msgstr "Se opravičujemo, a zahtevane strani ni mogoče najti." +msgstr "Opravičujemo se, a zahtevane strani ni mogoče najti." #: contrib/admin/templates/admin/index.html:17 #, python-format @@ -773,7 +775,7 @@ msgstr "Dodaj %(name)s" #: contrib/admin/templates/admin/login.html:22 msgid "Have you forgotten your password?" -msgstr "Ste pozabili geslo" +msgstr "Ste pozabili geslo?" #: contrib/admin/templates/admin/base.html:23 msgid "Welcome," @@ -787,7 +789,7 @@ msgstr "Izbriši" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Izbris %(object_name)s '%(object)s' bi pomenil izbris povezanih objektov, vendarvi nimate dovoljenja za izbris naslednjih tipov objektov:" +msgstr "Izbris %(object_name)s '%(object)s' bi pomenil izbris povezanih objektov, vendar nimate dovoljenja za izbris naslednjih tipov objektov:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format @@ -815,17 +817,17 @@ msgstr "Poglej na strani" msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Prosimo, odpravite sledečo napako." -msgstr[1] "Prosimo, odpravite sledeče napake." -msgstr[2] "Prosimo, odpravite sledeči napaki." +msgstr[1] "Prosimo, odpravite sledeči napaki." +msgstr[2] "Prosimo, odpravite sledeče napake." msgstr[3] "Prosimo, odpravite sledeče napake." #: contrib/admin/templates/admin/change_form.html:48 msgid "Ordering" -msgstr "Urejanje" +msgstr "Razvrščanje" #: contrib/admin/templates/admin/change_form.html:51 msgid "Order:" -msgstr "Uredi:" +msgstr "Razvrsti:" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -853,7 +855,7 @@ msgstr "Sprememba gesla" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 msgid "Password change successful" -msgstr "Geslo uspešno spremenjeno" +msgstr "Sprememba gesla je uspela" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." @@ -864,23 +866,23 @@ msgstr "Vaše geslo je bilo spremenjeno." #: contrib/admin/templates/registration/password_reset_form.html:10 #: contrib/admin/templates/registration/password_reset_done.html:4 msgid "Password reset" -msgstr "Obnova gesla" +msgstr "Ponastavitev gesla" #: 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 "Ste pozabili geslo? Vnesite vaš e-naslov spodaj in mi vam bomo poslali novo geslo." +msgstr "Ste pozabili geslo? Vnesite vaš e-mail naslov in poslali vam bomo novo geslo." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "E-naslov" +msgstr "Naslov e-pošte:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" -msgstr "Obnova gesla" +msgstr "Ponastavi moje geslo" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala, ker ste si vzeli nekaj časa za to spletno stran." +msgstr "Hvala, ker ste si danes vzeli nekaj časa za to spletno stran." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -889,15 +891,15 @@ msgstr "Ponovna prijava" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Geslo je bilo uspešno obnovljeno" +msgstr "Ponastavitev gesla je uspela" #: 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 "Po e-pošti smo vam poslali novo geslo.Morali bi ga prejeti v kratkem" +msgstr "Po e-pošti smo vam poslali novo geslo. Morali bi ga prejeti v kratkem" #: 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 "Prosim, vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo(da preverimo, da se niste zatipkali)" +msgstr "Prosim, vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo (da preverimo, da se niste zatipkali)" #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -913,16 +915,16 @@ msgstr "Potrditev gesla:" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" -msgstr "Sprememba gesla" +msgstr "Spremeni moje geslo" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "To pošto ste dobili, ker ste zahtevali spremembo gesla" +msgstr "Ta e-mail ste dobili, ker ste zahtevali ponastavitev gesla" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "za vaš uporabniški račun pri %(site_name)s" +msgstr "za vaš uporabniški račun na %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format @@ -935,7 +937,7 @@ msgstr "Geslo lahko spremenite z obiskom strani:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "Vaše uporabniško ime (za vsak primer)" +msgstr "Vaše uporabniško ime (za vsak primer):" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" @@ -955,6 +957,7 @@ msgid "Documentation bookmarklets" msgstr "Dokumentacijske zaznamkice" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#, fuzzy msgid "" "\n" "

                      To install bookmarklets, drag the link to your bookmarks\n" @@ -966,11 +969,11 @@ msgid "" msgstr "" "\n" "

                      Za inštalacijo zaznamkic povlečite povezavo v orodno vrstico\n" -"z zaznamki, ali kliknite z desno miškino tipko na povezavo in jo dodajte med zaznamkeZdaj lahko uporabite zaznamek s katere koli strani. Opomba: nekatere teh stranilahko gledate le z internega računalnika (preverite s sistemskim administratorjem)

                      \n" +"z zaznamki, ali kliknite z desno miškino tipko na povezavo in jo dodajte med zaznamke. Zdaj lahko izberete zaznamkico s katerekoli strani. Opomba: nekatere izmed teh strani lahko gledate le z računalnika, ki je označen kot \"notranji\" (v kolikor niste prepričani, če je vaš računalnik označen kot \"notranji\"se obrnite na sistemskega administratorja).

                      \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" -msgstr "Dokumentacija za to stran" +msgstr "Dokumentacija te strani" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 msgid "Jumps you from any page to the documentation for the view that generates that page." @@ -986,7 +989,7 @@ msgstr "Pokaže content-type in unikatni ID za strani, ki predstavljajo en objek #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" -msgstr "Uredi trenutni objekt (v trenutnem oknu)" +msgstr "Uredi objekt (v trenutnem oknu)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." @@ -1006,7 +1009,7 @@ msgstr "Datum:" #: contrib/admin/templates/widget/date_time.html:4 msgid "Time:" -msgstr "Čas:" +msgstr "Ura:" #: contrib/admin/templates/widget/file.html:2 msgid "Currently:" @@ -1022,7 +1025,7 @@ msgstr "preusmeritev iz" #: contrib/redirects/models.py:8 msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "To mora biti absolutna pot, izključujoč domeno. Primer: '/events/search'-" +msgstr "Ta pot mora biti absolutna, brez imena domene. Primer: '/events/search'" #: contrib/redirects/models.py:9 msgid "redirect to" @@ -1030,7 +1033,7 @@ msgstr "preusmeri na" #: contrib/redirects/models.py:10 msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "To je ali absolutna pot (kot zgoraj) ali popoln URL naslov (začne se z 'http://')" +msgstr "To je lahko absolutna pot (kot zgoraj) ali popoln URL naslov (ki se začne s 'http://')" #: contrib/redirects/models.py:12 msgid "redirect" @@ -1042,7 +1045,7 @@ msgstr "preusmeritve" #: contrib/flatpages/models.py:8 msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Primer: '/about/contact/'. Mora vsebovati / (poševnico) na začetku in koncu." +msgstr "Primer: '/about/contact/'. Preverite ali vsebuje / (poševnico) na začetku in koncu vnosa." #: contrib/flatpages/models.py:9 msgid "title" @@ -1070,7 +1073,7 @@ msgstr "obvezna registracija" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Če je to polje odkljukano, si lahko to stran ogledajo le registrirani uporabniki." +msgstr "Če je to polje izbrano, si bodo to stran lahko ogledali le prijavljeni uporabniki." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1121,7 +1124,7 @@ msgstr "priimek" #: contrib/auth/models.py:58 msgid "e-mail address" -msgstr "e-naslov" +msgstr "e-mail naslov" #: contrib/auth/models.py:59 msgid "password" @@ -1157,7 +1160,7 @@ msgstr "član od" #: contrib/auth/models.py:66 msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "Polek ročno določenih dovoljenj bo ta uporabnik dobil tudi vsa dovoljenja,ki pripadajo vsem skupinah, v katerih je." +msgstr "Poleg ročno določenih dovoljenj bo ta uporabnik dobil tudi vsa dovoljenja, ki pripadajo skupinam, katerih član je." #: contrib/auth/models.py:67 msgid "user permissions" @@ -1201,19 +1204,19 @@ msgstr "python ime razreda modela" #: contrib/contenttypes/models.py:28 msgid "content type" -msgstr "content type" +msgstr "tip vsebine" #: contrib/contenttypes/models.py:29 msgid "content types" -msgstr "content types" +msgstr "tipi vsebine" #: contrib/sessions/models.py:35 msgid "session key" -msgstr "sejni ključ" +msgstr "ključ seje" #: contrib/sessions/models.py:36 msgid "session data" -msgstr "podatki v seji" +msgstr "podatki seje" #: contrib/sessions/models.py:37 msgid "expire date" @@ -1415,50 +1418,50 @@ msgstr "dec." #: utils/timesince.py:12 msgid "year" msgid_plural "years" -msgstr[0] "let" -msgstr[1] "leto" -msgstr[2] "leti" -msgstr[3] "leta" +msgstr[0] "leto" +msgstr[1] "leti" +msgstr[2] "leta" +msgstr[3] "let" #: utils/timesince.py:13 msgid "month" msgid_plural "months" -msgstr[0] "mesecev" -msgstr[1] "mesec" -msgstr[2] "meseca" -msgstr[3] "meseci" +msgstr[0] "mesec" +msgstr[1] "meseca" +msgstr[2] "meseci" +msgstr[3] "mesecev" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "tednov" -msgstr[1] "teden" -msgstr[2] "tedna" +msgstr[0] "teden" +msgstr[1] "tedna" +msgstr[2] "tedni" msgstr[3] "tednov" #: utils/timesince.py:15 msgid "day" msgid_plural "days" -msgstr[0] "dni" -msgstr[1] "dan" -msgstr[2] "dneva" +msgstr[0] "dan" +msgstr[1] "dneva" +msgstr[2] "dnevi" msgstr[3] "dni" #: utils/timesince.py:16 msgid "hour" msgid_plural "hours" -msgstr[0] "ur" -msgstr[1] "ura" -msgstr[2] "uri" -msgstr[3] "ure" +msgstr[0] "ura" +msgstr[1] "uri" +msgstr[2] "ure" +msgstr[3] "ur" #: utils/timesince.py:17 msgid "minute" msgid_plural "minutes" -msgstr[0] "minut" -msgstr[1] "minuta" -msgstr[2] "minuti" -msgstr[3] "minute" +msgstr[0] "minuta" +msgstr[1] "minuti" +msgstr[2] "minute" +msgstr[3] "minut" #: conf/global_settings.py:37 msgid "Bengali" @@ -1562,7 +1565,7 @@ msgstr "Ukrajinski" #: conf/global_settings.py:62 msgid "Simplified Chinese" -msgstr "Poenostavljen kitajski" +msgstr "Poenostavljeni kitajski" #: conf/global_settings.py:63 msgid "Traditional Chinese" @@ -1570,27 +1573,27 @@ msgstr "Tradicionalni kitajski" #: core/validators.py:60 msgid "This value must contain only letters, numbers and underscores." -msgstr "To polje lahko vsebuje le črke, števila in podčrtaje (_)." +msgstr "Ta vrednost mora vsebovati le črke, števila in podčrtaje (_)." #: core/validators.py:64 msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "To polje lahko vsebuje le črke, števila, podčrtaje, poševnice ali pomišljaje." +msgstr "Ta vrednost mora vsebovati le črke, števila, podčrtaje, poševnice ali pomišljaje." #: core/validators.py:72 msgid "Uppercase letters are not allowed here." -msgstr "Velike tiskane črke tu niso dovoljene." +msgstr "Velike tiskane črke niso dovoljene." #: core/validators.py:76 msgid "Lowercase letters are not allowed here." -msgstr "Majhne tiskane črke tu niso dovoljene." +msgstr "Majhne tiskane črke niso dovoljene." #: core/validators.py:83 msgid "Enter only digits separated by commas." -msgstr "Vnesite števila, ločena z vejicami." +msgstr "Vnesite samo števila, ločena z vejicami." #: core/validators.py:95 msgid "Enter valid e-mail addresses separated by commas." -msgstr "Vnesite veljavne e-pošne naslove, ločene z vejicami." +msgstr "Vnesite veljavne e-mail naslove, ločene z vejicami." #: core/validators.py:99 msgid "Please enter a valid IP address." @@ -1602,11 +1605,11 @@ msgstr "Prazne vrednosti tu niso dovoljene." #: core/validators.py:107 msgid "Non-numeric characters aren't allowed here." -msgstr "Nenumerične vrednosti tukaj niso dovoljne." +msgstr "Nenumerični znaki tukaj niso dovoljne." #: core/validators.py:111 msgid "This value can't be comprised solely of digits." -msgstr "To polje ne sme vsebovati le števk." +msgstr "Ta vrednost ne sme vsebovati le števk." #: core/validators.py:116 msgid "Enter a whole number." @@ -1614,7 +1617,7 @@ msgstr "Vnesite celo število." #: core/validators.py:120 msgid "Only alphabetical characters are allowed here." -msgstr "Le črke iz abecede so dovoljene tukaj." +msgstr "Tukaj so dovoljene samo črke." #: core/validators.py:124 msgid "Enter a valid date in YYYY-MM-DD format." @@ -1631,11 +1634,11 @@ msgstr "Vnesite veljavni datum/čas v zapisu YYYY-MM-DD HH:MM (leto-mesec-dan ur #: core/validators.py:136 msgid "Enter a valid e-mail address." -msgstr "Vnesite veljavni e-naslov." +msgstr "Vnesite veljaven e-mail." #: core/validators.py:148 msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Uploadjate veljavno sliko. Trenutna datoteka ni bila niti slika niti okvarjena slika." +msgstr "Naložite veljavno sliko. Naložena datoteka ni bila slika ali pa je bila le-ta okvarjena." #: core/validators.py:155 #, python-format @@ -1654,7 +1657,7 @@ msgstr "URL %s ne kaže na veljavni QuickTime video." #: core/validators.py:171 msgid "A valid URL is required." -msgstr "Potreben je veljavni URL naslov." +msgstr "Potreben je veljaven URL naslov." #: core/validators.py:185 #, python-format @@ -1662,24 +1665,24 @@ msgid "" "Valid HTML is required. Specific errors are:\n" "%s" msgstr "" -"Potreben je veljavni HTML. Trenutni ima sledeče napake:\n" +"Potreben je veljaven HTML. Trenutni ima sledeče napake:\n" "%s" #: core/validators.py:192 #, python-format msgid "Badly formed XML: %s" -msgstr "Pokvarjen XML: %s" +msgstr "Nepravilen XML: %s" #: core/validators.py:202 #, python-format msgid "Invalid URL: %s" -msgstr "Neveljavni URL naslov: %s" +msgstr "Neveljaven URL naslov: %s" #: core/validators.py:206 #: core/validators.py:208 #, python-format msgid "The URL %s is a broken link." -msgstr "URL povezava %s je polomljena." +msgstr "URL povezava %s ne deluje." #: core/validators.py:214 msgid "Enter a valid U.S. state abbreviation." @@ -1690,7 +1693,7 @@ msgstr "Vnesi veljavno okrajšavo za ameriško zvezno državo." 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] "Pazite na jezik! Beseda %s tu ni dovoljena." -msgstr[1] "Pazite na jezik! Besede %s tu niso dovoljene." +msgstr[1] "Pazite na jezik! Besedi %s tu nista dovoljeni." msgstr[2] "Pazite na jezik! Besede %s tu niso dovoljene." msgstr[3] "Pazite na jezik! Besede %s tu niso dovoljene." @@ -1701,22 +1704,22 @@ msgstr "To polje mora ustrezati polju '%s'." #: core/validators.py:255 msgid "Please enter something for at least one field." -msgstr "Prosim, vnesite nekaj v vsaj eno od polj." +msgstr "Prosim, vnesite nekaj v vsaj eno izmed polj." #: core/validators.py:264 #: core/validators.py:275 msgid "Please enter both fields or leave them both empty." -msgstr "Prosimo, izpolnite obe polji ali ju pustite obe prazni." +msgstr "Prosimo, izpolnite obe polji ali pa pustite obe prazni." #: core/validators.py:282 #, python-format msgid "This field must be given if %(field)s is %(value)s" -msgstr "To polje mora biti izpolnjeno, če je %(field)s %(value)s" +msgstr "To polje mora biti podano, če je %(field)s %(value)s" #: core/validators.py:294 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "To polje mora biti izpolnjeno, če ni %(field)s %(value)s" +msgstr "To polje mora biti podano, če ni %(field)s %(value)s" #: core/validators.py:313 msgid "Duplicate values are not allowed." @@ -1729,7 +1732,7 @@ msgstr "Ta vrednost mora biti potenca od %s." #: core/validators.py:347 msgid "Please enter a valid decimal number." -msgstr "Prosim vnesite decimalno število." +msgstr "Prosim vnesite veljavno decimalno število." #: core/validators.py:349 #, python-format @@ -1745,19 +1748,19 @@ msgstr[3] "Prosimo, vnesite veljavno decimalno število z največ %s števkami." msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "Please enter a valid decimal number with at most %s decimal places." msgstr[0] "Prosimo, vnesite veljavno decimalno število z največ %s decimalnim mestom." -msgstr[1] "Prosimo, vnesite veljavno decimalno število z največ %s decimalnimi mesti." +msgstr[1] "Prosimo, vnesite veljavno decimalno število z največ %s decimalnima mestoma." msgstr[2] "Prosimo, vnesite veljavno decimalno število z največ %s decimalnimi mesti." msgstr[3] "Prosimo, vnesite veljavno decimalno število z največ %s decimalnimi mesti." #: core/validators.py:362 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Prosimo, poskrbite, da bo prenesena datoteka velika vsaj %s bajtov." +msgstr "Prosimo, poskrbite, da bo naložena datoteka velika vsaj %s bajtov." #: core/validators.py:363 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Poskrbite, da bo prenesena datoteka velika največ %s bajtov." +msgstr "Poskrbite, da bo naložena datoteka velika največ %s bajtov." #: core/validators.py:376 msgid "The format for this field is wrong." @@ -1770,7 +1773,7 @@ msgstr "To polje ni veljavno." #: core/validators.py:426 #, python-format msgid "Could not retrieve anything from %s." -msgstr "Iz %s nisem mogel izločiti ničesar." +msgstr "Iz %s nisem mogel pridobiti ničesar." #: core/validators.py:429 #, python-format @@ -1780,7 +1783,7 @@ msgstr "URL %(url)s je vrnil neveljavni Content-Type '%(contenttype)s'." #: core/validators.py:462 #, python-format msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" -msgstr "Prosimo, zaprite nezaprto %(tag)s oznako v vrstici %(line)s. (Vrstica se začne z \"%(start)s\".)" +msgstr "Prosimo, zaprite %(tag)s oznako v vrstici %(line)s. (Vrstica se začne z \"%(start)s\".)" #: core/validators.py:466 #, python-format @@ -1790,7 +1793,7 @@ msgstr "Tekst z začetka vrstice %(line)s ni dovoljen v tem kontekstu. (Vrstica #: core/validators.py:471 #, python-format msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "\"%(attr)s\" v vrstici %(line)s je neveljavna oznaka. (Vrstica se začne z \"%(start)s\".)" +msgstr "\"%(attr)s\" v vrstici %(line)s je neveljaven atribut. (Vrstica se začne z \"%(start)s\".)" #: core/validators.py:476 #, python-format @@ -1800,12 +1803,12 @@ msgstr "\"<%(tag)s>\" v vrstici %(line)s je neveljavna oznaka. (Vrstica se začn #: core/validators.py:480 #, python-format msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" -msgstr "Oznaki na vrstici %(line)s manjka eden ali več zahtevanih parametrov. (Vrstica se začne z \"%(start)s\".)" +msgstr "Oznaki v vrstici %(line)s manjka eden ali več zahtevanih parametrov. (Vrstica se začne z \"%(start)s\".)" #: core/validators.py:485 #, python-format msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" -msgstr "Atribut \"%(attr)s\" v vrstici %(line)s vsebuje neveljavno vrednost. (Vrstica se začne z \"%(start)s\".)" +msgstr "Parameter \"%(attr)s\" v vrstici %(line)s vsebuje neveljavno vrednost. (Vrstica se začne z \"%(start)s\".)" #: db/models/manipulators.py:302 #, python-format @@ -1827,7 +1830,7 @@ msgstr "To polje je obvezno" #: db/models/fields/__init__.py:337 msgid "This value must be an integer." -msgstr "Ta vrednost mora biti število." +msgstr "Ta vrednost mora biti celo število." #: db/models/fields/__init__.py:369 msgid "This value must be either True or False." @@ -1858,8 +1861,8 @@ msgstr "Držite \"Control\" (ali \"Command\" na Mac-u), za izbiro več kot enega #, 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] "Prosimo, vnesite veljavne %(self)s ID-je. Vrednost %(value)r ni veljavna." -msgstr[1] "Prosimo, vnesite veljavni %(self)s ID. Vrednosti %(value)r niso veljavne." +msgstr[0] "Prosimo, vnesite veljavne %(self)s ID-e. Vrednost %(value)r ni veljavna." +msgstr[1] "Prosimo, vnesite veljavne %(self)s ID-je. Vrednosti %(value)r nista veljavni." msgstr[2] "Prosimo, vnesite veljavne %(self)s ID-je. Vrednosti %(value)r niso veljavne." msgstr[3] "Prosimo, vnesite veljavne %(self)s ID-je. Vrednosti %(value)r niso veljavne." @@ -1867,8 +1870,8 @@ msgstr[3] "Prosimo, vnesite veljavne %(self)s ID-je. Vrednosti %(value)r niso ve #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Poskrbite, da bo tekst krajši od %s znakov." -msgstr[1] "Poskrbite, da bo tekst krajši od %s znaka." +msgstr[0] "Poskrbite, da bo tekst krajši od %s znaka." +msgstr[1] "Poskrbite, da bo tekst krajši od %s znakov." msgstr[2] "Poskrbite, da bo tekst krajši od %s znakov." msgstr[3] "Poskrbite, da bo tekst krajši od %s znakov." @@ -1885,11 +1888,11 @@ msgstr "Izberite veljavno možnost; '%(data)s' ni v %(choices)s." #: forms/__init__.py:645 msgid "The submitted file is empty." -msgstr "Poslano polje je prazno." +msgstr "Poslana datoteka je prazna." #: forms/__init__.py:699 msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Vnesite celo število med -32,768 in 32,767." +msgstr "Vnesite celo število med -32.768 in 32.767." #: forms/__init__.py:708 msgid "Enter a positive number." @@ -1897,11 +1900,11 @@ msgstr "Vnesite pozitivno število." #: forms/__init__.py:717 msgid "Enter a whole number between 0 and 32,767." -msgstr "Vnesite celo število med 0 in 32,767." +msgstr "Vnesite celo število med 0 in 32.767." #: template/defaultfilters.py:379 msgid "yes,no,maybe" -msgstr "ja,ne,morda" +msgstr "da,ne,morda" msgid "Comment" msgstr "Komentar" diff --git a/django/conf/locale/sr/LC_MESSAGES/django.mo b/django/conf/locale/sr/LC_MESSAGES/django.mo index 06ac3cde5ab874cb8a5c87c6fc4a083b22871b6f..c942838b09e08632bc49d255b97615e576a3c3f5 100644 GIT binary patch delta 12154 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 BL<0Z- diff --git a/django/conf/locale/sr/LC_MESSAGES/django.po b/django/conf/locale/sr/LC_MESSAGES/django.po index ad45c28457..3d7cef4f2b 100644 --- a/django/conf/locale/sr/LC_MESSAGES/django.po +++ b/django/conf/locale/sr/LC_MESSAGES/django.po @@ -3,101 +3,99 @@ msgstr "" "Project-Id-Version: Django Serbian (latin) translation v1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2006-01-15 11:21+0100\n" -"Last-Translator: Nebojša Đorđević \n" -"Language-Team: Nesh & Petar \n" +"PO-Revision-Date: 2007-02-20 18:50+0100\n" +"Last-Translator: Petar Marić \n" +"Language-Team: Nesh & Petar \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" -"X-Poedit-Language: Serbian\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-Poedit-Country: YUGOSLAVIA\n" "X-Poedit-SourceCharset: utf-8\n" "X-Poedit-Basepath: ../../../../\n" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: contrib/comments/models.py:67 +#: contrib/comments/models.py:166 msgid "object ID" -msgstr "id objekta" +msgstr "ID objekta" #: contrib/comments/models.py:68 msgid "headline" msgstr "naslov" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:69 +#: contrib/comments/models.py:90 #: contrib/comments/models.py:167 msgid "comment" msgstr "komentar" #: contrib/comments/models.py:70 msgid "rating #1" -msgstr "rejting #1" +msgstr "ocena #1" #: contrib/comments/models.py:71 msgid "rating #2" -msgstr "rejting #2" +msgstr "ocena #2" #: contrib/comments/models.py:72 msgid "rating #3" -msgstr "rejting #3" +msgstr "ocena #3" #: contrib/comments/models.py:73 msgid "rating #4" -msgstr "rejting #4" +msgstr "ocena #4" #: contrib/comments/models.py:74 msgid "rating #5" -msgstr "rejting #5" +msgstr "ocena #5" #: contrib/comments/models.py:75 msgid "rating #6" -msgstr "rejting #6" +msgstr "ocena #6" #: contrib/comments/models.py:76 msgid "rating #7" -msgstr "rejting #7" +msgstr "ocena #7" #: contrib/comments/models.py:77 msgid "rating #8" -msgstr "rejting #8" +msgstr "ocena #8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "da li je rejting validan" +msgstr "da li je ocena validna" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:83 +#: contrib/comments/models.py:169 msgid "date/time submitted" msgstr "datum/vreme slanja" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:84 +#: contrib/comments/models.py:170 msgid "is public" msgstr "da li je javni" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:289 msgid "IP address" msgstr "IP adresa" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "obrisan je" +msgstr "da li je obrisan" #: 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 "" -"Selektujte ako je komentar neodgovarajući. Biće ispisano \"Ovaj komentar je " -"obrisan\" umesto teksta komentara." +msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." +msgstr "Izaberite ako je komentar neodgovarajući. Biće ispisano \"Ovaj komentar je obrisan\" umesto teksta komentara." #: contrib/comments/models.py:91 -#, fuzzy msgid "comments" -msgstr "komentar" +msgstr "komentari" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:131 +#: contrib/comments/models.py:207 msgid "Content object" -msgstr "Objekt sa sadržajem" +msgstr "Objekat sa sadržajem" #: contrib/comments/models.py:159 #, python-format @@ -108,7 +106,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"Poslao %(user)s u %(date)s\n" +"Poslao %(user)s dana %(date)s\n" "\n" "%(comment)s\n" "\n" @@ -124,17 +122,15 @@ msgstr "ip adresa" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "odobreno od moderatora" +msgstr "odobreno od strane moderatora" #: contrib/comments/models.py:176 -#, fuzzy msgid "free comment" -msgstr "Slobodan komentar" +msgstr "slobodan komentar" #: contrib/comments/models.py:177 -#, fuzzy msgid "free comments" -msgstr "Slobodni komentari" +msgstr "slobodni komentari" #: contrib/comments/models.py:233 msgid "score" @@ -145,19 +141,17 @@ msgid "score date" msgstr "datum rezultata" #: contrib/comments/models.py:237 -#, fuzzy msgid "karma score" -msgstr "\"Karma\" rezultat" +msgstr "\"karma\" rezultat" #: contrib/comments/models.py:238 -#, fuzzy msgid "karma scores" -msgstr "\"Karma\" rezultati" +msgstr "\"karma\" rezultati" #: contrib/comments/models.py:242 #, python-format msgid "%(score)d rating by %(user)s" -msgstr "Rezultat %(score)d od %(user)s" +msgstr "Ocena %(score)d od strane %(user)s" #: contrib/comments/models.py:258 #, python-format @@ -166,42 +160,38 @@ msgid "" "\n" "%(text)s" msgstr "" -"Ovaj komentar je markiran od %(user)s:\n" +"Ovaj komentar je označen od %(user)s:\n" "\n" "%(text)s" #: contrib/comments/models.py:265 msgid "flag date" -msgstr "datum markiranja" +msgstr "datum označavanja" #: contrib/comments/models.py:268 -#, fuzzy msgid "user flag" -msgstr "Korisnički marker" +msgstr "korisnička oznaka" #: contrib/comments/models.py:269 -#, fuzzy msgid "user flags" -msgstr "Korisnički markeri" +msgstr "korisničke oznake" #: contrib/comments/models.py:273 #, python-format msgid "Flag by %r" -msgstr "%r je markirao" +msgstr "%r je označio" #: contrib/comments/models.py:278 msgid "deletion date" msgstr "datum brisanja" #: contrib/comments/models.py:280 -#, fuzzy msgid "moderator deletion" -msgstr "Brisanje od strane moderatora" +msgstr "brisanje od strane moderatora" #: contrib/comments/models.py:281 -#, fuzzy msgid "moderator deletions" -msgstr "Brisanja od strane moderatora" +msgstr "brisanja od strane moderatora" #: contrib/comments/models.py:285 #, python-format @@ -218,43 +208,39 @@ msgstr "Neispravan ID komentara" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" -msgstr "Ne možete da glasate sami za sebe" +msgstr "Ne možete glasati sami za sebe" # nesh: grrrrr, ala je rogobatno +# petar: malo sam ga izmenio da bude jasniji #: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Ovaj rejting je obavezan pošto ste uneli još najmanje jedan rejting." +msgid "This rating is required because you've entered at least one other rating." +msgstr "Ova ocena je obavezna pošto ste uneli bar jednu ocenu." #: contrib/comments/views/comments.py:112 #, python-format msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" +"This comment was posted by a user who has posted fewer than %(count)s comment:\n" "\n" "%(text)s" msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" +"This comment was posted by a user who has posted fewer than %(count)s comments:\n" "\n" "%(text)s" msgstr[0] "" -"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s " -"komentara:\n" +"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s komentara:\n" "\n" "%(text)s" msgstr[1] "" -"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s " -"komentara:\n" +"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s komentara:\n" "\n" "%(text)s" msgstr[2] "" -"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s " -"komentara:\n" +"Ovaj komentar je poslat od korisnika koji je poslao manje od %(count)s komentara:\n" "\n" "%(text)s" # nesh: skethcy??? +# petar: Pojma nemam sta im to znaci #: contrib/comments/views/comments.py:117 #, python-format msgid "" @@ -262,7 +248,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"Ovaj komentar je poslat od \"sketcy\" korisnika:\n" +"Komentar je poslat od strane \"sketchy\" korisnika:\n" "\n" "%(text)s" @@ -274,25 +260,22 @@ msgstr "Jedino je POST dozvoljen" #: contrib/comments/views/comments.py:193 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Jedno ili više obaveznih polja nije poslato." +msgstr "Jedno ili više obaveznih polja nije poslato" #: contrib/comments/views/comments.py:197 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Neko je menjao form za komentare (povreda sigurnosti)" +msgstr "Neko je menjao formu za komentare (povreda sigurnosti)" #: contrib/comments/views/comments.py:207 #: contrib/comments/views/comments.py:292 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"Form komentara ima neispravni 'target' parametar -- ID objekta nije ispravan" +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "Forma komentara ima neispravni 'target' parametar -- ID objekta je neispravan" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Ovaj komentar nije koristio 'preview' ili 'post'" +msgstr "Ovaj komentar nije koristio ni 'preview' ni 'post'" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -306,9 +289,8 @@ msgid "Password:" msgstr "Lozinka:" #: contrib/comments/templates/comments/form.html:6 -#, fuzzy msgid "Forgotten your password?" -msgstr "Izmeni moju lozinku" +msgstr "Zaboravili ste lozinku?" #: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 @@ -329,43 +311,39 @@ msgstr "Izmeni moju lozinku" #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 msgid "Log out" -msgstr "Odjavi se" +msgstr "Odjavite se" #: contrib/comments/templates/comments/form.html:12 -#, fuzzy msgid "Ratings" -msgstr "rejting #1" +msgstr "Ocene" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "" +msgstr "Obavezan unos" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "" +msgstr "Opcioni unos" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" -msgstr "" +msgstr "Pošaljite sliku" #: contrib/comments/templates/comments/form.html:27 #: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy msgid "Comment:" -msgstr "Komentar" +msgstr "Komentar:" #: contrib/comments/templates/comments/form.html:32 #: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy msgid "Preview comment" -msgstr "Slobodan komentar" +msgstr "Pregled komentara" #: contrib/comments/templates/comments/freeform.html:4 -#, fuzzy msgid "Your name:" -msgstr "korisničko ime" +msgstr "Vaše ime:" #: contrib/admin/filterspecs.py:40 #, python-format @@ -373,10 +351,11 @@ msgid "" "

                      By %s:

                      \n" "
                        \n" msgstr "" -"

                        Od %s:

                        \n" +"

                        Po %s:

                        \n" "
                          \n" -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:70 +#: contrib/admin/filterspecs.py:88 #: contrib/admin/filterspecs.py:143 msgid "All" msgstr "Sve" @@ -391,15 +370,15 @@ msgstr "Danas" #: contrib/admin/filterspecs.py:113 msgid "Past 7 days" -msgstr "Zadnjih sedam dana" +msgstr "U zadnjih 7 dana" #: contrib/admin/filterspecs.py:115 msgid "This month" -msgstr "Ovaj mesec" +msgstr "Ovoga meseca" #: contrib/admin/filterspecs.py:117 msgid "This year" -msgstr "Ova godina" +msgstr "Ove godine" #: contrib/admin/filterspecs.py:143 msgid "Yes" @@ -415,7 +394,7 @@ msgstr "Nepoznato" #: contrib/admin/models.py:16 msgid "action time" -msgstr "vreme akcije" +msgstr "vreme aktivnosti" #: contrib/admin/models.py:19 msgid "object id" @@ -427,53 +406,42 @@ msgstr "opis objekta" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "akcija" +msgstr "oznaka aktivnosti" #: contrib/admin/models.py:22 msgid "change message" -msgstr "opis promene" +msgstr "opis izmene" #: contrib/admin/models.py:25 msgid "log entry" -msgstr "unos u dnevnik izmena" +msgstr "unos u dnevniku izmena" #: contrib/admin/models.py:26 msgid "log entries" -msgstr "unosi u dnevnik izmena" +msgstr "unosi u dnevniku izmena" #: contrib/admin/templatetags/admin_list.py:228 msgid "All dates" msgstr "Svi datumi" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 +#: contrib/admin/views/decorators.py:9 +#: contrib/auth/forms.py:36 #: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Unesite ispravno korisničko ime i šifru. Napomena: oba polja prave razliku " -"između velikih i malih slova." +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Unesite ispravno korisničko ime i šifru. Napomena: oba polja prave razliku između velikih i malih slova." #: contrib/admin/views/decorators.py:23 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" -msgstr "Prijavi se" +msgstr "Prijavite se" #: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Ponovo se prijavite pošto je vaša sesija istekla. Ne brinite, vaši podaci su " -"sačuvani." +msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." +msgstr "Ponovo se prijavite pošto je vaša sesija istekla. Ne brinite, vaši podaci su sačuvani." #: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Izgleda da vaš browser ne podržava \"cookie\". Uključite ih, ponovo učitajte " -"stranu i pokušajte ponovo." +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Vaš internet čitač nije prihvatio \"cookie\". Nakon aktiviranja odgovarajuće opcije ponovo učitajte stranu." #: contrib/admin/views/decorators.py:82 msgid "Usernames cannot contain the '@' character." @@ -482,7 +450,7 @@ msgstr "Korisnička imena ne mogu sadržati karakter '@'." #: contrib/admin/views/decorators.py:84 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Vaša e-mail adresa nije koriničko ime. Probajte sa '%s'." +msgstr "Vaše korisničko ime nije data e-mail adresa. Pokušajte sa '%s'." #: contrib/admin/views/main.py:226 msgid "Site administration" @@ -493,26 +461,29 @@ msgstr "Administracija sajta" msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Uspešno dodat %(name)s \"%(obj)s\"." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/main.py:264 +#: contrib/admin/views/main.py:348 msgid "You may edit it again below." -msgstr "Ispod ga možete ponovo izmeniti." +msgstr "Možete ga ponovo izmeniti." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:272 +#: contrib/admin/views/main.py:357 #, python-format msgid "You may add another %s below." -msgstr "Ispod možete dodati još jedan %s." +msgstr "Možete dodati još jedan %s." #: contrib/admin/views/main.py:290 #, python-format msgid "Add %s" -msgstr "Dodaj %s" +msgstr "Dodajte %s" #: contrib/admin/views/main.py:336 #, python-format msgid "Added %s." msgstr "Dodat %s" -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:338 #: contrib/admin/views/main.py:340 msgid "and" msgstr "i" @@ -525,11 +496,11 @@ msgstr "Izmenjen %s." #: contrib/admin/views/main.py:340 #, python-format msgid "Deleted %s." -msgstr "Obrisan %s" +msgstr "Obrisan %s." #: contrib/admin/views/main.py:343 msgid "No fields changed." -msgstr "Nijedno polje nije promenjeno." +msgstr "Nijedno polje nije izmenjeno." #: contrib/admin/views/main.py:346 #, python-format @@ -538,9 +509,8 @@ msgstr "Uspešno izmenjen: %(name)s \"%(obj)s\"." #: contrib/admin/views/main.py:354 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" je uspešno dodat. Ispod ga možete ponovo menjati." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" je uspešno dodat. Možete ga ponovo izmeniti." #: contrib/admin/views/main.py:392 #, python-format @@ -574,16 +544,19 @@ msgstr "Istorija izmena: %s" #: contrib/admin/views/main.py:565 #, python-format msgid "Select %s" -msgstr "Izaberi %s" +msgstr "Izaberite %s" #: contrib/admin/views/main.py:565 #, python-format msgid "Select %s to change" -msgstr "Izaberi %s za izmenu" +msgstr "Izaberite %s za izmenu" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 +#: contrib/admin/views/doc.py:277 +#: contrib/admin/views/doc.py:286 +#: contrib/admin/views/doc.py:288 +#: contrib/admin/views/doc.py:294 +#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:297 msgid "Integer" msgstr "Ceo broj" @@ -591,7 +564,8 @@ msgstr "Ceo broj" msgid "Boolean (Either True or False)" msgstr "Logička vrednost (Tačno ili Netačno)" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:279 +#: contrib/admin/views/doc.py:296 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Niz karaktera (maksimalno %(maxlength)s karaktera)" @@ -612,9 +586,10 @@ msgstr "Datum (sa vremenom)" msgid "E-mail address" msgstr "E-mail adresa" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:284 +#: contrib/admin/views/doc.py:287 msgid "File path" -msgstr "Putanja do fajla" +msgstr "Putanja do datoteke" #: contrib/admin/views/doc.py:285 msgid "Decimal number" @@ -626,7 +601,7 @@ msgstr "Logička vrednost (Tačno, Netačno ili prazno)" #: contrib/admin/views/doc.py:292 msgid "Relation to parent model" -msgstr "Relacija prema nadređenom objektu" +msgstr "Relacija ka nadređenom objektu" #: contrib/admin/views/doc.py:293 msgid "Phone number" @@ -640,9 +615,8 @@ msgstr "Tekst" msgid "Time" msgstr "Vreme" -# nesh: ovo se valjda ne prevodi -# petar: ne prevodi se -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:300 +#: contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" @@ -683,7 +657,7 @@ msgstr "Dokumentacija" #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 msgid "Change password" -msgstr "Izmeni lozinku" +msgstr "Izmenite lozinku" #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/500.html:4 @@ -715,19 +689,15 @@ msgstr "Korisnik" #: contrib/admin/templates/admin/object_history.html:20 msgid "Action" -msgstr "Akcija" +msgstr "Aktivnost" #: contrib/admin/templates/admin/object_history.html:26 msgid "DATE_WITH_TIME_FULL" msgstr "j. N Y, H:i" #: 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 "" -"Ovaj objekat nema istoriju promena. Najverovatnije nije dodat korišćenjem " -"administracije sajta." +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Ovaj objekat nema istoriju promena. Najverovatnije nije dodat korišćenjem administracije sajta." #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" @@ -750,12 +720,8 @@ msgid "Server Error (500)" msgstr "Greška na serveru (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 "" -"Dogodila se greška koja je prijavljena administratorima i biće popravljena " -"uskoro. Hvala Vam na strpljenju." +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 "Dogodila se greška koja je prijavljena administratorima." #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -769,16 +735,16 @@ msgstr "Tražena strana ne postoji." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." -msgstr "" +msgstr "Dostupni modeli u aplikaciji %(name)s." #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" -msgstr "Dodaj" +msgstr "Dodajte" #: contrib/admin/templates/admin/index.html:34 msgid "Change" -msgstr "Izmena" +msgstr "Izmenite" #: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." @@ -786,24 +752,24 @@ msgstr "Nemate prava da vršite izmene." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" -msgstr "Skorije akcije" +msgstr "Poslednje aktivnosti" #: contrib/admin/templates/admin/index.html:53 msgid "My Actions" -msgstr "Moje akcije" +msgstr "Moje aktivnosti" #: contrib/admin/templates/admin/index.html:57 msgid "None available" -msgstr "Nema dostupnih" +msgstr "Bez aktivnosti" #: contrib/admin/templates/admin/change_list.html:11 #, python-format msgid "Add %(name)s" -msgstr "Dodaj %(name)s" +msgstr "Dodajte %(name)s" #: contrib/admin/templates/admin/login.html:22 msgid "Have you forgotten your password?" -msgstr "Da li ste zaboravili Vašu lozinku??" +msgstr "Da li ste zaboravili vašu lozinku??" #: contrib/admin/templates/admin/base.html:23 msgid "Welcome," @@ -812,26 +778,17 @@ msgstr "Dobrodošli," #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" -msgstr "Obriši" +msgstr "Obrišite" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format -msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Brisanjem %(object_name)s '%(object)s' došlo bi do brisanja dodatnih " -"podataka, ali nemate prava da brišete sledeće tipove podataka:" +msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Brisanjem %(object_name)s '%(object)s' došlo bi do brisanja pridruženih objekata, ali nemate prava da brišete sledeće objekte:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"Da li ste sigurni da želite da obrišete %(object_name)s \"%(object)s\"? Biće " -"obrisani i sledeći pridruženi objekti:" +msgid "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of the following related items will be deleted:" +msgstr "Da li ste sigurni da želite da obrišete %(object_name)s \"%(object)s\"? Takođe će biti obrisani sledeći pridruženi objekti:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" @@ -840,11 +797,11 @@ msgstr "Da, siguran sam" #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(title)s " -msgstr "Po %(title)s " +msgstr " Po %(title)s " #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" -msgstr "Uradi" +msgstr "Nađi" #: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" @@ -867,26 +824,26 @@ msgstr "Red:" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" -msgstr "Snimi kao novi" +msgstr "Snimite kao novi" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save and add another" -msgstr "Snimi i dodaj još jedan" +msgstr "Snimite i dodaj još jedan" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and continue editing" -msgstr "Snimi i nastavi sa izmenama" +msgstr "Snimite i nastavite sa izmenama" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save" -msgstr "Snimi" +msgstr "Snimite" #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 #: contrib/admin/templates/registration/password_change_form.html:10 msgid "Password change" -msgstr "Izmena lozinke" +msgstr "Izmenite lozinku" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 @@ -905,12 +862,8 @@ msgid "Password reset" msgstr "Resetovanje lozinke" #: 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 "" -"Zaboravili ste svoju lozinku? Unesite vašu e-mail adresu i dobićete novu " -"lozinku na dati e-mail." +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 "Zaboravili ste svoju lozinku? Unesite vašu e-mail adresu i dobićete novu lozinku na dati e-mail." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -918,7 +871,7 @@ msgstr "E-mail adresa:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" -msgstr "Resetuj moju lozinku" +msgstr "Resetujte moju lozinku" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -926,7 +879,7 @@ msgstr "Hvala Vam na poseti." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" -msgstr "Prijavi se ponovo" +msgstr "Prijavite se ponovo" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -934,20 +887,12 @@ msgid "Password reset successful" msgstr "Vaša lozinka je uspešno resetovana" #: 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 "" -"Nova lozinka poslata vam je na zadatu e-mail adresu. E-mail bi trebao da " -"stigne u narednih nekoliko minuta." +msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "Nova lozinka vam je poslata na zadatu e-mail adresu. E-mail bi trebao da stigne u narednih nekoliko minuta." #: 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 "" -"Unesite staru lozinku, nakon toga unesite novu lozinku dva puta, radi " -"provere ispravnosti unosa." +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 "Unesite staru lozinku, nakon toga unesite novu lozinku dva puta, radi provere ispravnosti unosa." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -963,11 +908,11 @@ msgstr "Potvrdite novu lozinku:" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" -msgstr "Izmeni moju lozinku" +msgstr "Izmenite moju lozinku" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Primili ste ovaj e-mail jer ste tražili resetovanje lozinke" +msgstr "Primili ste ovaj e-mail jer ste zatražili resetovanje lozinke" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -1015,36 +960,23 @@ msgid "" "your computer is \"internal\").

                          \n" msgstr "" "\n" -"

                          Da bi ste instalirali \"bookmarklet\", odvučite link u " -"vaše \"bookmark\"-e, ili kliknite desnim tasterom i dodajte ga. Sada možete " -"da izaberete \"bookmark\" sa bilo koje strane na sajtu. Napomena: pristup " -"nekima od strana mora biti sa kompjutera čija je IP adresa označena kao " -"\"internal\" (kontaktirajte sistem administratora ako niste sigurni da li je " -"vaš IP označen kao \"internal\").

                          \n" +"

                          Da bi ste instalirali \"bookmarklet\", odvucite link u vaše \"bookmark\"-e, ili kliknite desnim tasterom i dodajte ga. Sada možete da izaberete \"bookmark\" sa bilo koje strane na sajtu. Napomena: pristup nekima od strana mora biti sa kompjutera čija je IP adresa označena kao \"internal\" (kontaktirajte sistem administratora ako niste sigurni da li je vaš IP označen kao \"internal\").

                          \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" msgstr "Dokumentacija za ovu stranu" #: 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 "" -"Skače sa bilo koje strane na stranu sa dokumentacijom za \"view\" koji " -"generiše tu stranu." +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Skače sa bilo koje strane na stranu sa dokumentacijom za \"view\" koji generiše tu stranu." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "Prikaži ID objekta" +msgstr "Prikažite ID objekta" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Prikazuje \"content-type\" i jedinstveni ID strane koje predstavlja jedan " -"objekt." +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Prikazuje \"content-type\" i jedinstveni ID strane koje predstavlja jedan objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -1056,7 +988,7 @@ msgstr "Skače na admin stranu za strane koje predstavljaju objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" -msgstr "Izmeni objekt (novi prozor)" +msgstr "Izmeni objekat (novi prozor)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." @@ -1080,42 +1012,31 @@ msgstr "Izmenite:" #: contrib/redirects/models.py:7 msgid "redirect from" -msgstr "redirekcija od" +msgstr "preusmeri od" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Ovde treba upisati apsolutnu putanju bez imena domena. Primer: '/events/" -"search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Unesite apsolutnu putanju bez imena domena. Primer: '/dogadjaji/pretraga/'." #: contrib/redirects/models.py:9 msgid "redirect to" -msgstr "redirekcija na" +msgstr "preusmeri ka" #: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Ovo može biti apsolutna putanja (kao gore) ili puni URL koji počinje sa " -"'http://'." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Može biti apsolutna putanja (kao gore) ili puni URL koji počinje sa 'http://'." #: contrib/redirects/models.py:12 msgid "redirect" -msgstr "redirekcija" +msgstr "Preusmeravanje" #: contrib/redirects/models.py:13 msgid "redirects" -msgstr "redirekcije" +msgstr "Preusmeravanja" #: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Primer: '/about/contact/'. Proverite da li ste uneli početnu i kranju kosu " -"crtu." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Primer: '/o-nama/kontakt/'. Proverite da li ste uneli '/' na početku i na kraju." #: contrib/flatpages/models.py:9 msgid "title" @@ -1131,15 +1052,11 @@ msgstr "omogućite komentare" #: contrib/flatpages/models.py:12 msgid "template name" -msgstr "ime templejta" +msgstr "naziv templejta" #: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Primer: 'flatpages/contact-page'. Ako nije dato sistem će koristiti " -"flatpages/default'." +msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." +msgstr "Primer: 'flatpages/kontakt-stranica'. Ako ne zadate sistem će koristiti 'flatpages/default'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1147,9 +1064,7 @@ msgstr "samo za registrovane korisnike" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Ako izaberete ovu opciju samo prijavljeni korisnici će imati pristup datoj " -"strani." +msgstr "Ako izaberete ovu opciju samo prijavljeni korisnici će imati pristup datoj strani." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1159,33 +1074,32 @@ msgstr "statična strana" msgid "flat pages" msgstr "statične strane" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: contrib/auth/models.py:13 +#: contrib/auth/models.py:26 msgid "name" msgstr "ime" #: contrib/auth/models.py:15 msgid "codename" -msgstr "kodno ime" +msgstr "šifra dozvole" #: contrib/auth/models.py:17 -#, fuzzy msgid "permission" -msgstr "Pravo" +msgstr "dozvola" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy +#: contrib/auth/models.py:18 +#: contrib/auth/models.py:27 msgid "permissions" -msgstr "Prava" +msgstr "dozvole" #: contrib/auth/models.py:29 -#, fuzzy msgid "group" -msgstr "Grupa" +msgstr "grupa" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy +#: contrib/auth/models.py:30 +#: contrib/auth/models.py:65 msgid "groups" -msgstr "Grupe" +msgstr "grupe" #: contrib/auth/models.py:55 msgid "username" @@ -1213,11 +1127,11 @@ msgstr "Koristite '[algo]$[salt]$[hexdigest]'" #: contrib/auth/models.py:60 msgid "staff status" -msgstr "dozvoli pristup administraciji sajta" +msgstr "dozvoljen pristup administraciji sajta" #: contrib/auth/models.py:60 msgid "Designates whether the user can log into this admin site." -msgstr "Određuje da li će korisnik imati pristup administratorskom delu sajta." +msgstr "Da li korisnik ima pristup administratorskom delu sajta." #: contrib/auth/models.py:61 msgid "active" @@ -1236,26 +1150,20 @@ msgid "date joined" msgstr "datum otvaranja naloga" #: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Uz ručno dodata prava, korisnik će dobiti sva prava iz grupa kojima pripada." +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Uz ručno dodata prava, korisnik će dobiti sva prava iz grupa kojima pripada." #: contrib/auth/models.py:67 -#, fuzzy msgid "user permissions" -msgstr "Prava" +msgstr "korisničke dozvole" #: contrib/auth/models.py:70 -#, fuzzy msgid "user" -msgstr "Korisnik" +msgstr "korisnik" #: contrib/auth/models.py:71 -#, fuzzy msgid "users" -msgstr "Korisnici" +msgstr "korisnici" #: contrib/auth/models.py:76 msgid "Personal info" @@ -1263,7 +1171,7 @@ msgstr "Lične informacije" #: contrib/auth/models.py:77 msgid "Permissions" -msgstr "Prava" +msgstr "Dozvole" #: contrib/auth/models.py:78 msgid "Important dates" @@ -1274,22 +1182,16 @@ msgid "Groups" msgstr "Grupe" #: contrib/auth/models.py:219 -#, fuzzy msgid "message" -msgstr "Poruka" +msgstr "poruka" #: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Vaš web brovser nema omogućenje \"cookie\". \"cookie\" podrška je potrebna " -"da bi ste mogli da se prijavite." +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Vaš internet čitač nije prihvatio \"cookie\". \"Cookie\" podrška je potrebna da bi ste mogli da se prijavite." #: contrib/contenttypes/models.py:25 -#, fuzzy msgid "python model class name" -msgstr "ime python modula" +msgstr "naziv python modula" #: contrib/contenttypes/models.py:28 msgid "content type" @@ -1383,23 +1285,28 @@ msgstr "Januar" msgid "February" msgstr "Februar" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "March" msgstr "Mart" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "April" msgstr "April" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "May" msgstr "Maj" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "June" msgstr "Jun" -#: utils/dates.py:15 utils/dates.py:27 +#: utils/dates.py:15 +#: utils/dates.py:27 msgid "July" msgstr "Jul" @@ -1424,54 +1331,52 @@ msgid "December" msgstr "Decembar" #: utils/dates.py:19 -#, fuzzy msgid "jan" -msgstr "i" +msgstr "jan" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mar" #: utils/dates.py:19 msgid "apr" -msgstr "" +msgstr "apr" #: utils/dates.py:19 -#, fuzzy msgid "may" -msgstr "dan" +msgstr "maj" #: utils/dates.py:19 msgid "jun" -msgstr "" +msgstr "jun" #: utils/dates.py:20 msgid "jul" -msgstr "" +msgstr "jul" #: utils/dates.py:20 msgid "aug" -msgstr "" +msgstr "avg" #: utils/dates.py:20 msgid "sep" -msgstr "" +msgstr "sep" #: utils/dates.py:20 msgid "oct" -msgstr "" +msgstr "okt" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" -msgstr "" +msgstr "dec" #: utils/dates.py:27 msgid "Jan." @@ -1518,9 +1423,9 @@ msgstr[2] "meseci" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "nedelja" +msgstr[1] "nedelje" +msgstr[2] "nedelja" #: utils/timesince.py:15 msgid "day" @@ -1565,7 +1470,7 @@ msgstr "Nemački" #: conf/global_settings.py:42 msgid "Greek" -msgstr "" +msgstr "Grčki" #: conf/global_settings.py:43 msgid "English" @@ -1585,11 +1490,11 @@ msgstr "Galski" #: conf/global_settings.py:47 msgid "Hungarian" -msgstr "" +msgstr "Mađarski" #: conf/global_settings.py:48 msgid "Hebrew" -msgstr "" +msgstr "Hebrejski" #: conf/global_settings.py:49 msgid "Icelandic" @@ -1628,9 +1533,8 @@ msgid "Slovak" msgstr "Slovački" #: conf/global_settings.py:58 -#, fuzzy msgid "Slovenian" -msgstr "Slovački" +msgstr "Slovenački" #: conf/global_settings.py:59 msgid "Serbian" @@ -1641,9 +1545,8 @@ msgid "Swedish" msgstr "Švedski" #: conf/global_settings.py:61 -#, fuzzy msgid "Ukrainian" -msgstr "Brazilski" +msgstr "Ukrajinski" #: conf/global_settings.py:62 msgid "Simplified Chinese" @@ -1659,24 +1562,20 @@ msgid "This value must contain only letters, numbers and underscores." msgstr "Ovo polje može sadržati samo slova, brojeve i donju crtu (_)." #: core/validators.py:64 -#, fuzzy -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Ovo polje može sadržati samo slova, brojeve, donju crtu (_) i kose crte." +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Ovo polje može sadržati samo slova, brojeve, donju crtu (_), crtu (-) i kose crte." #: core/validators.py:72 msgid "Uppercase letters are not allowed here." -msgstr "Velika slova ovde nisu dozvoljena." +msgstr "Velika slova nisu dozvoljena." #: core/validators.py:76 msgid "Lowercase letters are not allowed here." -msgstr "Mala slova ovde nisu dozvoljena." +msgstr "Mala slova nisu dozvoljena." #: core/validators.py:83 msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojeve razdvojene zarezima." +msgstr "Unesite brojeve razdvojene zarezima." #: core/validators.py:95 msgid "Enter valid e-mail addresses separated by commas." @@ -1688,7 +1587,7 @@ msgstr "Unesite ispravnu IP adresu." #: core/validators.py:103 msgid "Empty values are not allowed here." -msgstr "Prazne vrednosti ovde nisu dozvoljene." +msgstr "Prazne vrednosti nisu dozvoljene." #: core/validators.py:107 msgid "Non-numeric characters aren't allowed here." @@ -1714,7 +1613,8 @@ msgstr "Unesite ispravan datum u YYYY-MM-DD formatu." msgid "Enter a valid time in HH:MM format." msgstr "Unesite ispravno vreme u HH:MM formatu." -#: core/validators.py:132 db/models/fields/__init__.py:468 +#: core/validators.py:132 +#: db/models/fields/__init__.py:468 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Unesite ispravan datum i vreme u YYYY-MM-DD HH:MM formatu." @@ -1723,12 +1623,8 @@ msgid "Enter a valid e-mail address." msgstr "Unesite ispravnu e-mail adresu." #: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Pošaljite ispravnu sliku. Fajl koji ste poslali ili nije slika ili je sam " -"fajl oštećen." +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Pošaljite ispravnu sliku. Fajl koji ste poslali ili nije slika ili je sam fajl oštećen." #: core/validators.py:155 #, python-format @@ -1739,8 +1635,7 @@ msgstr "URL %s ne pokazuje na ispravnu sliku" #: core/validators.py:159 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" je neispravan." +msgstr "Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" je neispravan." #: core/validators.py:167 #, python-format @@ -1770,7 +1665,8 @@ msgstr "Neispravan XML: %s" msgid "Invalid URL: %s" msgstr "Neispravan URL: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:206 +#: core/validators.py:208 #, python-format msgid "The URL %s is a broken link." msgstr "URL %s je neispravan link." @@ -1797,7 +1693,8 @@ msgstr "Ovo polje mora biti jednako sa poljem '%s'." msgid "Please enter something for at least one field." msgstr "Morate popuniti barem jedno polje." -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:264 +#: core/validators.py:275 msgid "Please enter both fields or leave them both empty." msgstr "Popunite oba polja ili oba ostavite prazna." @@ -1827,8 +1724,7 @@ msgstr "Unesite ispravan decimalni broj." #: core/validators.py:349 #, 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] "Unesite ispravan decimalni broj sa %s cifrom." msgstr[1] "Unesite ispravan decimalni broj sa %s cifre." msgstr[2] "Unesite ispravan decimalni broj sa %s cifara." @@ -1836,8 +1732,7 @@ msgstr[2] "Unesite ispravan decimalni broj sa %s cifara." #: core/validators.py:352 #, 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] "Unesite decimalni broj sa najviše %s decimalnim mestom." msgstr[1] "Unesite decimalni broj sa najviše %s decimalna mesta." msgstr[2] "Unesite decimalni broj sa najviše %s decimalnih mesta." @@ -1867,63 +1762,38 @@ msgstr "Ništa nije moglo da se skine sa URL-a %s." #: core/validators.py:429 #, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"Sa URL-a %(url)s se vratio pogrešan Content-Type header '%(contenttype)s'." +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Sa URL-a %(url)s se vratio pogrešan Content-Type header '%(contenttype)s'." #: core/validators.py:462 #, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Zatvorite nezatvoren tag \"%(tag)s\" iz reda %(line)s. (Red počinje sa \"%" -"(start)s\".)" +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Zatvorite nezatvoren tag \"%(tag)s\" iz reda %(line)s. (Red počinje sa \"%(start)s\".)" #: core/validators.py:466 #, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Tekst koji počinje u redu %(line)s nije dozvoljen u ovom kontekstu. (Red " -"počinje sa \"%(start)s\".)" +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "Tekst koji počinje u redu %(line)s nije dozvoljen u ovom kontekstu. (Red počinje sa \"%(start)s\".)" #: core/validators.py:471 #, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"Atribut \"%(attr)s\" u red %(line)s je neispravan. (Red počinje sa \"%(start)" -"s\".)" +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "Atribut \"%(attr)s\" u red %(line)s je neispravan. (Red počinje sa \"%(start)s\".)" #: core/validators.py:476 #, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"Tag \"<%(tag)s>\" u redu %(line)s je neispravan. (Red počinje \"%(start)s\".)" +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "Tag \"<%(tag)s>\" u redu %(line)s je neispravan. (Red počinje \"%(start)s\".)" #: core/validators.py:480 #, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Tag-u u redu %(line)s nedostaje jedan ili više atributa. (Red počinje sa \"%" -"(start)s\".)" +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "Tag-u u redu %(line)s nedostaje jedan ili više atributa. (Red počinje sa \"%(start)s\".)" #: core/validators.py:485 #, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Atribut \"%(attr)s\" u redu %(line)s ima neispravnu vrednost. (Red počinje " -"sa \"%(start)s\".)" +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "Atribut \"%(attr)s\" u redu %(line)s ima neispravnu vrednost. (Red počinje sa \"%(start)s\".)" #: db/models/manipulators.py:302 #, python-format @@ -1935,26 +1805,25 @@ msgstr "%(object)s sa ovim tipom %(type)s već postoji za polje %(field)s." msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(optname)s sa ovim %(fieldname)s već postoji." -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 +#: db/models/fields/__init__.py:114 +#: db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:542 +#: db/models/fields/__init__.py:553 #: forms/__init__.py:346 msgid "This field is required." msgstr "Obavezno polje." #: db/models/fields/__init__.py:337 -#, fuzzy msgid "This value must be an integer." -msgstr "Vrednost mora biti stepena %s." +msgstr "Vrednost mora biti celi broj." #: db/models/fields/__init__.py:369 -#, fuzzy msgid "This value must be either True or False." -msgstr "Vrednost mora biti stepena %s." +msgstr "Vrednost mora biti True ili False." #: db/models/fields/__init__.py:385 -#, fuzzy msgid "This field cannot be null." -msgstr "Neispravno polje." +msgstr "Polje ne može sadržati praznu vrednost." #: db/models/fields/__init__.py:562 msgid "Enter a valid filename." @@ -1966,23 +1835,17 @@ msgid "Please enter a valid %s." msgstr "Unesite ispravan %s." #: db/models/fields/related.py:579 -#, fuzzy msgid "Separate multiple IDs with commas." -msgstr " Odvojite višestruke ID-ove zarezima." +msgstr "Odvojite višestruke ID-ove zarezima." #: db/models/fields/related.py:581 -#, fuzzy -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -" Koristite \"Ctrl\" (PC) ili \"Jabuku\" (Mek) da bi ste selektovali više " -"stavki." +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Koristite \"Ctrl\" (PC) ili \"Jabuku\" (Mek) da bi ste selektovali više stavki." #: db/models/fields/related.py:625 #, 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." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." msgstr[0] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." msgstr[1] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." msgstr[2] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." @@ -1999,7 +1862,9 @@ msgstr[2] "Tekst mora imati manje od %s slova." msgid "Line breaks are not allowed here." msgstr "Novi redovi ovde nisu dozvoljeni." -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 +#: forms/__init__.py:480 +#: forms/__init__.py:551 +#: forms/__init__.py:589 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Izaberite validnu opciju: '%(data)s' nije u %(choices)s." @@ -2026,25 +1891,18 @@ msgstr "da,ne,možda" #~ msgid "Comment" #~ msgstr "Komentar" - #~ msgid "Comments" #~ msgstr "Komentari" - #~ msgid "String (up to 50)" #~ msgstr "Niz karaktera (maksimalno 50 karaktera)" - #~ msgid "label" #~ msgstr "labela" - #~ msgid "package" #~ msgstr "paket" - #~ msgid "packages" #~ msgstr "paketi" - #~ msgid "Error in Template" #~ msgstr "Greška u templejtu" - #~ msgid "" #~ "\n" #~ "In template %(name)s, error at line %(line)s:\n" @@ -2055,3 +1913,4 @@ msgstr "da,ne,možda" #, fuzzy #~ msgid "count" #~ msgstr "sadržaj" + diff --git a/django/conf/locale/sr/LC_MESSAGES/djangojs.mo b/django/conf/locale/sr/LC_MESSAGES/djangojs.mo index 4ae94424df381a90540f8de9670e40640afaf6c0..d4036a893e5322369fd426e1bb5c0658d2aa5f88 100644 GIT binary patch delta 303 zcmZ3?+sZrPO#NR*1_m2u1_m|;1_mou1_pK@?Fgi~fwU)(<^a;6P&y7s^8@+mK$;gw zmjh{#x>hKEB9I0e#V{X82LS2CKpJH37a$Ep48MT{3y@|63WCgKV`I=`-~%%FfdaBX zS`J8?0cjf`4bo5yr7NLy{pLzWV~RsBLf9P3oBDYZ39CC11_J$;u77EqQt!7 zoWzp+A}fV})RM#^1>eM?%p>gzHU%J_UM`TA?2w+Dn3-2XPdHlu delta 322 zcmZqWUCcY-OuaG_1A`4S0|Ofa149BU0|O8-qyq_VAe{@OIe>H}lx_mjyg+_8RDLFu zUJ4c82&92VG3*D@0YLgNkOrA60wjP;25BJ80;CmzG)P>HjX{rr56I93@??Ru4Ujei z(osMfq+ueIo(`qwZmwiBW(qRXH89jQG*vJ(v@$Z$HZU|W;POcl%{0n7nUZLloaLbCFko^mQMc6 zykF2KF)zI|F+J5vAvm=tDKjx|@(PxDlRa3~_!P>DQgc%oJgX9uQj0PtH?a0h=3^@d E0BVOpD*ylh diff --git a/django/conf/locale/sr/LC_MESSAGES/djangojs.po b/django/conf/locale/sr/LC_MESSAGES/djangojs.po index ce23be3ee4..a70d878ea4 100644 --- a/django/conf/locale/sr/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sr/LC_MESSAGES/djangojs.po @@ -8,13 +8,12 @@ msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2006-01-15 11:24+0100\n" -"Last-Translator: Nebojša Đorđević \n" +"PO-Revision-Date: 2007-02-20 18:51+0100\n" +"Last-Translator: Petar Marić \n" "Language-Team: Nesh & Petar \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Serbian\n" "X-Poedit-Country: YUGOSLAVIA\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" @@ -25,15 +24,15 @@ msgstr "Dostupno %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "Izaberi sve" +msgstr "Izaberite sve" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "Dodaj" +msgstr "Dodajte" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "Izbaci" +msgstr "Izbacite" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format @@ -72,7 +71,7 @@ msgstr "Sat" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 msgid "Choose a time" -msgstr "Izaberi vreme" +msgstr "Izaberite vreme" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Midnight" diff --git a/django/conf/locale/sv/LC_MESSAGES/django.mo b/django/conf/locale/sv/LC_MESSAGES/django.mo index d5c41f4b561e43f8e7bb91b0aae34cf3087c4ac1..06272d9843eb32a6fa90cc1d991f69f8eb72e6c0 100644 GIT binary patch literal 39681 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%0DhD64h-KR%6v!{p3DykXLX!#E9YK?3+LW4 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 Cz)uqZ diff --git a/django/conf/locale/sv/LC_MESSAGES/django.po b/django/conf/locale/sv/LC_MESSAGES/django.po index 115a765a56..994e5f3d8d 100644 --- a/django/conf/locale/sv/LC_MESSAGES/django.po +++ b/django/conf/locale/sv/LC_MESSAGES/django.po @@ -1,25 +1,884 @@ # Swedish translation of Django # Copyright (C) 2005 # This file is distributed under the same license as the Django package. -# Robin Sonefors , 2005. # +# +# Robin Sonefors , 2005. +# Ludvig Ericson , 2007. +# Mikko Hellsing , 2007. msgid "" msgstr "" -"Project-Id-Version: Django\n" +"Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:13+0200\n" -"PO-Revision-Date: 2007-01-27 00:32+0100\n" +"POT-Creation-Date: 2007-03-06 00:17+0100\n" +"PO-Revision-Date: 2007-03-06 01:46+0100\n" "Last-Translator: Mikko Hellsing \n" "Language-Team: Django translators \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Swedish\n" "X-Poedit-Country: SWEDEN\n" -#: contrib/comments/models.py:67 -#: contrib/comments/models.py:166 +#: oldforms/__init__.py:352 db/models/fields/__init__.py:116 +#: db/models/fields/__init__.py:273 db/models/fields/__init__.py:609 +#: db/models/fields/__init__.py:620 newforms/models.py:177 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 +msgid "This field is required." +msgstr "Det här fältet är obligatoriskt." + +#: oldforms/__init__.py:387 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Se till att din text är kortare än %s tecken." +msgstr[1] "Se till att din text är kortare än %s tecken." + +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "Radbrytningar är inte tillåtna här." + +#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Välj ett giltigt alternativ. '%(data)s' finns inte bland %(choices)s." + +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Okänt" + +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Ja" + +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Nej" + +#: oldforms/__init__.py:667 core/validators.py:173 core/validators.py:444 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil skickad. Kontrollera enkodningen i form taggen." + +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "Den insända filen är tom." + +#: oldforms/__init__.py:725 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Fyll i ett heltal mellan -32768 och 32767." + +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Fyll i ett positivt heltal." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Fyll i ett heltal mellan 0 och 32767." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s med typen %(type)s finns redan för %(field)s." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "och" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s med det här %(fieldname)s finns redan." + +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Det här värdet måste vara ett heltal." + +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Det här värdet måste vara True eller False" + +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Det här fältet får inte vara null." + +#: db/models/fields/__init__.py:456 core/validators.py:147 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Fyll i ett giltigt datum i formatet ÅÅÅÅ-MM-DD." + +#: db/models/fields/__init__.py:525 core/validators.py:156 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Fyll i en giltig tidpunkt i formatet ÅÅÅÅ-MM-DD HH:MM" + +#: db/models/fields/__init__.py:629 +msgid "Enter a valid filename." +msgstr "Fyll i ett giltigt filnamn." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Var god fyll i ett giltigt %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separera flera ID:n med kommatecken." + +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Håll ner \"Control\", eller \"Command\" på en Mac, för att välja mer än en." + +#: db/models/fields/related.py:691 +#, 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] "Var god och fyll giltiga %(self)s ID-nummer. Värdet %(value)r är ogiltigt." +msgstr[1] "Var god och fyll giltiga %(self)s ID-nummer. Värdena %(value)r är ogiltiga." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabiska" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengaliska" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Katalanska" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tjeckiska" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Walesiska" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Danska" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Tyska" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grekiska" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Engelska" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spanska" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Argentisk Spanska" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finska" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Franska" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galisiska" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungerska" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebreiska" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Isländska" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italienska" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japanska" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Lettiska" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Makedonska" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Holländska" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norska" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polska" + +#: conf/global_settings.py:64 +msgid "Brazilian" +msgstr "Brasilianska" + +#: conf/global_settings.py:65 +msgid "Romanian" +msgstr "Rumänska" + +#: conf/global_settings.py:66 +msgid "Russian" +msgstr "Ryska" + +#: conf/global_settings.py:67 +msgid "Slovak" +msgstr "Slovakiska" + +#: conf/global_settings.py:68 +msgid "Slovenian" +msgstr "Slovenska" + +#: conf/global_settings.py:69 +msgid "Serbian" +msgstr "Serbiska" + +#: conf/global_settings.py:70 +msgid "Swedish" +msgstr "Svenska" + +#: conf/global_settings.py:71 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:72 +msgid "Turkish" +msgstr "Turkiska" + +#: conf/global_settings.py:73 +msgid "Ukrainian" +msgstr "Ukrainska" + +#: conf/global_settings.py:74 +msgid "Simplified Chinese" +msgstr "Förenklad Kinesiska" + +#: conf/global_settings.py:75 +msgid "Traditional Chinese" +msgstr "Traditionell Kinesiska" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Det här värdet får bara innehålla bokstäver, tal och understräck." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Det här värdet får bara innehålla bokstäver, siffror, understräck, sträck " +"och snedsträck" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Det här värdet får bara innehålla bokstäver, siffror, understräck eller sträck ." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Stora bokstäver är inte tillåtna här." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Små bokstäver är inte tillåtna här." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Fyll enbart i siffror avskilda med kommatecken." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Fyll i giltiga e-postadresser avskilda med kommatecken." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Var god fyll i en giltigt IP-adress." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Tomma värden är inte tillåtna här." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Icke-numeriska tecken är inte tillåtna här." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Det här värdet kan inte enbart bestå av siffror." + +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Fyll i ett heltal." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Endast bokstäver är tillåtna här." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Årtal måste vara 1900 eller senare." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s." +msgstr "Felaktigt datum: %s" + +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Fyll i en giltig tid i formatet HH:MM" + +#: core/validators.py:161 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Fyll i en giltig e-postadress." + +#: core/validators.py:177 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Ladda upp en giltig bild. Filen du laddade upp var antingen ingen bild eller en " +"korrupt bild." + +#: core/validators.py:184 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL:en %s pekar inte på en giltig bild." + +#: core/validators.py:188 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Telefonnummer måste vara i det amerikanska formatet XXX-XXX-XXXX. \"%s\" är " +"ogiltigt." + +#: core/validators.py:196 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL:en %s pekar inte på en giltig QuickTime-video." + +#: core/validators.py:200 +msgid "A valid URL is required." +msgstr "En giltig URL krävs." + +#: core/validators.py:214 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Giltig HTML krävs. Specifika fel är:\n" +"%s" + +#: core/validators.py:221 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Missformad XML: %s" + +#: core/validators.py:238 +#, python-format +msgid "Invalid URL: %s" +msgstr "Felaktig URL: %s" + +#: core/validators.py:243 core/validators.py:245 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL:en %s är en trasig länk." + +#: core/validators.py:251 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Fyll i en giltig förkortning för en amerikansk delstat" + +#: core/validators.py:265 +#, 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] "Akta din tunga! Ordet %s är inte tillåtet här." +msgstr[1] "Akta din tunga! Orden %s är inte tillåtna här." + +#: core/validators.py:272 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Det här fältet måste matcha fältet '%s'." + +#: core/validators.py:291 +msgid "Please enter something for at least one field." +msgstr "Fyll i något i minst ett fält." + +#: core/validators.py:300 core/validators.py:311 +msgid "Please enter both fields or leave them both empty." +msgstr "Fyll antingen i båda fälten, eller lämna båda tomma" + +#: core/validators.py:319 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Det är fältet måste anges om %(field)s är %(value)s" + +#: core/validators.py:332 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Det här fältet måste anges om %(field)s inte är %(value)s" + +#: core/validators.py:351 +msgid "Duplicate values are not allowed." +msgstr "Upprepade värden är inte tillåtna." + +#: core/validators.py:366 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Det här värdet måste mellan %(lower)s och %(upper)s." + +#: core/validators.py:368 +#, python-format +msgid "This value must be at least %s." +msgstr "Det här värdet måste minsta vara %s." + +#: core/validators.py:370 +#, python-format +msgid "This value must be no more than %s." +msgstr "Det här värdet får inte vara mer än %s." + +#: core/validators.py:406 +#, python-format +msgid "This value must be a power of %s." +msgstr "Det här värdet måste vara en multipel av %s." + +#: core/validators.py:417 +msgid "Please enter a valid decimal number." +msgstr "Fyll i ett giltigt decimaltal." + +#: core/validators.py:421 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Fyll i ett giltigt decimaltal med mindre än %s siffra totalt." +msgstr[1] "Fyll i ett giltigt decimaltal med mindre än %s siffror totalt." + +#: core/validators.py:424 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Fyll i ett giltigt decimaltal med en heltalsdel som inte är mer än %s siffra." +msgstr[1] "Fyll i ett giltigt decimaltal med en heltalsdel som inte är mer än %s siffror." + +#: core/validators.py:427 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Fyll i ett giltigt decimaltal med %s decimal som mest." +msgstr[1] "Fyll i ett giltigt decimaltal med %s decimaler som mest." + +#: core/validators.py:437 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Se till att filen du laddade upp är minst %s bytes stor." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Se till att filen du laddade upp är som mest %s bytes stor." + +#: core/validators.py:455 +msgid "The format for this field is wrong." +msgstr "Formatet på det här fältet är fel." + +#: core/validators.py:470 +msgid "This field is invalid." +msgstr "Det här fältet är ogiltigt." + +#: core/validators.py:506 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Kunde inte hämta något från %s." + +#: core/validators.py:509 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "URL:en %(url)s returnerade den ogiltiga Content-Type headern '%(contenttype)s'" + +#: core/validators.py:542 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Var god avsluta den oavslutade taggen %(tag)s på rad %(line)s. (Raden börjar " +"med \"%(start)s\".)" + +#: core/validators.py:546 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"En del text från rad %(line)s är inte tillåtet i det sammanhanget. (Raden " +"börjar med \"%(start)s\".)" + +#: core/validators.py:551 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" på rad %(line)s är inte ett giltigt attribut. (Raden startar " +"med \"%(start)s\".)" + +#: core/validators.py:556 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" på rad %(line)s är en ogiltig tagg. (Raden börjar med \"%" +"(start)s\".)" + +#: core/validators.py:560 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"En tagg på rad %(line)s saknar en eller flera nödvändiga attribut. (Raden " +"börjar med \"%(start)s\".)" + +#: core/validators.py:565 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Attributet \"%(attr)s\" på rad %(line)s har ett ogiltigt värde. (Raden " +"börjar med \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s skapades framgångsrikt." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr " %(verbose_name)s uppdaterades framgångsrikt." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s togs bort." + +#: newforms/models.py:164 newforms/fields.py:360 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Välj ett giltigt alternativ. Det valet finns inte bland tillgängliga alternativ." + +#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 +msgid "Enter a list of values." +msgstr "Fyll i en lista med värden." + +#: newforms/models.py:187 newforms/fields.py:387 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Välj ett giltigt alternativ. '%s' finns inte bland tillgängliga alternativ." + +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Se till att din text inte har mer än %d tecken." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Se till att din text har minst %d tecken." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Se till att detta värdet är mindre än eller lika med %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Se till att detta värde är större eller lika med %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Fyll i ett giltigt datum." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Fyll i en giltig tid." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Fyll i ett giltigt datum/tid." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Fyll i ett giltigt värde." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Fyll i ett giltigt URL." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Detta URL verkar vara en trasig länk." + +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "python model class namn" + +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "innehållstyp" + +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "innehållstyper" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Utloggad" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "namn" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "kodnamn" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "rättighet" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "rättigheter" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grupp" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "grupper" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "användarnamn" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Obligatorisk. 30 tecken eller mindre. Endast bokstäver, siffror eller understräck." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "förnamn" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "efternamn" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-postadress" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "lösenord" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "Använd '[algo]$[salt]$[hexdigest]' eller använd Ändra lösenord." + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "personalstatus" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Avgör om användaren kan logga in till den här administrationssidan." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "aktiv" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Avgör om användaren kan logga in till Django admin. Av-markera denna " +"istället för att ta bort konton." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "superanvändare" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Bestämmer att användaren har alla rättigheter utan att uttryckligen tilldela " +"dem" + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "senaste inloggning" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "registreringsdatum" + +#: 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 "" +"Förutom de rättigheterna som utdelas manuellt så kommer användaren dessutom " +"få samma rättigheter som de grupper där han/hon är medlem." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "användarättigheter" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "användare" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "användare" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Personlig information" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Rättigheter" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Viktiga datum" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupper" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "meddelande" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "De båda lösenorden stämde inte överens." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "En användare med det användarnamnet finns redan." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Din webläsare verkar inte stödja cookies. Cookie behövs för att kunna logga " +"in." + +#: 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 "" +"V.G. ange ett korrekt användarnamn och lösenord. Notera att båda fält är " +"skiftlägeskänsliga." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Detta konto är inaktivt." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Den e-postadressen har inte något konto associerat med sig. Är du säker på " +"att du har registrerat dig?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "De båda nya lösenordsfälten stämde inte överens." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Ditt gamla lösenord var felaktigt ifyllt. Var vänlig fyll i det igen" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "vidarebefordra från" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Det här bör vara en absolut sökväg, förutom domännamnet. Exempel: '/" +"handelser/sok/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "vidarebefordra till" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Detta kan vara antingen en absolut sökväg (som ovan), eller en komplett " +"URL som börjar med 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "vidarebefordra" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "vidarebefordringar" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "objektets ID" @@ -27,8 +886,7 @@ msgstr "objektets ID" msgid "headline" msgstr "rubrik" -#: contrib/comments/models.py:69 -#: contrib/comments/models.py:90 +#: contrib/comments/models.py:69 contrib/comments/models.py:90 #: contrib/comments/models.py:167 msgid "comment" msgstr "kommentar" @@ -69,18 +927,15 @@ msgstr "betyg #8" msgid "is valid rating" msgstr "är ett giltigt betyg" -#: contrib/comments/models.py:83 -#: contrib/comments/models.py:169 +#: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" msgstr "datum/tid postat" -#: contrib/comments/models.py:84 -#: contrib/comments/models.py:170 +#: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" msgstr "är offentligt" -#: contrib/comments/models.py:85 -#: contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "IP-adress" @@ -89,15 +944,18 @@ msgid "is removed" msgstr "är borttaget" #: 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 "Bocka för den här rutan om kommentaren är olämplig. Ett \"Den här kommentaren har tagits bort\"-meddelande kommer visas istället" +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Bocka för den här rutan om kommentaren är olämplig. Ett \"Den här " +"kommentaren har tagits bort\"-meddelande kommer visas istället" #: contrib/comments/models.py:91 msgid "comments" msgstr "kommentarer" -#: contrib/comments/models.py:131 -#: contrib/comments/models.py:207 +#: contrib/comments/models.py:131 contrib/comments/models.py:207 msgid "Content object" msgstr "Innehållsobjekt" @@ -130,11 +988,11 @@ msgstr "godkänd av personal" #: contrib/comments/models.py:176 msgid "free comment" -msgstr "frigör kommentar" +msgstr "fri kommentar" #: contrib/comments/models.py:177 msgid "free comments" -msgstr "frigör kommentarer" +msgstr "fria kommentarer" #: contrib/comments/models.py:233 msgid "score" @@ -142,7 +1000,7 @@ msgstr "poäng" #: contrib/comments/models.py:234 msgid "score date" -msgstr "poängens datum" +msgstr "poängdatum" #: contrib/comments/models.py:237 msgid "karma score" @@ -187,20 +1045,20 @@ msgstr "Flaggad av %r" #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "borttagningsdatum" +msgstr "borttagnings-datum" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "Moderators borttagning" +msgstr "moderator-borttagning" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "moderatorers borttagningar" +msgstr "moderator-borttagningar" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Moderatorborttagning av %r" +msgstr "Moderator-borttagning av %r" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" @@ -208,32 +1066,40 @@ msgstr "Anonyma användare kan inte rösta" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" -msgstr "Kommentaren har ett ogiltigt ID" +msgstr "Ogiltig kommentaridentifikation" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" msgstr "Du får inte rösta på dig själv" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "This rating is required because you've entered at least one other rating." msgstr "Det här betyget krävs eftersom du har fyllt i minst ett annat betyg." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" -"This comment was posted by a user who has posted fewer than %(count)s comment:\n" -"\n" -"%(text)sThis comment was posted by a user who has posted fewer than %(count)s comments:\n" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" "\n" "%(text)s" -msgstr "" -"Den här kommentaren postades av en användare som har postat färre än %(count)s kommentar:\n" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" "\n" -"%(text)sDen här kommentaren postades av en användare som har postat färre än %(count)s kommentarer:\n" +"%(text)s" +msgstr[0] "" +"Den här kommentaren postades av en användare som har postat mindre än " +"%(count)s kommentar:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Den här kommentaren postades av en användare som har postat mindre än " +"%(count)s kommentarer:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -244,30 +1110,48 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Endast POSTningar är tillåtna" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Ett eller fler av fälten som krävs fylldes inte i" +msgstr "Ett eller flera av de obligatoriska fälten var inte ifyllda" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Någon fifflade med kommenteringsformuläret (säkerhetsbrott)" +msgstr "Någon fifflade med kommentarformuläret (säkerhetsbrott)" -#: contrib/comments/views/comments.py:207 +#: 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 "Kommenteringsformuläret har en ogiltig 'target'-parameter -- objektets ID är ogiltigt" +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"Kommentars-formuläret har en ogiltig 'target'-parameter -- objektets ID är " +"ogiltigt" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Kommenteringsformuläret skickade varken 'förhandsgranska' eller 'post'" +msgstr "Kommentars-formuläret skickade varken 'förhandsgranska' eller 'post'" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Ditt namn:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Kommentar:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Förhandsgranska kommentar" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -276,20 +1160,12 @@ msgid "Username:" msgstr "Användarnamn:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Lösenord:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Glömt ditt lösenord?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -305,6 +1181,15 @@ msgstr "Glömt ditt lösenord?" msgid "Log out" msgstr "Logga ut" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Lösenord:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Glömt ditt lösenord?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Betyg" @@ -323,19 +1208,89 @@ msgstr "Valfri" msgid "Post a photo" msgstr "Lägg till foto" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Kommentar:" +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Förhandsgranska kommentar" +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Exempel: '/om/kontakt/'. Se till att ha inledande och avslutande snedsträck." -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Ditt namn:" +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "titel" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "innehåll" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "aktivera kommentarer" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "mallnamn" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Exempel: 'sidor/kontaktsida.html'. Om det här inte fylls i kommer systemet " +"att använda 'sidor/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "registrering krävs" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Om det här bockas i kommer endast inloggade användare att kunna visa sidan" + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "flatsida" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "flatsidor" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "sessionsnyckel" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "sessionsdata" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "utgångsdatum" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "session" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sessioner" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "domännamn" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "visat namn" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sida" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sidor" #: contrib/admin/filterspecs.py:40 #, python-format @@ -346,9 +1301,8 @@ msgstr "" "

                          Av %s:

                          \n" "
                            \n" -#: contrib/admin/filterspecs.py:70 -#: contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Alla" @@ -372,21 +1326,9 @@ msgstr "Den här månaden" msgid "This year" msgstr "Det här året" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Ja" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nej" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Okänt" - #: contrib/admin/models.py:16 msgid "action time" -msgstr "tid för händelse" +msgstr "händelsetid" #: contrib/admin/models.py:19 msgid "object id" @@ -412,219 +1354,299 @@ msgstr "loggpost" msgid "log entries" msgstr "loggposter" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Alla datum" -#: contrib/admin/views/decorators.py:9 -#: contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "V.G. ange ett korrekt användarnamn och lösenord. Systemet skiljer på VERSALER och gemener." - -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Logga in" -#: contrib/admin/views/decorators.py:61 -msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Du måste logga in igen, eftersom din session har tagit slut. Oroa dig inte: ditt bidrag har sparats." +#: 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 "" +"V.G. logga in igen, eftersom din session har tagit slut. Oroa dig inte: ditt " +"bidrag har sparats." -#: contrib/admin/views/decorators.py:68 -msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Det ser ut som om din webbläsare inte är konfigurerad att acceptera kakor. Aktivera kakor, ladda om den här sidan, och försök igen." +#: 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 "" +"Det ser ut som om din webläsare inte är konfigurerad att acceptera cookies. " +"Aktivera cookies, ladda om den här sidan, och försök igen." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Användarnamn kan inte innehålla tecknet '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Din e-postadress är inte ditt användarnamn. Försök med '%s' istället." -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Administration" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)set \"%(obj)s\" lades till." -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/main.py:348 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 msgid "You may edit it again below." msgstr "Du kan ändra det igen här under." -#: contrib/admin/views/main.py:272 -#: contrib/admin/views/main.py:357 +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Lägg till användare" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Lösenordet ändrades framgångsrikt." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Ändra lösenord: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Administration" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." -msgstr "Du kan lägga till en till %s här under" +msgstr "Du kan lägga till en till %s här under." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Lägg till %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Lade till %s." -#: contrib/admin/views/main.py:336 -#: contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "och" - -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Ändrade %s." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Tog bort %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Inga fält ändrade." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)set \"%(obj)s\" ändrades." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)set \"%(obj)s\" lades till. Du kan ändra det igen här under." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "Ändra %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Ett eller flera %(fieldname)s i %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Ett eller flera %(fieldname)s i %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)set \"%(obj)s\" togs bort." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "Är du säker?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" msgstr "Ändra historien: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "Välj %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" msgstr "Välj %s att ändra" -#: contrib/admin/views/doc.py:277 -#: contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 -#: contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 -#: contrib/admin/views/doc.py:297 +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Databas fel" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tagg:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filter:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "Vy:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Applikation %r hittades inte" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "Modellen %(model_name)r hittades inte i applikation %(app_label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "Det sammalänkade `%(app_label)s.%(data_type)s` objektet" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modell:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "sammanlänkade `%(app_label)s.%(object_name)s` objekt" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "alla %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "antal %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Fält på %s objekt" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "Heltal" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "Boolesk (antingen Sann eller Falsk)" -#: contrib/admin/views/doc.py:279 -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Sträng (upp till %(maxlength)s)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "Komma-separerade heltal" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Datum (utan tid)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "Datum (med tid)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "E-postadress:" -#: contrib/admin/views/doc.py:284 -#: contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Sökväg" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" -msgstr "decemaltal" +msgstr "Decimaltal" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "Boolesk (antingen Sann, Falsk eller Inget)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" -msgstr "Relation till förälder" +msgstr "Relation till förälder modell" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Telefonnummer" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Tid" -#: contrib/admin/views/doc.py:300 -#: contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "Stat i USA (två stora bokstäver)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "XML-text" +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s verkar inte vara ett urlmönster-objekt" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Nuvarande:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Ändra:" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Tid:" + #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 @@ -633,9 +1655,12 @@ msgstr "Dokumentation" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -652,11 +1677,13 @@ msgid "Change password" msgstr "Ändra lösenord" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -667,7 +1694,7 @@ msgid "Home" msgstr "Hem" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Historik" @@ -688,16 +1715,22 @@ msgid "DATE_WITH_TIME_FULL" msgstr "D j F Y, H:i:s" #: 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 "Det här objektet har ingen ändringshistorik. Det lades antagligen inte till i den här admin-sidan" +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Det här objektet har ingen ändringshistorik. Det lades antagligen inte till " +"i den här admin-sidan" -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Djangos sidadministration" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Lägg till %(name)s" -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administration för Django" +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Av %(filter_title)s " #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -712,8 +1745,53 @@ msgid "Server Error (500)" msgstr "Serverfel (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 "Ett fel har uppstått. Sidadministratören har meddelats via e-post och felet bör åtgärdas snart. Tack för ditt tålamod." +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 "" +"Ett fel har uppstått. Administratören har meddelats via e-post och " +"felet bör åtgärdas snart. Tack för ditt tålamod." + +#: 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 "" +"Någonting är fel med din databasinstallation. Se till att de rätta tabellerna har " +"skapats och att databasen är läsbar av rätt användare." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Utför" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultat" +msgstr[1] "%(counter)s resultat" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totalt" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Visa alla" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django sidadministration" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django administration" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filter" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -727,7 +1805,12 @@ msgstr "Vi är ledsna, men den efterfrågade sidan kunde inte hittas." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." -msgstr "Modeller tillgängliga i applikationen för %(name)s" +msgstr "Modeller tillgängliga i %(name)s applikationen." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 @@ -740,7 +1823,7 @@ msgstr "Ändra" #: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." -msgstr "Du har inte rätt att ändra något." +msgstr "Du har inte rättigheter att ändra något." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" @@ -754,16 +1837,26 @@ msgstr "Mina händelser" msgid "None available" msgstr "Inga tillgängliga" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Lägg till %(name)s" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Visa på hemsidan" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Har du glömt ditt lösenord?" +#: contrib/admin/templates/admin/change_form.html:32 +#: 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] "Rätta till felet nedan." +msgstr[1] "Rätta till felen nedan." -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Sortering" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Sortera:" + +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "Välkommen," @@ -774,45 +1867,28 @@ msgstr "Ta bort" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format -msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Att ta bort %(object_name)s '%(object)s' skulle innebära att besläktade objekt togs bort, men ditt konto har inte rättigheter att ta bort följande objekttyper:" +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Att ta bort %(object_name)s '%(escaped_object)s' skulle innebära att besläktade " +"objekt togs bort, men ditt konto har inte rättigheter att ta bort följande " +"objekttyper:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format -msgid "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of the following related items will be deleted:" -msgstr "Är du säker på att du vill ta bort %(object_name)s \"%(object)s\"? Följande besläktade föremål kommer att tas bort:" +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 "" +"Är du säker på att du vill ta bort %(object_name)s \"%(escaped_object)s\"? Alla " +"dessa sammanlänkade objekt kommer att tas bort:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" msgstr "Ja, jag är säker" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Efter %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Utför" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Visa på hemsidan" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Rätta till felet nedan." -msgstr[1] "Rätta till felen nedan." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Sortering" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Sortera:" - #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" msgstr "Spara som ny" @@ -829,6 +1905,38 @@ msgstr "Spara och fortsätt redigera" msgid "Save" msgstr "Spara" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Ange nytt lösenord för användaren %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Lösenord" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "lösenord (igen)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Fyll i samma lösenord som ovan för verifiering." + +#: 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 "" +"Ange först ett användarnamn och ett lösenord sedan kommer du att kunna " +"ändra fler användaralternativ." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Användarnamn" + #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -853,8 +1961,12 @@ msgid "Password reset" msgstr "Nollställ lösenordet" #: 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 "Har du glömt ditt lösenord? Fyll i din e-postadress nedan, så nollställer vi ditt lösenord och mailar det nya till dig." +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 "" +"Har du glömt ditt lösenord? Fyll i din e-postadress nedan, så nollställer vi " +"ditt lösenord och mailar det nya till dig." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -866,7 +1978,7 @@ msgstr "Nollställ mitt lösenord" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Tack för att du spenderade kvalitetstid med webbsidan idag." +msgstr "Tack för att du spenderade kvalitetstid med websidan idag." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -878,12 +1990,20 @@ msgid "Password reset successful" msgstr "Nollställning av lösenordet lyckades" #: 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 "Vi har skickat ett nytt lösenord till e-postadressen du fyllde i. Det bör anlända snarast." +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Vi har skickat ett nytt lösenord till e-postadressen du fyllde i. Det bör " +"anlända snarast." #: 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 "Var god fyll i ditt gamla lösenord, för säkerhets skull, och skriv sedan in det nya lösenordet två gånger så vi kan kontrollera att du skrev det rätt." +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 "" +"Var god fyll i ditt gamla lösenord, för säkerhets skull, och skriv sedan in " +"det nya lösenordet två gånger så vi kan kontrollera att du skrev det rätt." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -917,7 +2037,9 @@ msgstr "Ditt nya lösenord är: %(new_password)s" #: contrib/admin/templates/registration/password_reset_email.html:7 msgid "Feel free to change this password by going to this page:" -msgstr "Känn dig välkommen att ändra det här lösenordet genom att gå till den här sidan:" +msgstr "" +"Känn dig välkommen att ändra det här lösenordet genom att gå till den här " +"sidan:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" @@ -954,25 +2076,33 @@ msgstr "" "

                            För att installera smarta bokmärken, dra länken till din\n" "verktygsrad med bokmärken, eller högerklicka på länken och lägg till den\n" "till dina bokmärken. Nu kan du välja det smarta bokmärket från alla sidor\n" -"på hemsidan. Notera att några av desa smarta bokmärken kräver att du tittar\n" -"på sidan på en dator som är \"intern\" (prata med din systemadministratör\n" -"om du inte är säker på om din dator är \"intern\")

                            \n" +"på hemsidan. Observera att några av dessa smarta bokmärken kräver att du besöker\n" +"sidan från en dator som är \"intern\" (tala med din systemadministratör\n" +"om du inte är säker på om din dator är \"intern\").

                            \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" msgstr "Dokumentation för den här sidan" #: 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 "Förflyttar dig från valfri sida till dokumentationen för vyn som genererar den sidan." +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Förflyttar dig från valfri sida till dokumentationen för vyn som genererar " +"den sidan." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "Visa objektets id" +msgstr "Visa objektets 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 "Visa innehållstypen och ID:t för sidor som representerar ett enskillt objekt." +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Visa innehållstypen och det unika ID:t för sidor som representerar ett " +"enskilt objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -980,7 +2110,9 @@ msgstr "Redigera det här objektet (nuvarande fönster)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Hoppar till administrationssidan för sidor som representerar ett enskillt objekt." +msgstr "" +"Hoppar till administrationssidan för sidor som representerar ett enskilt " +"objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" @@ -988,339 +2120,87 @@ msgstr "Redigera det här objektet (nytt fönster)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "Som ovan, men öppnaradministrationssidan i ett nytt fönster." +msgstr "Som ovan, men öppnar administrationssidan i ett nytt fönster." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Datum:" +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Fyll i ett postnummer. Du måste ha mellanslag mellan nummerdelarna." -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Tid:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Nuvarande:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Ändra:" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "vidarebefodra från" - -#: contrib/redirects/models.py:8 -msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Det här bör vara en absolut sökväg, förutom domännamnet. Exempel: '/handelser/sok/'." - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "vidarebefodra till" - -#: contrib/redirects/models.py:10 -msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Det här kan vara antingen en absolut sökväg (som ovan), eller en komplett adress som börjar med 'http://'." - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "vidarebefodra" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "vidarebefodringar" - -#: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Exempel: '/om/kontakt/'. Se till att ha inledande och avslutande snedsträck." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "titel" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "innehåll" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "aktivera kommentarer" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "mallnamn" - -#: contrib/flatpages/models.py:13 -msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." -msgstr "Exempel: 'flatpages/kontaktsida'. Om det här inte fylls i kommer systemet att använda 'flatpages/default'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registrering krävs" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Om det här bockas i kommer endast inloggade användare att kunna visa sidan" - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "flatsida" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "flatsidor" - -#: contrib/auth/models.py:13 -#: contrib/auth/models.py:26 -msgid "name" -msgstr "namn" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "kodnamn" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "rättighet" - -#: contrib/auth/models.py:18 -#: contrib/auth/models.py:27 -msgid "permissions" -msgstr "rättigheter" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "grupp" - -#: contrib/auth/models.py:30 -#: contrib/auth/models.py:65 -msgid "groups" -msgstr "grupper" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "användarnamn" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "förnamn" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "efternamn" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "e-postadress" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "lösenord" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Använd '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "personalstatus" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Avgör om användaren kan logga in till den här administrationssidan." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "aktiv" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "superanvändare" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "senaste inloggning" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "registreringsdatum" - -#: contrib/auth/models.py:66 -msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "Förutom de rättigheterna som utdelas manuellt så kommer användaren dessutom få samma rättigheter som de grupper där han/hon är medlem." - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "användarättigheter" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "användare" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "användare" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Personlig information" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Rättigheter" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Viktiga datum" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupper" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "meddelande" - -#: contrib/auth/forms.py:30 -msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "Din webläsare verkar inte stödja cookies. Cookie behövs för att kunna logga in." - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "python model class namn" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "innehållstyp" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "innehållstyper" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "sessionsnyckel" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "sessionsdata" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "utgångsdatum" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "session" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessioner" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "domännamn" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "visat namn" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "hemsida" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "hemsidor" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "Y-m-d" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "Y-m-d, H:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i:s" +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Fyll i zipkod i formatet XXXXX eller XXXXX-XXXX." #: utils/dates.py:6 msgid "Monday" -msgstr "måndag" +msgstr "Måndag" #: utils/dates.py:6 msgid "Tuesday" -msgstr "tisdag" +msgstr "Tisdag" #: utils/dates.py:6 msgid "Wednesday" -msgstr "onsdag" +msgstr "Onsdag" #: utils/dates.py:6 msgid "Thursday" -msgstr "torsdag" +msgstr "Torsdag" #: utils/dates.py:6 msgid "Friday" -msgstr "fredag" +msgstr "Fredag" #: utils/dates.py:7 msgid "Saturday" -msgstr "lördag" +msgstr "Lördag" #: utils/dates.py:7 msgid "Sunday" -msgstr "söndag" +msgstr "Söndag" #: utils/dates.py:14 msgid "January" -msgstr "januari" +msgstr "Januari" #: utils/dates.py:14 msgid "February" -msgstr "februari" +msgstr "Februari" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "March" -msgstr "mars" +msgstr "Mars" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "April" -msgstr "april" +msgstr "April" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "May" -msgstr "maj" +msgstr "Maj" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "June" -msgstr "juni" +msgstr "Juni" -#: utils/dates.py:15 -#: utils/dates.py:27 +#: utils/dates.py:15 utils/dates.py:27 msgid "July" -msgstr "juli" +msgstr "Juli" #: utils/dates.py:15 msgid "August" -msgstr "augusti" +msgstr "Augusti" #: utils/dates.py:15 msgid "September" -msgstr "september" +msgstr "September" #: utils/dates.py:15 msgid "October" -msgstr "oktober" +msgstr "Oktober" #: utils/dates.py:15 msgid "November" -msgstr "november" +msgstr "November" #: utils/dates.py:16 msgid "December" @@ -1416,7 +2296,9 @@ msgstr[1] "månader" #: utils/timesince.py:14 msgid "week" -msgstr "vecka" +msgid_plural "weeks" +msgstr[0] "vecka" +msgstr[1] "veckor" #: utils/timesince.py:15 msgid "day" @@ -1436,453 +2318,27 @@ msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuter" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengaliska" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Tjeckiska" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Walesiska" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danska" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tyska" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grekiska" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Engelska" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spanska" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Franska" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galisiska" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Ungerska" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Hebreiska" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Isländska" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italienska" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Japanska" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Holländska" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norska" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasilianska" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumänska" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Ryska" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovakiska" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Slovakiska" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbiska" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svenska" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ukrainska" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Förenklad kinesiska" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Traditionell Kinesiska" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Det här värdet får bara innehålla bokstäver, tal och understräck." - -#: core/validators.py:64 -msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Det här värdet får bara innehålla bokstäver, siffror, understräck, sträck och snedsträck" - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Stora bokstäver är inte tillåtna här." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Små bokstäver är inte tillåtna här." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Fyll enbart i siffror avskillda med kommatecken." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Fyll i giltiga e-postadresser avskillda med kommatecken." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Var god fyll i ett giltigt IP-nummer." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Tomma värden är inte tillåtna här." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Icke-numeriska tecken är inte tillåtna här." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Det här värdet kan inte enbart bestå av siffror." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Fyll i ett heltal." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Endast alfabetiska bokstäver är tillåtna här." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Fyll i ett giltigt datum i formatet ÅÅÅÅ-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Fyll i en giltig tid i formatet TT:MM" - -#: core/validators.py:132 -#: db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Fyll i en giltig tidpunkt i formatet ÅÅÅÅ-MM-DD TT:MM" - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Fyll i en giltig e-postadress." - -#: core/validators.py:148 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Ladda upp en giltig bild. Filen du laddade upp var antingen inte en bild, eller så var det en korrupt bild." - -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "Adressen %s pekar inte till en giltig bild." - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Telefonnummer måste vara i det amerikanska formatet XXX-XXX-XXXX. \"%s\" är ogiltigt." - -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Adressen %s pekar inte till en giltig QuickTime-video." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "En giltig adress krävs." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" msgstr "" -"Giltig HTML krävs. Specifika fel är:\n" -"%s" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Missformad XML: %s" +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Felaktig URL: %s" +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "" -#: core/validators.py:206 -#: core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "URL:en %s är en trasig länk." +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Fyll i en giltig förkortning för en amerikansk delstat" +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "" -#: core/validators.py:229 -#, 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] "Håll i tungan! Ordet %s är inte tillåtet här." -msgstr[1] "Håll i tungan! Orden %s är inte tillåtna här." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Det här fältet måste matcha fältet '%s'." - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Fyll i något i minst ett fält." - -#: core/validators.py:264 -#: core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Fyll antingen i båda fälten, eller lämna båda tomma" - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Det är fältet måste anges om %(field)s är %(value)s" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Det här fältet måste anges om %(field)s inte är %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Upprepade värden är inte tillåtna." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Det här värdet måste vara en multipel av %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Fyll i ett giltigt decimaltal." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Fyll i ett giltigt decimaltal med mindre än %s siffra totalt." -msgstr[1] "Fyll i ett giltigt decimaltal med mindre än %s siffror totalt." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Fyll i ett giltigt decimaltal med som mest %s decimalsiffra." -msgstr[1] "Fyll i ett giltigt decimaltal med som mest %s decimalsiffror." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Se till att filen du laddade upp är minst %s bytes stor." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Se till att filen du laddade upp är max %s bytes stor." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formatet på det här fältet är fel." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Det här fältet är ogiltigt." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Kunde inte hämta något från %s." - -#: core/validators.py:429 -#, python-format -msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "Adressen %(url)s returnerade det ogiltiga innehållstyphuvudet (Content-Type header) '%(contenttype)s'" - -#: core/validators.py:462 -#, python-format -msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" -msgstr "Var god avsluta den oavslutade taggen %(tag)s på rad %(line)s. (Raden börjar med \"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" -msgstr "En del text från rad %(line)s är inte tillåtet i det sammanhanget. (Raden börjar med \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "\"%(attr)s\" på rad %(line)s är inte ett gilltigt attribut. (Raden startar med \"%(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" -msgstr "\"<%(tag)s>\" på rad %(line)s är inte en giltig tagg. (Raden börjar med \"%(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" -msgstr "En tagg på rad %(line)s saknar en eller flera nödvändiga attribut. (Raden börjar med \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" -msgstr "Attributet \"%(attr)s\" på rad %(line)s har ett ogiltigt värde. (Raden börjar med \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s med typen %(type)s finns redan för %(field)s." - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s med det här %(fieldname)s finns redan." - -#: db/models/fields/__init__.py:114 -#: db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 -#: db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Det här fältet är obligatoriskt." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Det här värdet måste vara ett heltal" - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Det här värdet måste vara True eller False" - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Det här fältet får inte vara null" - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Fyll i ett giltigt filnamn." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Var god fyll i ett giltigt %s." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Separera flera ID:n med kommatecken." - -#: db/models/fields/related.py:581 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Håll ner \"Control\", eller \"Command\" på en Mac, för att välja mer än en." - -#: db/models/fields/related.py:625 -#, 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] "Var god och fyll giltiga %(self)s ID. Värdet %(value)r är ogiltigt." -msgstr[1] "Var god och fyll giltiga %(self)s ID. Värdena %(value)r är ogiltigt." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Se till att din text är kortare än %s tecken." -msgstr[1] "Se till att din text är kortare än %s tecken." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Radbrytningar är inte tillåtna här." - -#: forms/__init__.py:480 -#: forms/__init__.py:551 -#: forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Välj ett giltigt alternativ. '%(data)s' finns inte bland %(choices)s" - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Den insända filen är tom." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Fyll i ett heltal mellan -32 768 och 32 767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Fyll i ett positivt heltal." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Fyll i ett heltal mellan 0 och 32 767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:490 msgid "yes,no,maybe" msgstr "ja,nej,kanske" -#~ msgid "Comment" -#~ msgstr "Kommentar" -#~ msgid "Comments" -#~ msgstr "Kommentarer" -#~ msgid "String (up to 50)" -#~ msgstr "Sträng (upp till 50)" -#~ msgid "label" -#~ msgstr "etikett" -#~ msgid "package" -#~ msgstr "paket" -#~ msgid "packages" -#~ msgstr "paket" - -#, fuzzy -#~ msgid "count" -#~ msgstr "innehåll" - diff --git a/django/conf/locale/sv/LC_MESSAGES/djangojs.mo b/django/conf/locale/sv/LC_MESSAGES/djangojs.mo index c73aa305606de3a5745079f50baaef8b27af7bad..90e643a3c84d2f332a7a08a125b914a673159ea1 100644 GIT binary patch literal 1691 zcmaKr&u<(x6vqve0t*x<6na47^-!r5n$09ZY1kxHLw=C7*(AzNllJJ{F|*Fj*elzU zvZzN?ai9kdz4b;aapaVLVE+xol`9txToB(kJ54H7Vafj3&(F`#Kfb?TJoiMPTt@vA z^*7Y3s83%(gA%_g#CdQUd<~oj-vJlFH^I$%eh+*XwK{bKsBQ zUGOK6DSQ9XYHPMp^g z_#U_cvj07h_mSWSU?1f5-_`TqgBLJ<46@%-koW%?pti32`a8fT&!)JH{T840~fxBx2xU@%^b;Q(G<&RDwdC=&Sf`Obk&O$nJbe@ zhmPr~T&(o1^@=0~U8vJhUQKvqswKISjwIW1+Z%`tohor#no_zEt*fr9I&JBCeOewm zol{$m=yquontVjdWmft?9W@N9=qg7$yj$xItwHlZ?5P4? zqC;&;=m2${I-;X;)eAJTrK4Wo>Ylphuah(>^>W=Ckm&TWv{T}sBWl|UNvS*!4^(O< zy`*2d%Czn@&vaxc9XcYhleVzVA6sIj|~L@Q3o0Pkp32GydOIKC0Zvr#-p@l0#x%g^KKIEG`ir;ap7 zeW~AUJn`F-K17L=#^*9v*P^x_3@mM^JonmUv{>-?mbWf%8WnCfwvb>cGZiID7A;z> z5~gq(!PDa85PEvv+{&!Ya+Nt-4t=v{i<^!1W_#`IywlCNv0_b723d@TI8IRChN)pL zwOPPxNas~px|^&=^Jjj%*Eh;VYo=#YB-x_*t`3deymT^;)~zdii^vSCv0s{5ph znxQL8G<|)caWC4nD%Bx+ew-F{9>C!HXHzS-G{KE9bFj9$w%ri%Tr-Zv*7!Kf@WJte z6ExZQ*krlR_;25-rQ#oeoPgfJJ-BpI?f7nWvS8mX8YQ2Flg; zJFE&Rz8;?xwJh{=S!hVX`BPOKvMMyILf5L$FUn%@f3lDvKpr8`aQuu?JSX%~ibQ7A z#kZ>kvQr6Ut3C#9D@@_KB^}9}EaW+0c}S`bB|761C?lH)B%?$_3>od13W;THWVG%S XV{3c@1!Q8gY9NdZ`rORM&z$%d*TI}I literal 905 zcmZ9K+iuf95QY~hCv%X>H5c1EB(%W}Z57<6s&G>&YEz;%Ee9c_ZM=2d+B??nx~0G! z;t_ZQ`UpHhUIXzg{F|hT#7g6DX6LXo*8F|4@RQ*@ggk|OgDgV+K>Xo17`p>5f%m{? zGdltw!ES-K!R?uU7hHgS2;Kre%>18b{uI2A`x5*Oxq$e5fnZ<%CFtK<2YnyO%svF~ z!u|+822=1RXhHwp`ON-d9|$$#*=?umPp=65o=Hf%#rpr;NYq z8#+}(C%UOPQpV<_W4?7NbwnFevss>s*L7yafMOo>-wZ@zlyry{ThghRH^Xp6 zL`@OC;!zZ@M9;%03=t^y)p_n~{vWr@qvbeiPUCi^bz)$owuN+LV!ltux#kC?)d?BP z*XfHa$>y8KMXt}3F8pY=Vbw;ki$-giDKSv8yl$M&Yaw|$jOa$Kz0Hg$D^zBvu54pS z)@P3G_;rwzeUQ$9&hct|#Z&w< UEJn?`&{!8+kzrA~+4#z^f5z|HiU0rr diff --git a/django/conf/locale/sv/LC_MESSAGES/djangojs.po b/django/conf/locale/sv/LC_MESSAGES/djangojs.po index 4d0c1e9034..f856d7fce5 100644 --- a/django/conf/locale/sv/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sv/LC_MESSAGES/djangojs.po @@ -1,112 +1,125 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Swedish translation of Django +# Copyright (C) 2005 +# This file is distributed under the same license as the Django package. # +# +# Robin Sonefors , 2005. +# Mikko Hellsing , 2007. msgid "" msgstr "" -"Project-Id-Version: Django\n" +"Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2005-12-04 14:12+0100\n" -"Last-Translator: Robin Sonefors \n" -"Language-Team: Django Translators \n" +"POT-Creation-Date: 2007-03-06 02:29+0100\n" +"PO-Revision-Date: 2007-03-06 02:30+0100\n" +"Last-Translator: Mikko Hellsing \n" +"Language-Team: Django translators \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Swedish\n" "X-Poedit-Country: SWEDEN\n" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format msgid "Available %s" -msgstr "" +msgstr "Tillgänglig %s" #: contrib/admin/media/js/SelectFilter2.js:41 -#, fuzzy msgid "Choose all" -msgstr "Välj en tidpunkt" +msgstr "Visa alla" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "" +msgstr "Lägg till" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "" +msgstr "Tag bort" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format msgid "Chosen %s" -msgstr "" +msgstr "Valde %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " -msgstr "" +msgstr "Välj ditt/dina val och klicka " #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "" +msgstr "Avmarkera alla" -#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/dateparse.js:32 #: contrib/admin/media/js/calendar.js:24 msgid "" "January February March April May June July August September October November " "December" msgstr "" +"Januari Februari Mars April Maj Juni Juli Augusti September Oktober November " +"December" -#: contrib/admin/media/js/dateparse.js:27 +#: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "" +msgstr "Söndag Mondag Tisdag Onsdag Torsdag Fredag Lördag" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" -msgstr "" +msgstr "S M T O T F L" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Visa" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Göm" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" msgstr "Nu" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "Klocka" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" msgstr "Välj en tidpunkt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Midnatt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "06.00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "Mitt på dagen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 msgid "Cancel" -msgstr "Ångra" +msgstr "Avbryt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 msgid "Today" msgstr "Idag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "Kalender" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "Igår" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Imorgon" + diff --git a/django/conf/project_template/settings.py b/django/conf/project_template/settings.py index 4fc03c809b..d36553b84d 100644 --- a/django/conf/project_template/settings.py +++ b/django/conf/project_template/settings.py @@ -9,7 +9,7 @@ ADMINS = ( MANAGERS = ADMINS -DATABASE_ENGINE = '' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. +DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. DATABASE_NAME = '' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. diff --git a/django/conf/urls/admin_password_reset.py b/django/conf/urls/admin_password_reset.py deleted file mode 100644 index afa078205a..0000000000 --- a/django/conf/urls/admin_password_reset.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.conf.urls.defaults import * - -urlpatterns = patterns('django.views', - (r'^$', 'registration.passwords.password_reset', {'is_admin_site' : True}), - (r'^done/$', 'registration.passwords.password_reset_done'), -) diff --git a/django/conf/urls/registration.py b/django/conf/urls/registration.py deleted file mode 100644 index 9b41e434f9..0000000000 --- a/django/conf/urls/registration.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.conf.urls.defaults import * - -urlpatterns = patterns('', - (r'^login/$', 'django.contrib.auth.views.login'), - (r'^logout/$', 'django.contrib.auth.views.logout'), - (r'^login_another/$', 'django.contrib.auth.views.logout_then_login'), - - (r'^register/$', 'ellington.registration.views.registration.signup'), - (r'^register/(?P\w{32})/$', 'ellington.registration.views.registration.register_form'), - - (r'^profile/$', 'ellington.registration.views.profile.profile'), - (r'^profile/welcome/$', 'ellington.registration.views.profile.profile_welcome'), - (r'^profile/edit/$', 'ellington.registration.views.profile.edit_profile'), - - (r'^password_reset/$', 'django.contrib.auth.views.password_reset'), - (r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done'), - (r'^password_change/$', 'django.contrib.auth.views.password_change'), - (r'^password_change/done/$', 'django.contrib.auth.views.password_change_done'), -) diff --git a/django/contrib/admin/media/css/forms.css b/django/contrib/admin/media/css/forms.css index 468e06a8a2..0cfe2ff28e 100644 --- a/django/contrib/admin/media/css/forms.css +++ b/django/contrib/admin/media/css/forms.css @@ -57,4 +57,4 @@ fieldset.monospace textarea { font-family:"Bitstream Vera Sans Mono",Monaco,"Cou .vURLField { width:30em; } .vLargeTextField, .vXMLLargeTextField { width:48em; } .flatpages-flatpage #id_content { height:40.2em; } -.module table .vPositiveSmallIntegerField { width:2.2em; } \ No newline at end of file +.module table .vPositiveSmallIntegerField { width:2.2em; } diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index 3c0c6f0ac2..5c678fba6f 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -84,22 +84,31 @@ def result_headers(cl): header = attr.short_description except AttributeError: header = field_name.replace('_', ' ') - # Non-field list_display values don't get ordering capability. - yield {"text": header} + + # It is a non-field, but perhaps one that is sortable + if not getattr(getattr(cl.model, field_name), "admin_order_field", None): + yield {"text": header} + continue + + # So this _is_ a sortable non-field. Go to the yield + # after the else clause. else: if isinstance(f.rel, models.ManyToOneRel) and f.null: yield {"text": f.verbose_name} + continue else: - th_classes = [] - new_order_type = 'asc' - if field_name == cl.order_field: - th_classes.append('sorted %sending' % cl.order_type.lower()) - new_order_type = {'asc': 'desc', 'desc': 'asc'}[cl.order_type.lower()] + header = f.verbose_name - yield {"text": f.verbose_name, - "sortable": True, - "url": cl.get_query_string({ORDER_VAR: i, ORDER_TYPE_VAR: new_order_type}), - "class_attrib": (th_classes and ' class="%s"' % ' '.join(th_classes) or '')} + th_classes = [] + new_order_type = 'asc' + if field_name == cl.order_field: + th_classes.append('sorted %sending' % cl.order_type.lower()) + new_order_type = {'asc': 'desc', 'desc': 'asc'}[cl.order_type.lower()] + + yield {"text": header, + "sortable": True, + "url": cl.get_query_string({ORDER_VAR: i, ORDER_TYPE_VAR: new_order_type}), + "class_attrib": (th_classes and ' class="%s"' % ' '.join(th_classes) or '')} def _boolean_icon(field_val): BOOLEAN_MAPPING = {True: 'yes', False: 'no', None: 'unknown'} diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index 282038e205..0e962adf18 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -461,9 +461,12 @@ def _get_deleted_objects(deleted_objects, perms_needed, user, obj, opts, current opts_seen.append(related.opts) rel_opts_name = related.get_accessor_name() has_related_objs = False - rel_objs = getattr(obj, rel_opts_name, None) - if rel_objs: - has_related_objs = True + + # related.get_accessor_name() could return None for symmetrical relationships + if rel_opts_name: + rel_objs = getattr(obj, rel_opts_name, None) + if rel_objs: + has_related_objs = True if has_related_objs: for sub_obj in rel_objs.all(): @@ -655,10 +658,17 @@ class ChangeList(object): order_field, order_type = ordering[0], 'asc' if params.has_key(ORDER_VAR): try: + field_name = lookup_opts.admin.list_display[int(params[ORDER_VAR])] try: - f = lookup_opts.get_field(lookup_opts.admin.list_display[int(params[ORDER_VAR])]) + f = lookup_opts.get_field(field_name) except models.FieldDoesNotExist: - pass + # see if field_name is a name of a non-field + # that allows sorting + try: + attr = getattr(lookup_opts.admin.manager.model, field_name) + order_field = attr.admin_order_field + except IndexError: + pass else: if not isinstance(f.rel, models.ManyToOneRel) or not f.null: order_field = f.name diff --git a/django/contrib/localflavor/usa/us_states.py b/django/contrib/localflavor/usa/us_states.py index 5333763645..89124a4b69 100644 --- a/django/contrib/localflavor/usa/us_states.py +++ b/django/contrib/localflavor/usa/us_states.py @@ -32,6 +32,7 @@ STATE_CHOICES = ( ('ME', 'Maine'), ('MH', 'Marshall Islands'), ('MD', 'Maryland'), + ('MA', 'Massachusetts'), ('MI', 'Michigan'), ('MN', 'Minnesota'), ('MS', 'Mississippi'), @@ -235,4 +236,4 @@ STATES_NORMALIZED = { 'wy': 'WY', 'wyo': 'WY', 'wyoming': 'WY', -} \ No newline at end of file +} diff --git a/django/core/mail.py b/django/core/mail.py index cc99659adb..b9966c2af0 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -3,7 +3,8 @@ from django.conf import settings from email.MIMEText import MIMEText from email.Header import Header -import smtplib, rfc822 +from email.Utils import formatdate +import smtplib import socket import time import random @@ -33,21 +34,34 @@ class SafeMIMEText(MIMEText): val = Header(val, settings.DEFAULT_CHARSET) MIMEText.__setitem__(self, name, val) -def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD): +def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None): """ Easy wrapper for sending a single message to a recipient list. All members of the recipient list will see the other recipients in the 'To' field. + + If auth_user is None, the EMAIL_HOST_USER setting is used. + If auth_password is None, the EMAIL_HOST_PASSWORD setting is used. """ + if auth_user is None: + auth_user = settings.EMAIL_HOST_USER + if auth_password is None: + auth_password = settings.EMAIL_HOST_PASSWORD return send_mass_mail([[subject, message, from_email, recipient_list]], fail_silently, auth_user, auth_password) -def send_mass_mail(datatuple, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD): +def send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password=None): """ Given a datatuple of (subject, message, from_email, recipient_list), sends each message to each recipient list. Returns the number of e-mails sent. If from_email is None, the DEFAULT_FROM_EMAIL setting is used. If auth_user and auth_password are set, they're used to log in. + If auth_user is None, the EMAIL_HOST_USER setting is used. + If auth_password is None, the EMAIL_HOST_PASSWORD setting is used. """ + if auth_user is None: + auth_user = settings.EMAIL_HOST_USER + if auth_password is None: + auth_password = settings.EMAIL_HOST_PASSWORD try: server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT) if auth_user and auth_password: @@ -65,7 +79,7 @@ def send_mass_mail(datatuple, fail_silently=False, auth_user=settings.EMAIL_HOST msg['Subject'] = subject msg['From'] = from_email msg['To'] = ', '.join(recipient_list) - msg['Date'] = rfc822.formatdate() + msg['Date'] = formatdate() try: random_bits = str(random.getrandbits(64)) except AttributeError: # Python 2.3 doesn't have random.getrandbits(). diff --git a/django/core/management.py b/django/core/management.py index ae610e696d..0a04a7e830 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -68,6 +68,25 @@ def _get_table_list(): cursor = connection.cursor() return get_introspection_module().get_table_list(cursor) +def _get_sequence_list(): + "Returns a list of information about all DB sequences for all models in all apps" + from django.db import models + + apps = models.get_apps() + sequence_list = [] + + for app in apps: + for model in models.get_models(app): + for f in model._meta.fields: + if isinstance(f, models.AutoField): + sequence_list.append({'table':model._meta.db_table,'column':f.column,}) + break # Only one AutoField is allowed per model, so don't bother continuing. + + for f in model._meta.many_to_many: + sequence_list.append({'table':f.m2m_db_table(),'column':None,}) + + return sequence_list + # If the foreign key points to an AutoField, a PositiveIntegerField or a # PositiveSmallIntegerField, the foreign key should be an IntegerField, not the # referred field type. Otherwise, the foreign key should be the same type of @@ -167,7 +186,8 @@ def _get_sql_model_create(model, known_models=set()): if f.rel.to in known_models: field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \ style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \ - style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' + style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' + + backend.get_deferrable_sql() ) else: # We haven't yet created the table to which this field @@ -210,9 +230,10 @@ def _get_sql_for_pending_references(model, pending_references): # For MySQL, r_name must be unique in the first 64 characters. # So we are careful with character usage here. r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table)))) - final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s);' % \ + final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)%s;' % \ (backend.quote_name(r_table), r_name, - backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col))) + backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), + backend.get_deferrable_sql())) del pending_references[model] return final_output @@ -232,18 +253,20 @@ def _get_many_to_many_sql_for_model(model): (style.SQL_FIELD(backend.quote_name('id')), style.SQL_COLTYPE(data_types['AutoField']), style.SQL_KEYWORD('NOT NULL PRIMARY KEY'))) - table_output.append(' %s %s %s %s (%s),' % \ + table_output.append(' %s %s %s %s (%s)%s,' % \ (style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), style.SQL_COLTYPE(data_types[get_rel_data_type(opts.pk)] % opts.pk.__dict__), style.SQL_KEYWORD('NOT NULL REFERENCES'), style.SQL_TABLE(backend.quote_name(opts.db_table)), - style.SQL_FIELD(backend.quote_name(opts.pk.column)))) - table_output.append(' %s %s %s %s (%s),' % \ + style.SQL_FIELD(backend.quote_name(opts.pk.column)), + backend.get_deferrable_sql())) + table_output.append(' %s %s %s %s (%s)%s,' % \ (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), style.SQL_COLTYPE(data_types[get_rel_data_type(f.rel.to._meta.pk)] % f.rel.to._meta.pk.__dict__), style.SQL_KEYWORD('NOT NULL REFERENCES'), style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), - style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)))) + style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)), + backend.get_deferrable_sql())) table_output.append(' %s (%s, %s)' % \ (style.SQL_KEYWORD('UNIQUE'), style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), @@ -330,7 +353,15 @@ def get_sql_reset(app): get_sql_reset.help_doc = "Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s)." get_sql_reset.args = APP_ARGS -def get_sql_initial_data_for_model(model): +def get_sql_flush(): + "Returns a list of the SQL statements used to flush the database" + from django.db import backend + statements = backend.get_sql_flush(style, _get_table_list(), _get_sequence_list()) + return statements +get_sql_flush.help_doc = "Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed." +get_sql_flush.args = '' + +def get_custom_sql_for_model(model): from django.db import models from django.conf import settings @@ -357,8 +388,8 @@ def get_sql_initial_data_for_model(model): return output -def get_sql_initial_data(app): - "Returns a list of the initial INSERT SQL statements for the given app." +def get_custom_sql(app): + "Returns a list of the custom table modifying SQL statements for the given app." from django.db.models import get_models output = [] @@ -366,11 +397,17 @@ def get_sql_initial_data(app): app_dir = os.path.normpath(os.path.join(os.path.dirname(app.__file__), 'sql')) for model in app_models: - output.extend(get_sql_initial_data_for_model(model)) + output.extend(get_custom_sql_for_model(model)) return output -get_sql_initial_data.help_doc = "Prints the initial INSERT SQL statements for the given app name(s)." -get_sql_initial_data.args = APP_ARGS +get_custom_sql.help_doc = "Prints the custom table modifying SQL statements for the given app name(s)." +get_custom_sql.args = APP_ARGS + +def get_sql_initial_data(apps): + "Returns a list of the initial INSERT SQL statements for the given app." + return style.ERROR("This action has been renamed. Try './manage.py sqlcustom %s'." % ' '.join(apps and apps or ['app1', 'app2'])) +get_sql_initial_data.help_doc = "RENAMED: see 'sqlcustom'" +get_sql_initial_data.args = '' def get_sql_sequence_reset(app): "Returns a list of the SQL statements to reset PostgreSQL sequences for the given app." @@ -428,16 +465,26 @@ def get_sql_indexes_for_model(model): def get_sql_all(app): "Returns a list of CREATE TABLE SQL, initial-data inserts, and CREATE INDEX SQL for the given module." - return get_sql_create(app) + get_sql_initial_data(app) + get_sql_indexes(app) + return get_sql_create(app) + get_custom_sql(app) + get_sql_indexes(app) get_sql_all.help_doc = "Prints the CREATE TABLE, initial-data and CREATE INDEX SQL statements for the given model module name(s)." get_sql_all.args = APP_ARGS +def _emit_post_sync_signal(created_models, verbosity, interactive): + from django.db import models + from django.dispatch import dispatcher + # Emit the post_sync signal for every application. + for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] + if verbosity >= 2: + print "Running post-sync handlers for application", app_name + dispatcher.send(signal=models.signals.post_syncdb, sender=app, + app=app, created_models=created_models, + verbosity=verbosity, interactive=interactive) + def syncdb(verbosity=1, interactive=True): "Creates the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." from django.db import connection, transaction, models, get_creation_module - from django.db.models import signals from django.conf import settings - from django.dispatch import dispatcher disable_termcolors() @@ -499,27 +546,22 @@ def syncdb(verbosity=1, interactive=True): # Send the post_syncdb signal, so individual apps can do whatever they need # to do at this point. - for app in models.get_apps(): - app_name = app.__name__.split('.')[-2] - if verbosity >= 2: - print "Running post-sync handlers for application", app_name - dispatcher.send(signal=signals.post_syncdb, sender=app, - app=app, created_models=created_models, - verbosity=verbosity, interactive=interactive) + _emit_post_sync_signal(created_models, verbosity, interactive) - # Install initial data for the app (but only if this is a model we've - # just created) + # Install custom SQL for the app (but only if this + # is a model we've just created) + for app in models.get_apps(): for model in models.get_models(app): if model in created_models: - initial_sql = get_sql_initial_data_for_model(model) - if initial_sql: + custom_sql = get_custom_sql_for_model(model) + if custom_sql: if verbosity >= 1: - print "Installing initial data for %s.%s model" % (app_name, model._meta.object_name) + print "Installing custom SQL for %s.%s model" % (app_name, model._meta.object_name) try: - for sql in initial_sql: + for sql in custom_sql: cursor.execute(sql) except Exception, e: - sys.stderr.write("Failed to install initial SQL data for %s.%s model: %s" % \ + sys.stderr.write("Failed to install custom SQL for %s.%s model: %s" % \ (app_name, model._meta.object_name, e)) transaction.rollback_unless_managed() else: @@ -544,7 +586,10 @@ def syncdb(verbosity=1, interactive=True): else: transaction.commit_unless_managed() -syncdb.args = '' + # Install the 'initialdata' fixture, using format discovery + load_data(['initial_data'], verbosity=verbosity) +syncdb.help_doc = "Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." +syncdb.args = '[--verbosity] [--interactive]' def get_admin_index(app): "Returns admin-index template snippet (in list form) for the given app." @@ -597,36 +642,6 @@ def diffsettings(): print '\n'.join(output) diffsettings.args = "" -def install(app): - "Executes the equivalent of 'get_sql_all' in the current database." - from django.db import connection, transaction - - app_name = app.__name__.split('.')[-2] - - disable_termcolors() - - # First, try validating the models. - _check_for_validation_errors(app) - - sql_list = get_sql_all(app) - - try: - cursor = connection.cursor() - for sql in sql_list: - cursor.execute(sql) - except Exception, e: - sys.stderr.write(style.ERROR("""Error: %s couldn't be installed. Possible reasons: - * The database isn't running or isn't configured correctly. - * At least one of the database tables already exists. - * The SQL was invalid. -Hint: Look at the output of 'django-admin.py sqlall %s'. That's the SQL this command wasn't able to run. -The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') - transaction.rollback_unless_managed() - sys.exit(1) - transaction.commit_unless_managed() -install.help_doc = "Executes ``sqlall`` for the given app(s) in the current database." -install.args = APP_ARGS - def reset(app, interactive=True): "Executes the equivalent of 'get_sql_reset' in the current database." from django.db import connection, transaction @@ -668,7 +683,68 @@ The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') else: print "Reset cancelled." reset.help_doc = "Executes ``sqlreset`` for the given app(s) in the current database." -reset.args = APP_ARGS +reset.args = '[--interactive]' + APP_ARGS + +def flush(verbosity=1, interactive=True): + "Returns all tables in the database to the same state they were in immediately after syncdb." + from django.conf import settings + from django.db import connection, transaction, models + from django.dispatch import dispatcher + + disable_termcolors() + + # First, try validating the models. + _check_for_validation_errors() + + # Import the 'management' module within each installed app, to register + # dispatcher events. + for app_name in settings.INSTALLED_APPS: + try: + __import__(app_name + '.management', {}, {}, ['']) + except ImportError: + pass + + sql_list = get_sql_flush() + + if interactive: + confirm = raw_input(""" +You have requested a flush of the database. +This will IRREVERSIBLY DESTROY all data currently in the database, +and return each table to the state it was in after syncdb. +Are you sure you want to do this? + +Type 'yes' to continue, or 'no' to cancel: """) + else: + confirm = 'yes' + + if confirm == 'yes': + try: + cursor = connection.cursor() + for sql in sql_list: + cursor.execute(sql) + except Exception, e: + sys.stderr.write(style.ERROR("""Error: Database %s couldn't be flushed. Possible reasons: + * The database isn't running or isn't configured correctly. + * At least one of the expected database tables doesn't exist. + * The SQL was invalid. +Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run. +The full error: """ % settings.DATABASE_NAME + style.ERROR_OUTPUT(str(e)) + '\n')) + transaction.rollback_unless_managed() + sys.exit(1) + transaction.commit_unless_managed() + + # Emit the post sync signal. This allows individual + # applications to respond as if the database had been + # sync'd from scratch. + _emit_post_sync_signal(models.get_models(), verbosity, interactive) + + # Reinstall the initial_data fixture + load_data(['initial_data'], verbosity=verbosity) + + else: + print "Flush cancelled." +flush.help_doc = "Executes ``sqlflush`` on the current database." +flush.args = '[--verbosity] [--interactive]' def _start_helper(app_or_project, name, directory, other_name=''): other = {'project': 'app', 'app': 'project'}[app_or_project] @@ -751,7 +827,7 @@ def inspectdb(): yield "# * Make sure each model has one field with primary_key=True" yield "# Feel free to rename the models, but don't rename db_table values or field names." yield "#" - yield "# Also note: You'll have to insert the output of 'django-admin.py sqlinitialdata [appname]'" + yield "# Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]'" yield "# into your database." yield '' yield 'from django.db import models' @@ -1240,10 +1316,131 @@ def test(app_labels, verbosity=1): test_module = __import__(test_module_name, {}, {}, test_path[-1]) test_runner = getattr(test_module, test_path[-1]) - test_runner(app_list, verbosity) + failures = test_runner(app_list, verbosity) + if failures: + sys.exit(failures) + test.help_doc = 'Runs the test suite for the specified applications, or the entire site if no apps are specified' test.args = '[--verbosity] ' + APP_ARGS +def load_data(fixture_labels, verbosity=1): + "Installs the provided fixture file(s) as data in the database." + from django.db.models import get_apps + from django.core import serializers + from django.db import connection, transaction + from django.conf import settings + import sys + + # Keep a count of the installed objects and fixtures + count = [0,0] + + humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path' + + # Get a cursor (even though we don't need one yet). This has + # the side effect of initializing the test database (if + # it isn't already initialized). + cursor = connection.cursor() + + # Start transaction management. All fixtures are installed in a + # single transaction to ensure that all references are resolved. + transaction.commit_unless_managed() + transaction.enter_transaction_management() + transaction.managed(True) + + app_fixtures = [os.path.join(os.path.dirname(app.__file__),'fixtures') for app in get_apps()] + for fixture_label in fixture_labels: + if verbosity > 0: + print "Loading '%s' fixtures..." % fixture_label + for fixture_dir in app_fixtures + list(settings.FIXTURE_DIRS) + ['']: + if verbosity > 1: + print "Checking %s for fixtures..." % humanize(fixture_dir) + try: + fixture_name, format = fixture_label.rsplit('.', 1) + formats = [format] + except ValueError: + fixture_name = fixture_label + formats = serializers.get_serializer_formats() + + label_found = False + for format in formats: + serializer = serializers.get_serializer(format) + if verbosity > 1: + print "Trying %s for %s fixture '%s'..." % \ + (humanize(fixture_dir), format, fixture_name) + try: + full_path = os.path.join(fixture_dir, '.'.join([fixture_name, format])) + fixture = open(full_path, 'r') + if label_found: + fixture.close() + print style.ERROR("Multiple fixtures named '%s' in %s. Aborting." % + (fixture_name, humanize(fixture_dir))) + transaction.rollback() + transaction.leave_transaction_management() + return + else: + count[1] += 1 + if verbosity > 0: + print "Installing %s fixture '%s' from %s." % \ + (format, fixture_name, humanize(fixture_dir)) + try: + objects = serializers.deserialize(format, fixture) + for obj in objects: + count[0] += 1 + obj.save() + label_found = True + except Exception, e: + fixture.close() + sys.stderr.write( + style.ERROR("Problem installing fixture '%s': %s\n" % + (full_path, str(e)))) + transaction.rollback() + transaction.leave_transaction_management() + return + fixture.close() + except: + if verbosity > 1: + print "No %s fixture '%s' in %s." % \ + (format, fixture_name, humanize(fixture_dir)) + if count[0] == 0: + if verbosity > 0: + print "No fixtures found." + else: + if verbosity > 0: + print "Installed %d object(s) from %d fixture(s)" % tuple(count) + transaction.commit() + transaction.leave_transaction_management() + +load_data.help_doc = 'Installs the named fixture(s) in the database' +load_data.args = "[--verbosity] fixture, fixture, ..." + +def dump_data(app_labels, format='json', indent=None): + "Output the current contents of the database as a fixture of the given format" + from django.db.models import get_app, get_apps, get_models + from django.core import serializers + + if len(app_labels) == 0: + app_list = get_apps() + else: + app_list = [get_app(app_label) for app_label in app_labels] + + # Check that the serialization format exists; this is a shortcut to + # avoid collating all the objects and _then_ failing. + try: + serializers.get_serializer(format) + except KeyError: + sys.stderr.write(style.ERROR("Unknown serialization format: %s\n" % format)) + + objects = [] + for app in app_list: + for model in get_models(app): + objects.extend(model.objects.all()) + try: + print serializers.serialize(format, objects, indent=indent) + except Exception, e: + sys.stderr.write(style.ERROR("Unable to serialize database: %s\n" % e)) +dump_data.help_doc = 'Output the contents of the database as a fixture of the given format' +dump_data.args = '[--format]' + APP_ARGS + # Utilities for command-line script DEFAULT_ACTION_MAPPING = { @@ -1251,8 +1448,10 @@ DEFAULT_ACTION_MAPPING = { 'createcachetable' : createcachetable, 'dbshell': dbshell, 'diffsettings': diffsettings, + 'dumpdata': dump_data, + 'flush': flush, 'inspectdb': inspectdb, - 'install': install, + 'loaddata': load_data, 'reset': reset, 'runfcgi': runfcgi, 'runserver': runserver, @@ -1260,6 +1459,8 @@ DEFAULT_ACTION_MAPPING = { 'sql': get_sql_create, 'sqlall': get_sql_all, 'sqlclear': get_sql_delete, + 'sqlcustom': get_custom_sql, + 'sqlflush': get_sql_flush, 'sqlindexes': get_sql_indexes, 'sqlinitialdata': get_sql_initial_data, 'sqlreset': get_sql_reset, @@ -1276,7 +1477,6 @@ NO_SQL_TRANSACTION = ( 'createcachetable', 'dbshell', 'diffsettings', - 'install', 'reset', 'sqlindexes', 'syncdb', @@ -1323,6 +1523,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): help='Tells Django to NOT prompt the user for input of any kind.') parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True, help='Tells Django to NOT use the auto-reloader when running the development server.') + parser.add_option('--format', default='json', dest='format', + help='Specifies the output serialization format for fixtures') + parser.add_option('--indent', default=None, dest='indent', + type='int', help='Specifies the indent level to use when pretty-printing output') parser.add_option('--verbosity', action='store', dest='verbosity', default='1', type='choice', choices=['0', '1', '2'], help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), @@ -1356,7 +1560,7 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](options.plain is True) elif action in ('validate', 'diffsettings', 'dbshell'): action_mapping[action]() - elif action == 'syncdb': + elif action in ('flush', 'syncdb'): action_mapping[action](int(options.verbosity), options.interactive) elif action == 'inspectdb': try: @@ -1370,11 +1574,16 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](args[1]) except IndexError: parser.print_usage_and_exit() - elif action == 'test': + elif action in ('test', 'loaddata'): try: action_mapping[action](args[1:], int(options.verbosity)) except IndexError: parser.print_usage_and_exit() + elif action == 'dumpdata': + try: + action_mapping[action](args[1:], options.format, options.indent) + except IndexError: + parser.print_usage_and_exit() elif action in ('startapp', 'startproject'): try: name = args[1] @@ -1393,6 +1602,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](addr, port, options.use_reloader, options.admin_media_path) elif action == 'runfcgi': action_mapping[action](args[1:]) + elif action == 'sqlinitialdata': + print action_mapping[action](args[1:]) + elif action == 'sqlflush': + print '\n'.join(action_mapping[action]()) else: from django.db import models validate(silent_success=True) diff --git a/django/core/serializers/__init__.py b/django/core/serializers/__init__.py index a1268321f2..f20258c416 100644 --- a/django/core/serializers/__init__.py +++ b/django/core/serializers/__init__.py @@ -40,6 +40,11 @@ def get_serializer(format): if not _serializers: _load_serializers() return _serializers[format].Serializer + +def get_serializer_formats(): + if not _serializers: + _load_serializers() + return _serializers.keys() def get_deserializer(format): if not _serializers: diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py index 5b0acdc480..0ec05d1cf3 100644 --- a/django/core/serializers/base.py +++ b/django/core/serializers/base.py @@ -141,7 +141,7 @@ class Deserializer(object): class DeserializedObject(object): """ - A deserialzed model. + A deserialized model. Basically a container for holding the pre-saved deserialized data along with the many-to-many data saved with the object. diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index 1e1e6f4bec..a9baa01d5a 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -67,20 +67,19 @@ def Deserializer(object_list, **options): field = Model._meta.get_field(field_name) - # Handle M2M relations (with in_bulk() for performance) + # Handle M2M relations if field.rel and isinstance(field.rel, models.ManyToManyRel): pks = [] for pk in field_value: if isinstance(pk, unicode): - pk = pk.encode(options.get("encoding", settings.DEFAULT_CHARSET)) - m2m_data[field.name] = field.rel.to._default_manager.in_bulk(field_value).values() + pks.append(pk.encode(options.get("encoding", settings.DEFAULT_CHARSET))) + else: + pks.append(pk) + m2m_data[field.name] = pks # Handle FK fields - elif field.rel and isinstance(field.rel, models.ManyToOneRel) and field_value is not None: - try: - data[field.name] = field.rel.to._default_manager.get(pk=field_value) - except field.rel.to.DoesNotExist: - data[field.name] = None + elif field.rel and isinstance(field.rel, models.ManyToOneRel): + data[field.attname] = field_value # Handle all other fields else: diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index 512b8c6176..8fa7bbfac9 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -150,7 +150,7 @@ class Deserializer(base.Deserializer): if field.rel and isinstance(field.rel, models.ManyToManyRel): m2m_data[field.name] = self._handle_m2m_field_node(field_node) elif field.rel and isinstance(field.rel, models.ManyToOneRel): - data[field.name] = self._handle_fk_field_node(field_node) + data[field.attname] = self._handle_fk_field_node(field_node) else: value = field.to_python(getInnerText(field_node).strip().encode(self.encoding)) data[field.name] = value @@ -162,27 +162,17 @@ class Deserializer(base.Deserializer): """ Handle a node for a ForeignKey """ - # Try to set the foreign key by looking up the foreign related object. - # If it doesn't exist, set the field to None (which might trigger - # validation error, but that's expected). - RelatedModel = self._get_model_from_node(node, "to") # Check if there is a child node named 'None', returning None if so. if len(node.childNodes) == 1 and node.childNodes[0].nodeName == 'None': return None else: - return RelatedModel.objects.get(pk=getInnerText(node).strip().encode(self.encoding)) + return getInnerText(node).strip().encode(self.encoding) def _handle_m2m_field_node(self, node): """ Handle a node for a ManyToManyField """ - # Load the related model - RelatedModel = self._get_model_from_node(node, "to") - - # Look up all the related objects. Using the in_bulk() lookup ensures - # that missing related objects don't cause an exception - related_ids = [c.getAttribute("pk").encode(self.encoding) for c in node.getElementsByTagName("object")] - return RelatedModel._default_manager.in_bulk(related_ids).values() + return [c.getAttribute("pk").encode(self.encoding) for c in node.getElementsByTagName("object")] def _get_model_from_node(self, node, attr): """ diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index 93c9c30cca..3f1004c4fb 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -16,7 +16,7 @@ class Resolver404(Http404): class NoReverseMatch(Exception): # Don't make this raise an error when used in a template. - silent_variable_failure = True + silent_variable_failure = True def get_mod_func(callback): # Converts 'django.views.news.stories.story_detail' to @@ -110,7 +110,7 @@ class RegexURLPattern(object): kwargs = match.groupdict() if kwargs: args = () - if not kwargs: + else: args = match.groups() # In both cases, pass any extra_kwargs as **kwargs. kwargs.update(self.default_args) diff --git a/django/core/validators.py b/django/core/validators.py index a2f3dc3bc3..ebfbd3961e 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -312,11 +312,12 @@ class RequiredIfOtherFieldGiven(RequiredIfOtherFieldsGiven): RequiredIfOtherFieldsGiven.__init__(self, [other_field_name], error_message) class RequiredIfOtherFieldEquals(object): - def __init__(self, other_field, other_value, error_message=None): + def __init__(self, other_field, other_value, error_message=None, other_label=None): self.other_field = other_field self.other_value = other_value + other_label = other_label or other_value self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is %(value)s"), { - 'field': other_field, 'value': other_value}) + 'field': other_field, 'value': other_label}) self.always_test = True def __call__(self, field_data, all_data): @@ -324,11 +325,12 @@ class RequiredIfOtherFieldEquals(object): raise ValidationError(self.error_message) class RequiredIfOtherFieldDoesNotEqual(object): - def __init__(self, other_field, other_value, error_message=None): + def __init__(self, other_field, other_value, other_label=None, error_message=None): self.other_field = other_field self.other_value = other_value + other_label = other_label or other_value self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), { - 'field': other_field, 'value': other_value}) + 'field': other_field, 'value': other_label}) self.always_test = True def __call__(self, field_data, all_data): diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py index 72d2fe083e..9eaa5625d9 100644 --- a/django/db/backends/ado_mssql/base.py +++ b/django/db/backends/ado_mssql/base.py @@ -125,6 +125,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RAND()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -134,6 +137,19 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(sql_styler, full_table_list): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + # Return a list of 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # TODO - SQL not actually tested against ADO MSSQL yet! + # TODO - autoincrement indices reset required? See other get_sql_flush() implementations + sql_list = ['%s %s;' % \ + (sql_styler.SQL_KEYWORD('TRUNCATE'), + sql_styler.SQL_FIELD(quote_name(table)) + ) for table in full_table_list] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py index f98afc48bb..e36a99e982 100644 --- a/django/db/backends/dummy/base.py +++ b/django/db/backends/dummy/base.py @@ -36,6 +36,9 @@ get_date_extract_sql = complain get_date_trunc_sql = complain get_limit_offset_sql = complain get_random_function_sql = complain +get_deferrable_sql = complain get_fulltext_search_sql = complain get_drop_foreignkey_sql = complain +get_sql_flush = complain + OPERATOR_MAPPING = {} diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index 28c5b1c683..4ccb1fe564 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -174,6 +174,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RAND()" +def get_deferrable_sql(): + return "" + def get_fulltext_search_sql(field_name): return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name @@ -183,6 +186,36 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + # NB: The generated SQL below is specific to MySQL + # 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # to clear all tables of all data + if tables: + sql = ['SET FOREIGN_KEY_CHECKS = 0;'] + \ + ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + \ + ['SET FOREIGN_KEY_CHECKS = 1;'] + + # 'ALTER TABLE table AUTO_INCREMENT = 1;'... style SQL statements + # to reset sequence indices + sql.extend(["%s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('TABLE'), + style.SQL_TABLE(quote_name(sequence['table'])), + style.SQL_KEYWORD('AUTO_INCREMENT'), + style.SQL_FIELD('= 1'), + ) for sequence in sequences]) + return sql + else: + return [] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 3a13f39546..229e203ca1 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -108,6 +108,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "DBMS_RANDOM.RANDOM" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -117,6 +120,20 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + # Return a list of 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # TODO - SQL not actually tested against Oracle yet! + # TODO - autoincrement indices reset required? See other get_sql_flush() implementations + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index 054f74a0d3..89695b0c4b 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -52,6 +52,8 @@ class UnicodeCursorWrapper(object): else: return getattr(self.cursor, attr) +postgres_version = None + class DatabaseWrapper(local): def __init__(self, **kwargs): self.connection = None @@ -60,7 +62,9 @@ class DatabaseWrapper(local): def cursor(self): from django.conf import settings + set_tz = False if self.connection is None: + set_tz = True if settings.DATABASE_NAME == '': from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured, "You need to specify DATABASE_NAME in your Django settings file." @@ -76,8 +80,13 @@ class DatabaseWrapper(local): self.connection = Database.connect(conn_string, **self.options) self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() - cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + if set_tz: + cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) cursor = UnicodeCursorWrapper(cursor, settings.DEFAULT_CHARSET) + global postgres_version + if not postgres_version: + cursor.execute("SELECT version()") + postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')] if settings.DEBUG: return util.CursorDebugWrapper(cursor, self) return cursor @@ -136,6 +145,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -145,6 +157,62 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + if tables: + if postgres_version[0] >= 8 and postgres_version[1] >= 1: + # Postgres 8.1+ can do 'TRUNCATE x, y, z...;'. In fact, it *has to* in order to be able to + # truncate tables referenced by a foreign key in any other table. The result is a + # single SQL TRUNCATE statement. + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(', '.join([quote_name(table) for table in tables])) + )] + else: + # Older versions of Postgres can't do TRUNCATE in a single call, so they must use + # a simple delete. + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + + # 'ALTER SEQUENCE sequence_name RESTART WITH 1;'... style SQL statements + # to reset sequence indices + for sequence_info in sequences: + table_name = sequence_info['table'] + column_name = sequence_info['column'] + if column_name and len(column_name)>0: + # sequence name in this case will be __seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + else: + # sequence name in this case will be
                            _id_seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD('%s_id_seq' % table_name), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + return sql + else: + return [] + + # Register these custom typecasts, because Django expects dates/times to be # in Python's native (standard-library) datetime/time format, whereas psycopg # use mx.DateTime by default. diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index 04322332dc..9b319ad3c7 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -20,6 +20,8 @@ except ImportError: # Import copy of _thread_local.py from Python 2.4 from django.utils._threading_local import local +postgres_version = None + class DatabaseWrapper(local): def __init__(self, **kwargs): self.connection = None @@ -28,7 +30,9 @@ class DatabaseWrapper(local): def cursor(self): from django.conf import settings + set_tz = False if self.connection is None: + set_tz = True if settings.DATABASE_NAME == '': from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured, "You need to specify DATABASE_NAME in your Django settings file." @@ -45,7 +49,12 @@ class DatabaseWrapper(local): self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() cursor.tzinfo_factory = None - cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + if set_tz: + cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + global postgres_version + if not postgres_version: + cursor.execute("SELECT version()") + postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')] if settings.DEBUG: return util.CursorDebugWrapper(cursor, self) return cursor @@ -96,6 +105,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -105,6 +117,58 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + if tables: + if postgres_version[0] >= 8 and postgres_version[1] >= 1: + # Postgres 8.1+ can do 'TRUNCATE x, y, z...;'. In fact, it *has to* in order to be able to + # truncate tables referenced by a foreign key in any other table. The result is a + # single SQL TRUNCATE statement + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(', '.join([quote_name(table) for table in tables])) + )] + else: + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + + # 'ALTER SEQUENCE sequence_name RESTART WITH 1;'... style SQL statements + # to reset sequence indices + for sequence in sequences: + table_name = sequence['table'] + column_name = sequence['column'] + if column_name and len(column_name) > 0: + # sequence name in this case will be
                            __seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + else: + # sequence name in this case will be
                            _id_seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD('%s_id_seq' % table_name), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + return sql + else: + return [] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'ILIKE %s', diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 891320160f..ce343e189e 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -139,6 +139,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return "" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -148,6 +151,24 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "NULL" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + # NB: The generated SQL below is specific to SQLite + # Note: The DELETE FROM... SQL generated below works for SQLite databases + # because constraints don't exist + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + # Note: No requirement for reset of auto-incremented indices (cf. other + # get_sql_flush() implementations). Just return SQL at this point + return sql + def _sqlite_date_trunc(lookup_type, dt): try: dt = util.typecast_timestamp(dt) diff --git a/django/db/models/base.py b/django/db/models/base.py index 13209a97ac..b70e6fd99a 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -13,6 +13,7 @@ from django.dispatch import dispatcher from django.utils.datastructures import SortedDict from django.utils.functional import curry from django.conf import settings +from itertools import izip import types import sys import os @@ -21,8 +22,8 @@ class ModelBase(type): "Metaclass for all models" def __new__(cls, name, bases, attrs): # If this isn't a subclass of Model, don't do anything special. - if not bases or bases == (object,): - return type.__new__(cls, name, bases, attrs) + if name == 'Model' or not filter(lambda b: issubclass(b, Model), bases): + return super(ModelBase, cls).__new__(cls, name, bases, attrs) # Create the class. new_class = type.__new__(cls, name, bases, {'__module__': attrs.pop('__module__')}) @@ -90,41 +91,74 @@ class Model(object): def __init__(self, *args, **kwargs): dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs) - for f in self._meta.fields: - if isinstance(f.rel, ManyToOneRel): - try: - # Assume object instance was passed in. - rel_obj = kwargs.pop(f.name) - except KeyError: + + # There is a rather weird disparity here; if kwargs, it's set, then args + # overrides it. It should be one or the other; don't duplicate the work + # The reason for the kwargs check is that standard iterator passes in by + # args, and nstantiation for iteration is 33% faster. + args_len = len(args) + if args_len > len(self._meta.fields): + # Daft, but matches old exception sans the err msg. + raise IndexError("Number of args exceeds number of fields") + + fields_iter = iter(self._meta.fields) + if not kwargs: + # The ordering of the izip calls matter - izip throws StopIteration + # when an iter throws it. So if the first iter throws it, the second + # is *not* consumed. We rely on this, so don't change the order + # without changing the logic. + for val, field in izip(args, fields_iter): + setattr(self, field.attname, val) + else: + # Slower, kwargs-ready version. + for val, field in izip(args, fields_iter): + setattr(self, field.attname, val) + kwargs.pop(field.name, None) + # Maintain compatibility with existing calls. + if isinstance(field.rel, ManyToOneRel): + kwargs.pop(field.attname, None) + + # Now we're left with the unprocessed fields that *must* come from + # keywords, or default. + + for field in fields_iter: + if kwargs: + if isinstance(field.rel, ManyToOneRel): try: - # Object instance wasn't passed in -- must be an ID. - val = kwargs.pop(f.attname) + # Assume object instance was passed in. + rel_obj = kwargs.pop(field.name) except KeyError: - val = f.get_default() - else: - # Object instance was passed in. - # Special case: You can pass in "None" for related objects if it's allowed. - if rel_obj is None and f.null: - val = None - else: try: - val = getattr(rel_obj, f.rel.get_related_field().attname) - except AttributeError: - raise TypeError, "Invalid value: %r should be a %s instance, not a %s" % (f.name, f.rel.to, type(rel_obj)) - setattr(self, f.attname, val) + # Object instance wasn't passed in -- must be an ID. + val = kwargs.pop(field.attname) + except KeyError: + val = field.get_default() + else: + # Object instance was passed in. Special case: You can + # pass in "None" for related objects if it's allowed. + if rel_obj is None and field.null: + val = None + else: + try: + val = getattr(rel_obj, field.rel.get_related_field().attname) + except AttributeError: + raise TypeError("Invalid value: %r should be a %s instance, not a %s" % + (field.name, field.rel.to, type(rel_obj))) + else: + val = kwargs.pop(field.attname, field.get_default()) else: - val = kwargs.pop(f.attname, f.get_default()) - setattr(self, f.attname, val) - for prop in kwargs.keys(): - try: - if isinstance(getattr(self.__class__, prop), property): - setattr(self, prop, kwargs.pop(prop)) - except AttributeError: - pass + val = field.get_default() + setattr(self, field.attname, val) + if kwargs: - raise TypeError, "'%s' is an invalid keyword argument for this function" % kwargs.keys()[0] - for i, arg in enumerate(args): - setattr(self, self._meta.fields[i].attname, arg) + for prop in kwargs.keys(): + try: + if isinstance(getattr(self.__class__, prop), property): + setattr(self, prop, kwargs.pop(prop)) + except AttributeError: + pass + if kwargs: + raise TypeError, "'%s' is an invalid keyword argument for this function" % kwargs.keys()[0] dispatcher.send(signal=signals.post_init, sender=self.__class__, instance=self) def add_to_class(cls, name, value): @@ -322,7 +356,7 @@ class Model(object): def _get_FIELD_size(self, field): return os.path.getsize(self._get_FIELD_filename(field)) - def _save_FIELD_file(self, field, filename, raw_contents): + def _save_FIELD_file(self, field, filename, raw_contents, save=True): directory = field.get_directory_name() try: # Create the date-based directory if it doesn't exist. os.makedirs(os.path.join(settings.MEDIA_ROOT, directory)) @@ -357,8 +391,9 @@ class Model(object): if field.height_field: setattr(self, field.height_field, height) - # Save the object, because it has changed. - self.save() + # Save the object because it has changed unless save is False + if save: + self.save() _save_FIELD_file.alters_data = True diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 953026dcfe..e8a2c231c5 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -443,6 +443,8 @@ class DateField(Field): Field.__init__(self, verbose_name, name, **kwargs) def to_python(self, value): + if value is None: + return value if isinstance(value, datetime.datetime): return value.date() if isinstance(value, datetime.date): @@ -505,6 +507,8 @@ class DateField(Field): class DateTimeField(DateField): def to_python(self, value): + if value is None: + return value if isinstance(value, datetime.datetime): return value if isinstance(value, datetime.date): @@ -631,7 +635,7 @@ class FileField(Field): setattr(cls, 'get_%s_filename' % self.name, curry(cls._get_FIELD_filename, field=self)) setattr(cls, 'get_%s_url' % self.name, curry(cls._get_FIELD_url, field=self)) setattr(cls, 'get_%s_size' % self.name, curry(cls._get_FIELD_size, field=self)) - setattr(cls, 'save_%s_file' % self.name, lambda instance, filename, raw_contents: instance._save_FIELD_file(self, filename, raw_contents)) + setattr(cls, 'save_%s_file' % self.name, lambda instance, filename, raw_contents, save=True: instance._save_FIELD_file(self, filename, raw_contents, save)) dispatcher.connect(self.delete_file, signal=signals.post_delete, sender=cls) def delete_file(self, instance): @@ -649,14 +653,14 @@ class FileField(Field): def get_manipulator_field_names(self, name_prefix): return [name_prefix + self.name + '_file', name_prefix + self.name] - def save_file(self, new_data, new_object, original_object, change, rel): + def save_file(self, new_data, new_object, original_object, change, rel, save=True): upload_field_name = self.get_manipulator_field_names('')[0] if new_data.get(upload_field_name, False): func = getattr(new_object, 'save_%s_file' % self.name) if rel: - func(new_data[upload_field_name][0]["filename"], new_data[upload_field_name][0]["content"]) + func(new_data[upload_field_name][0]["filename"], new_data[upload_field_name][0]["content"], save) else: - func(new_data[upload_field_name]["filename"], new_data[upload_field_name]["content"]) + func(new_data[upload_field_name]["filename"], new_data[upload_field_name]["content"], save) def get_directory_name(self): return os.path.normpath(datetime.datetime.now().strftime(self.upload_to)) @@ -700,12 +704,12 @@ class ImageField(FileField): if not self.height_field: setattr(cls, 'get_%s_height' % self.name, curry(cls._get_FIELD_height, field=self)) - def save_file(self, new_data, new_object, original_object, change, rel): - FileField.save_file(self, new_data, new_object, original_object, change, rel) + def save_file(self, new_data, new_object, original_object, change, rel, save=True): + FileField.save_file(self, new_data, new_object, original_object, change, rel, save) # If the image has height and/or width field(s) and they haven't # changed, set the width and/or height field(s) back to their original # values. - if change and (self.width_field or self.height_field): + if change and (self.width_field or self.height_field) and save: if self.width_field: setattr(new_object, self.width_field, getattr(original_object, self.width_field)) if self.height_field: diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 3e8f9adbd8..fad9c164c1 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -621,7 +621,7 @@ class OneToOneField(RelatedField, IntegerField): def formfield(self, **kwargs): defaults = {'queryset': self.rel.to._default_manager.all(), 'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text} defaults.update(kwargs) - return forms.ModelChoiceField(**kwargs) + return forms.ModelChoiceField(**defaults) class ManyToManyField(RelatedField, Field): def __init__(self, to, **kwargs): diff --git a/django/db/models/manipulators.py b/django/db/models/manipulators.py index aea3aa70a7..c624cb698b 100644 --- a/django/db/models/manipulators.py +++ b/django/db/models/manipulators.py @@ -96,14 +96,16 @@ class AutomaticManipulator(oldforms.Manipulator): if self.change: params[self.opts.pk.attname] = self.obj_key - # First, save the basic object itself. + # First, create the basic object itself. new_object = self.model(**params) - new_object.save() - # Now that the object's been saved, save any uploaded files. + # Now that the object's been created, save any uploaded files. for f in self.opts.fields: if isinstance(f, FileField): - f.save_file(new_data, new_object, self.change and self.original_object or None, self.change, rel=False) + f.save_file(new_data, new_object, self.change and self.original_object or None, self.change, rel=False, save=False) + + # Now save the object + new_object.save() # Calculate which primary fields have changed. if self.change: diff --git a/django/db/models/query.py b/django/db/models/query.py index 5b2c18b25e..a03f4ecc1f 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -84,6 +84,7 @@ class QuerySet(object): self._filters = Q() self._order_by = None # Ordering, e.g. ('date', '-name'). If None, use model's ordering. self._select_related = False # Whether to fill cache for related objects. + self._max_related_depth = 0 # Maximum "depth" for select_related self._distinct = False # Whether the query should use SELECT DISTINCT. self._select = {} # Dictionary of attname -> SQL. self._where = [] # List of extra WHERE clauses to use. @@ -186,7 +187,8 @@ class QuerySet(object): raise StopIteration for row in rows: if fill_cache: - obj, index_end = get_cached_row(self.model, row, 0) + obj, index_end = get_cached_row(klass=self.model, row=row, + index_start=0, max_depth=self._max_related_depth) else: obj = self.model(*row[:index_end]) for i, k in enumerate(extra_select): @@ -394,9 +396,9 @@ class QuerySet(object): else: return self._filter_or_exclude(None, **filter_obj) - def select_related(self, true_or_false=True): + def select_related(self, true_or_false=True, depth=0): "Returns a new QuerySet instance with '_select_related' modified." - return self._clone(_select_related=true_or_false) + return self._clone(_select_related=true_or_false, _max_related_depth=depth) def order_by(self, *field_names): "Returns a new QuerySet instance with the ordering changed." @@ -430,6 +432,7 @@ class QuerySet(object): c._filters = self._filters c._order_by = self._order_by c._select_related = self._select_related + c._max_related_depth = self._max_related_depth c._distinct = self._distinct c._select = self._select.copy() c._where = self._where[:] @@ -483,7 +486,10 @@ class QuerySet(object): # Add additional tables and WHERE clauses based on select_related. if self._select_related: - fill_table_cache(opts, select, tables, where, opts.db_table, [opts.db_table]) + fill_table_cache(opts, select, tables, where, + old_prefix=opts.db_table, + cache_tables_seen=[opts.db_table], + max_depth=self._max_related_depth) # Add any additional SELECTs. if self._select: @@ -728,21 +734,33 @@ def get_where_clause(lookup_type, table_prefix, field_name, value): return backend.get_fulltext_search_sql(table_prefix + field_name) raise TypeError, "Got invalid lookup_type: %s" % repr(lookup_type) -def get_cached_row(klass, row, index_start): - "Helper function that recursively returns an object with cache filled" +def get_cached_row(klass, row, index_start, max_depth=0, cur_depth=0): + """Helper function that recursively returns an object with cache filled""" + + # If we've got a max_depth set and we've exceeded that depth, bail now. + if max_depth and cur_depth > max_depth: + return None + index_end = index_start + len(klass._meta.fields) obj = klass(*row[index_start:index_end]) for f in klass._meta.fields: if f.rel and not f.null: - rel_obj, index_end = get_cached_row(f.rel.to, row, index_end) - setattr(obj, f.get_cache_name(), rel_obj) + cached_row = get_cached_row(f.rel.to, row, index_end, max_depth, cur_depth+1) + if cached_row: + rel_obj, index_end = cached_row + setattr(obj, f.get_cache_name(), rel_obj) return obj, index_end -def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen): +def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen, max_depth=0, cur_depth=0): """ Helper function that recursively populates the select, tables and where (in place) for select_related queries. """ + + # If we've got a max_depth set and we've exceeded that depth, bail now. + if max_depth and cur_depth > max_depth: + return None + qn = backend.quote_name for f in opts.fields: if f.rel and not f.null: @@ -757,7 +775,7 @@ def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen) where.append('%s.%s = %s.%s' % \ (qn(old_prefix), qn(f.column), qn(db_table), qn(f.rel.get_related_field().column))) select.extend(['%s.%s' % (qn(db_table), qn(f2.column)) for f2 in f.rel.to._meta.fields]) - fill_table_cache(f.rel.to._meta, select, tables, where, db_table, cache_tables_seen) + fill_table_cache(f.rel.to._meta, select, tables, where, db_table, cache_tables_seen, max_depth, cur_depth+1) def parse_lookup(kwarg_items, opts): # Helper function that handles converting API kwargs diff --git a/django/dispatch/dispatcher.py b/django/dispatch/dispatcher.py index 1a617b5946..029c59fd3f 100644 --- a/django/dispatch/dispatcher.py +++ b/django/dispatch/dispatcher.py @@ -25,7 +25,6 @@ Internal attributes: deletion, (considerably speeds up the cleanup process vs. the original code.) """ -from __future__ import generators import types, weakref from django.dispatch import saferef, robustapply, errors @@ -33,11 +32,6 @@ __author__ = "Patrick K. O'Brien " __cvsid__ = "$Id: dispatcher.py,v 1.9 2005/09/17 04:55:57 mcfletch Exp $" __version__ = "$Revision: 1.9 $"[11:-2] -try: - True -except NameError: - True = 1==1 - False = 1==0 class _Parameter: """Used to represent default parameter values.""" @@ -140,10 +134,9 @@ def connect(receiver, signal=Any, sender=Any, weak=True): if weak: receiver = saferef.safeRef(receiver, onDelete=_removeReceiver) senderkey = id(sender) - if connections.has_key(senderkey): - signals = connections[senderkey] - else: - connections[senderkey] = signals = {} + + signals = connections.setdefault(senderkey, {}) + # Keep track of senders for cleanup. # Is Anonymous something we want to clean up? if sender not in (None, Anonymous, Any): @@ -251,10 +244,10 @@ def getReceivers( sender = Any, signal = Any ): to retrieve the actual receiver objects as an iterable object. """ - try: - return connections[id(sender)][signal] - except KeyError: - return [] + existing = connections.get(id(sender)) + if existing is not None: + return existing.get(signal, []) + return [] def liveReceivers(receivers): """Filter sequence of receivers to get resolved, live receivers @@ -278,30 +271,48 @@ def liveReceivers(receivers): def getAllReceivers( sender = Any, signal = Any ): """Get list of all receivers from global tables - This gets all receivers which should receive + This gets all dereferenced receivers which should receive the given signal from sender, each receiver should be produced only once by the resulting generator """ receivers = {} - for set in ( - # Get receivers that receive *this* signal from *this* sender. - getReceivers( sender, signal ), - # Add receivers that receive *any* signal from *this* sender. - getReceivers( sender, Any ), - # Add receivers that receive *this* signal from *any* sender. - getReceivers( Any, signal ), - # Add receivers that receive *any* signal from *any* sender. - getReceivers( Any, Any ), - ): - for receiver in set: - if receiver: # filter out dead instance-method weakrefs - try: - if not receivers.has_key( receiver ): - receivers[receiver] = 1 - yield receiver - except TypeError: - # dead weakrefs raise TypeError on hash... - pass + # Get receivers that receive *this* signal from *this* sender. + # Add receivers that receive *any* signal from *this* sender. + # Add receivers that receive *this* signal from *any* sender. + # Add receivers that receive *any* signal from *any* sender. + l = [] + i = id(sender) + if i in connections: + sender_receivers = connections[i] + if signal in sender_receivers: + l.extend(sender_receivers[signal]) + if signal is not Any and Any in sender_receivers: + l.extend(sender_receivers[Any]) + + if sender is not Any: + i = id(Any) + if i in connections: + sender_receivers = connections[i] + if sender_receivers is not None: + if signal in sender_receivers: + l.extend(sender_receivers[signal]) + if signal is not Any and Any in sender_receivers: + l.extend(sender_receivers[Any]) + + for receiver in l: + try: + if not receiver in receivers: + if isinstance(receiver, WEAKREF_TYPES): + receiver = receiver() + # this should only (rough guess) be possible if somehow, deref'ing + # triggered a wipe. + if receiver is None: + continue + receivers[receiver] = 1 + yield receiver + except TypeError: + # dead weakrefs raise TypeError on hash... + pass def send(signal=Any, sender=Anonymous, *arguments, **named): """Send signal from sender to all connected receivers. @@ -340,7 +351,7 @@ def send(signal=Any, sender=Anonymous, *arguments, **named): # Call each receiver with whatever arguments it can accept. # Return a list of tuple pairs [(receiver, response), ... ]. responses = [] - for receiver in liveReceivers(getAllReceivers(sender, signal)): + for receiver in getAllReceivers(sender, signal): response = robustapply.robustApply( receiver, signal=signal, @@ -350,6 +361,8 @@ def send(signal=Any, sender=Anonymous, *arguments, **named): ) responses.append((receiver, response)) return responses + + def sendExact( signal=Any, sender=Anonymous, *arguments, **named ): """Send signal only to those receivers registered for exact message @@ -421,33 +434,18 @@ def _cleanupConnections(senderkey, signal): def _removeSender(senderkey): """Remove senderkey from connections.""" _removeBackrefs(senderkey) - try: - del connections[senderkey] - except KeyError: - pass - # Senderkey will only be in senders dictionary if sender - # could be weakly referenced. - try: - del senders[senderkey] - except: - pass + + connections.pop(senderkey, None) + senders.pop(senderkey, None) def _removeBackrefs( senderkey): """Remove all back-references to this senderkey""" - try: - signals = connections[senderkey] - except KeyError: - signals = None - else: - items = signals.items() - def allReceivers( ): - for signal,set in items: - for item in set: - yield item - for receiver in allReceivers(): + for receiver_list in connections.pop(senderkey, {}).values(): + for receiver in receiver_list: _killBackref( receiver, senderkey ) + def _removeOldBackRefs(senderkey, signal, receiver, receivers): """Kill old sendersBack references from receiver @@ -483,13 +481,13 @@ def _removeOldBackRefs(senderkey, signal, receiver, receivers): def _killBackref( receiver, senderkey ): """Do the actual removal of back reference from receiver to senderkey""" receiverkey = id(receiver) - set = sendersBack.get( receiverkey, () ) - while senderkey in set: + receivers_list = sendersBack.get( receiverkey, () ) + while senderkey in receivers_list: try: - set.remove( senderkey ) + receivers_list.remove( senderkey ) except: break - if not set: + if not receivers_list: try: del sendersBack[ receiverkey ] except KeyError: diff --git a/django/http/__init__.py b/django/http/__init__.py index a6538b7d4a..0ae90c4921 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -52,7 +52,7 @@ def parse_file_upload(header_dict, post_data): POST = MultiValueDict() FILES = MultiValueDict() for submessage in msg.get_payload(): - if isinstance(submessage, email.Message.Message): + if submessage and isinstance(submessage, email.Message.Message): name_dict = parse_header(submessage['Content-Disposition'])[1] # name_dict is something like {'name': 'file', 'filename': 'test.txt'} for file uploads # or {'name': 'blah'} for POST fields diff --git a/django/template/__init__.py b/django/template/__init__.py index 90fd13e1ce..678d19293c 100644 --- a/django/template/__init__.py +++ b/django/template/__init__.py @@ -667,7 +667,11 @@ def resolve_variable(path, context): except (TypeError, AttributeError): try: # list-index lookup current = current[int(bits[0])] - except (IndexError, ValueError, KeyError): + except (IndexError, # list index out of range + ValueError, # invalid literal for int() + KeyError, # current is a dict without `int(bits[0])` key + TypeError, # unsubscriptable object + ): raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bits[0], current)) # missing attribute except Exception, e: if getattr(e, 'silent_variable_failure', False): diff --git a/django/test/__init__.py b/django/test/__init__.py index e69de29bb2..554e72bad3 100644 --- a/django/test/__init__.py +++ b/django/test/__init__.py @@ -0,0 +1,6 @@ +""" +Django Unit Test and Doctest framework. +""" + +from django.test.client import Client +from django.test.testcases import TestCase diff --git a/django/test/simple.py b/django/test/simple.py index 0cecc6b4fc..200f150594 100644 --- a/django/test/simple.py +++ b/django/test/simple.py @@ -63,6 +63,8 @@ def run_tests(module_list, verbosity=1, extra_tests=[]): looking for doctests and unittests in models.py or tests.py within the module. A list of 'extra' tests may also be provided; these tests will be added to the test suite. + + Returns the number of tests that failed. """ setup_test_environment() @@ -77,7 +79,10 @@ def run_tests(module_list, verbosity=1, extra_tests=[]): old_name = settings.DATABASE_NAME create_test_db(verbosity) - unittest.TextTestRunner(verbosity=verbosity).run(suite) + result = unittest.TextTestRunner(verbosity=verbosity).run(suite) destroy_test_db(old_name, verbosity) teardown_test_environment() + + return len(result.failures) + \ No newline at end of file diff --git a/django/test/testcases.py b/django/test/testcases.py index 1cfef6f19e..2bfb9a733a 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -1,5 +1,7 @@ import re, doctest, unittest from django.db import transaction +from django.core import management +from django.db.models import get_apps normalize_long_ints = lambda s: re.sub(r'(?/fixtures/foo/bar/mydata.json`` for each installed +application, ``/foo/bar/mydata.json`` for each directory in +``FIXTURE_DIRS``, and the literal path ``foo/bar/mydata.json``. + +Note that the order in which fixture files are processed is undefined. However, +all fixture data is installed as a single transaction, so data in +one fixture can reference data in another fixture. If the database backend +supports row-level constraints, these constraints will be checked at the +end of the transaction. + +.. admonition:: MySQL and Fixtures + + Unfortunately, MySQL isn't capable of completely supporting all the + features of Django fixtures. If you use MyISAM tables, MySQL doesn't + support transactions or constraints, so you won't get a rollback if + multiple transaction files are found, or validation of fixture data. + If you use InnoDB tables, you won't be able to have any forward + references in your data files - MySQL doesn't provide a mechanism to + defer checking of row constraints until a transaction is committed. + +reset [appname appname ...] +--------------------------- +Executes the equivalent of ``sqlreset`` for the given appnames. + +runfcgi [options] +----------------- +Starts a set of FastCGI processes suitable for use with any web server +which supports the FastCGI protocol. See the `FastCGI deployment +documentation`_ for details. Requires the Python FastCGI module from +`flup`_. + +.. _FastCGI deployment documentation: ../fastcgi/ +.. _flup: http://www.saddi.com/software/flup/ + runserver [optional port number, or ipaddr:port] ------------------------------------------------ @@ -236,15 +347,12 @@ sqlclear [appname appname ...] Prints the DROP TABLE SQL statements for the given appnames. -sqlindexes [appname appname ...] ----------------------------------------- +sqlcustom [appname appname ...] +------------------------------- -Prints the CREATE INDEX SQL statements for the given appnames. +**New in Django development version** -sqlinitialdata [appname appname ...] --------------------------------------------- - -Prints the initial INSERT SQL statements for the given appnames. +Prints the custom SQL statements for the given appnames. For each model in each specified app, this command looks for the file ``/sql/.sql``, where ```` is the given appname and @@ -255,11 +363,23 @@ command. Each of the SQL files, if given, is expected to contain valid SQL. The SQL files are piped directly into the database after all of the models' -table-creation statements have been executed. Use this SQL hook to populate -tables with any necessary initial records, SQL functions or test data. +table-creation statements have been executed. Use this SQL hook to make any +table modifications, or insert any SQL functions into the database. Note that the order in which the SQL files are processed is undefined. +sqlindexes [appname appname ...] +---------------------------------------- + +Prints the CREATE INDEX SQL statements for the given appnames. + +sqlinitialdata [appname appname ...] +-------------------------------------------- + +**Removed in Django development version** + +This method has been renamed ``sqlcustom`` in the development version of Django. + sqlreset [appname appname ...] -------------------------------------- @@ -299,6 +419,10 @@ this command to install the default apps. If you're installing the ``django.contrib.auth`` application, ``syncdb`` will give you the option of creating a superuser immediately. +``syncdb`` will also search for and install any fixture named ``initial_data``. +See the documentation for ``loaddata`` for details on the specification of +fixture data files. + test ---- @@ -348,12 +472,37 @@ setting the Python path for you. .. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html +--format +-------- + +**New in Django development version** + +Example usage:: + + django-admin.py dumpdata --format=xml + +Specifies the output format that will be used. The name provided must be the name +of a registered serializer. + --help ------ Displays a help message that includes a terse list of all available actions and options. +--indent +-------- + +**New in Django development version** + +Example usage:: + + django-admin.py dumpdata --indent=4 + +Specifies the number of spaces that will be used for indentation when +pretty-printing output. By default, output will *not* be pretty-printed. +Pretty-printing will only be enabled if the indent option is provided. + --noinput --------- diff --git a/docs/email.txt b/docs/email.txt index 1edce88cef..1f4ce4ef42 100644 --- a/docs/email.txt +++ b/docs/email.txt @@ -34,8 +34,8 @@ The simplest way to send e-mail is using the function ``django.core.mail.send_mail()``. Here's its definition:: send_mail(subject, message, from_email, recipient_list, - fail_silently=False, auth_user=EMAIL_HOST_USER, - auth_password=EMAIL_HOST_PASSWORD) + fail_silently=False, auth_user=None, + auth_password=None) The ``subject``, ``message``, ``from_email`` and ``recipient_list`` parameters are required. @@ -65,7 +65,7 @@ send_mass_mail() Here's the definition:: send_mass_mail(datatuple, fail_silently=False, - auth_user=EMAIL_HOST_USER, auth_password=EMAIL_HOST_PASSWORD): + auth_user=None, auth_password=None): ``datatuple`` is a tuple in which each element is in this format:: diff --git a/docs/forms.txt b/docs/forms.txt index fc10e3f17a..8c40eeb997 100644 --- a/docs/forms.txt +++ b/docs/forms.txt @@ -608,6 +608,10 @@ fails. If no message is passed in, a default message is used. order). If the given field does (or does not have, in the latter case) the given value, then the current field being validated is required. + An optional ``other_label`` argument can be passed which, if given, is used + in error messages instead of the value. This allows more user friendly error + messages if the value itself is not descriptive enough. + Note that because validators are called before any ``do_html2python()`` functions, the value being compared against is a string. So ``RequiredIfOtherFieldEquals('choice', '1')`` is correct, whilst diff --git a/docs/generic_views.txt b/docs/generic_views.txt index 23f40acb24..a136c72a07 100644 --- a/docs/generic_views.txt +++ b/docs/generic_views.txt @@ -686,7 +686,7 @@ A page representing a list of objects. * ``paginate_by``: An integer specifying how many objects should be displayed per page. If this is given, the view will paginate objects with ``paginate_by`` objects per page. The view will expect either a ``page`` - query string parameter (via ``GET``) containing a zero-indexed page + query string parameter (via ``GET``) containing a 1-based page number, or a ``page`` variable specified in the URLconf. See "Notes on pagination" below. @@ -752,6 +752,12 @@ If the results are paginated, the context will contain these extra variables: * ``previous``: The previous page number, as an integer. This is 1-based. + * `last_on_page`: **New in Django development version** The number of the + last result on the current page. This is 1-based. + + * `first_on_page`: **New in Django development version** The number of the + first result on the current page. This is 1-based. + * ``pages``: The total number of pages, as an integer. * ``hits``: The total number of objects across *all* pages, not just this diff --git a/docs/install.txt b/docs/install.txt index 89a1415f5a..3eede02af0 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -51,16 +51,20 @@ make sure a database server is running. Django works with PostgreSQL_ Additionally, you'll need to make sure your Python database bindings are installed. -* If you're using PostgreSQL, you'll need the psycopg_ package (version 1.1 -- - not version 1.0 or version 2, which is still in beta). If you're on Windows, - check out the unofficial `compiled Windows version`_. -* If you're using MySQL, you'll need MySQLdb_. +* If you're using PostgreSQL, you'll need the psycopg_ package (version 2 is + recommended with ``postgresql_psycopg2`` backend, version 1.1 works also with the + ``postgresql``` backend). + + If you're on Windows, check out the unofficial `compiled Windows version`_. + +* If you're using MySQL, you'll need MySQLdb_, version 1.2.1p2 or higher. + * If you're using SQLite, you'll need pysqlite_. Use version 2.0.3 or higher. .. _PostgreSQL: http://www.postgresql.org/ .. _MySQL: http://www.mysql.com/ .. _Django's ticket system: http://code.djangoproject.com/report/1 -.. _psycopg: http://initd.org/projects/psycopg1 +.. _psycopg: http://initd.org/tracker/psycopg .. _compiled Windows version: http://stickpeople.com/projects/python/win-psycopg/ .. _MySQLdb: http://sourceforge.net/projects/mysql-python .. _SQLite: http://www.sqlite.org/ @@ -77,10 +81,18 @@ It's easy either way. Installing the official version ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Download Django-0.95.tar.gz from our `download page`_. -2. ``tar xzvf Django-0.95.tar.gz`` -3. ``cd Django-0.95`` -4. ``sudo python setup.py install`` + 1. Check the `distribution specific notes`_ to see if your + platform/distribution provides official Django packages/installers. + Distribution-provided packages will typically allow for automatic + installation of dependancies and easy upgrade paths. + + 2. Download Django-0.95.tar.gz from our `download page`_. + + 3. ``tar xzvf Django-0.95.tar.gz`` + + 4. ``cd Django-0.95`` + + 5. ``sudo python setup.py install`` Note that the last command will automatically download and install setuptools_ if you don't already have it installed. This requires a working Internet @@ -93,6 +105,7 @@ The command will install Django in your Python installation's ``site-packages`` directory. .. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools +.. _distribution specific notes: ../distributions/ Installing the development version ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/model-api.txt b/docs/model-api.txt index 0a10918d54..1e7f69903d 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -498,6 +498,12 @@ or outside your model class altogether:: class Foo(models.Model): gender = models.CharField(maxlength=1, choices=GENDER_CHOICES) +For each model field that has ``choices`` set, Django will add a method to +retrieve the human-readable name for the field's current value. See +`get_FOO_display`_ in the database API documentation. + +.. _get_FOO_display: ../db_api/#get-foo-display + Finally, note that choices can be any iterable object -- not necessarily a list or tuple. This lets you construct choices dynamically. But if you find yourself hacking ``choices`` to be dynamic, you're probably better off using @@ -1295,10 +1301,30 @@ A few special cases to note about ``list_display``: list_display = ('__str__', 'some_other_field') - * For any element of ``list_display`` that is not a field on the model, the - change list page will not allow ordering by that column. This is because - ordering is done at the database level, and Django has no way of knowing - how to order the result of a custom method at the SQL level. + * Usually, elements of ``list_display`` that aren't actual database fields + can't be used in sorting (because Django does all the sorting at the + database level). + + However, if an element of ``list_display`` represents a certain database + field, you can indicate this fact by setting the ``admin_order_field`` + attribute of the item. + + For example:: + + class Person(models.Model): + first_name = models.CharField(maxlength=50) + color_code = models.CharField(maxlength=6) + + class Admin: + list_display = ('first_name', 'colored_first_name') + + def colored_first_name(self): + return '%s' % (self.color_code, self.first_name) + colored_first_name.allow_tags = True + colored_first_name.admin_order_field = 'first_name' + + The above will tell Django to order by the ``first_name`` field when + trying to sort by ``colored_first_name`` in the admin. ``list_display_links`` ---------------------- diff --git a/docs/settings.txt b/docs/settings.txt index b9e46a858c..b2ca11240a 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -197,6 +197,9 @@ of (Full name, e-mail address). Example:: (('John', 'john@example.com'), ('Mary', 'mary@example.com')) +Note that Django will e-mail *all* of these people whenever an error happens. See the +section on `error reporting via e-mail`_ for more information. + ALLOWED_INCLUDE_ROOTS --------------------- @@ -236,10 +239,10 @@ The cache key prefix that the cache middleware should use. See the DATABASE_ENGINE --------------- -Default: ``'postgresql'`` +Default: ``''`` (Empty string) -Which database backend to use. Either ``'postgresql'``, ``'mysql'``, -``'sqlite3'`` or ``'ado_mssql'``. +Which database backend to use. Either ``'postgresql_psycopg2'``, +``'postgresql'``, ``'mysql'``, ``'sqlite3'`` or ``'ado_mssql'``. DATABASE_HOST ------------- @@ -328,6 +331,16 @@ Default: ``False`` A boolean that turns on/off debug mode. +If you define custom settings, django/views/debug.py has a ``HIDDEN_SETTINGS`` +regular expression which will hide from the DEBUG view anything that contins +``'SECRET``, ``PASSWORD``, or ``PROFANITIES'``. This allows untrusted users to +be able to give backtraces without seeing sensitive (or offensive) settings. + +Still, note that there are always going to be sections of your debug output that +are inapporpriate for public consumption. File paths, configuration options, and +the like all give attackers extra information about your server. Never deploy a +site with ``DEBUG`` turned on. + DEFAULT_CHARSET --------------- @@ -409,12 +422,25 @@ Subject-line prefix for e-mail messages sent with ``django.core.mail.mail_admins or ``django.core.mail.mail_managers``. You'll probably want to include the trailing space. +FIXTURE_DIRS +------------- + +**New in Django development version** + +Default: ``()`` (Empty tuple) + +List of locations of the fixture data files, in search order. Note that +these paths should use Unix-style forward slashes, even on Windows. See +`Testing Django Applications`_. + +.. _Testing Django Applications: ../testing/ + IGNORABLE_404_ENDS ------------------ Default: ``('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')`` -See also ``IGNORABLE_404_STARTS``. +See also ``IGNORABLE_404_STARTS`` and ``Error reporting via e-mail``. IGNORABLE_404_STARTS -------------------- @@ -422,7 +448,8 @@ IGNORABLE_404_STARTS Default: ``('/cgi-bin/', '/_vti_bin', '/_vti_inf')`` A tuple of strings that specify beginnings of URLs that should be ignored by -the 404 e-mailer. See ``SEND_BROKEN_LINK_EMAILS`` and ``IGNORABLE_404_ENDS``. +the 404 e-mailer. See ``SEND_BROKEN_LINK_EMAILS``, ``IGNORABLE_404_ENDS`` and +the section on `error reporting via e-mail`_. INSTALLED_APPS -------------- @@ -636,8 +663,19 @@ Default: ``False`` Whether to send an e-mail to the ``MANAGERS`` each time somebody visits a Django-powered page that is 404ed with a non-empty referer (i.e., a broken link). This is only used if ``CommonMiddleware`` is installed (see the -`middleware docs`_). See also ``IGNORABLE_404_STARTS`` and -``IGNORABLE_404_ENDS``. +`middleware docs`_). See also ``IGNORABLE_404_STARTS``, +``IGNORABLE_404_ENDS`` and the section on `error reporting via e-mail`_ + +SERIALIZATION_MODULES +--------------------- + +Default: Not defined. + +A dictionary of modules containing serializer definitions (provided as +strings), keyed by a string identifier for that serialization type. For +example, to define a YAML serializer, use:: + + SERIALIZATION_MODULES = { 'yaml' : 'path.to.yaml_serializer' } SERVER_EMAIL ------------ @@ -977,3 +1015,36 @@ Also, it's an error to call ``configure()`` more than once, or to call It boils down to this: Use exactly one of either ``configure()`` or ``DJANGO_SETTINGS_MODULE``. Not both, and not neither. + +Error reporting via e-mail +========================== + +Server errors +------------- + +When ``DEBUG`` is ``False``, Django will e-mail the users listed in the +``ADMIN`` setting whenever your code raises an unhandled exception and results +in an internal server error (HTTP status code 500). This gives the +administrators immediate notification of any errors. + +To disable this behavior, just remove all entries from the ``ADMINS`` setting. + +404 errors +---------- + +When ``DEBUG`` is ``False`` and your ``MIDDLEWARE_CLASSES`` setting includes +``CommonMiddleware``, Django will e-mail the users listed in the ``MANAGERS`` +setting whenever your code raises a 404 and the request has a referer. +(It doesn't bother to e-mail for 404s that don't have a referer.) + +You can tell Django to stop reporting particular 404s by tweaking the +``IGNORABLE_404_ENDS`` and ``IGNORABLE_404_STARTS`` settings. Both should be a +tuple of strings. For example:: + + IGNORABLE_404_ENDS = ('.php', '.cgi') + IGNORABLE_404_STARTS = ('/phpmyadmin/') + +In this example, a 404 to any URL ending with ``.php`` or ``.cgi`` will *not* +be reported. Neither will any URL starting with ``/phpmyadmin/``. + +To disable this behavior, just remove all entries from the ``MANAGERS`` setting. diff --git a/docs/templates.txt b/docs/templates.txt index 5a007c13ae..d53270ac16 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -645,6 +645,7 @@ Available format strings: output, because this includes periods to match Associated Press style.) A ``'AM'`` or ``'PM'``. ``'AM'`` + b Month, textual, 3 letters, lowercase. ``'jan'`` B Not implemented. d Day of the month, 2 digits with ``'01'`` to ``'31'`` leading zeros. diff --git a/docs/testing.txt b/docs/testing.txt index 33014723cd..f7fd402502 100644 --- a/docs/testing.txt +++ b/docs/testing.txt @@ -198,7 +198,6 @@ used as test conditions. .. _Twill: http://twill.idyll.org/ .. _Selenium: http://www.openqa.org/selenium/ - Making requests ~~~~~~~~~~~~~~~ @@ -357,7 +356,55 @@ The following is a simple unit test using the Test Client:: Fixtures -------- -Feature still to come... +A test case for a database-backed website isn't much use if there isn't any +data in the database. To make it easy to put test data into the database, +Django provides a fixtures framework. + +A *Fixture* is a collection of files that contain the serialized contents of +the database. Each fixture has a unique name; however, the files that +comprise the fixture can be distributed over multiple directories, in +multiple applications. + +.. note:: + If you have synchronized a Django project, you have already experienced + the use of one fixture -- the ``initial_data`` fixture. Every time you + synchronize the database, Django installs the ``initial_data`` fixture. + This provides a mechanism to populate a new database with any initial + data (such as a default set of categories). Fixtures with other names + can be installed manually using ``django-admin.py loaddata``. + + +However, for the purposes of unit testing, each test must be able to +guarantee the contents of the database at the start of each and every +test. To do this, Django provides a TestCase baseclass that can integrate +with fixtures. + +Moving from a normal unittest TestCase to a Django TestCase is easy - just +change the base class of your test, and define a list of fixtures +to be used. For example, the test case from `Writing unittests`_ would +look like:: + + from django.test import TestCase + from myapp.models import Animal + + class AnimalTestCase(TestCase): + fixtures = ['mammals.json', 'birds'] + + def setUp(self): + # test definitions as before + +At the start of each test case, before ``setUp()`` is run, Django will +flush the database, returning the database the state it was in directly +after ``syncdb`` was called. Then, all the named fixtures are installed. +In this example, any JSON fixture called ``mammals``, and any fixture +named ``birds`` will be installed. See the documentation on +`loading fixtures`_ for more details on defining and installing fixtures. + +.. _`loading fixtures`: ../django_admin/#loaddata-fixture-fixture + +This flush/load procedure is repeated for each test in the test case, so you +can be certain that the outcome of a test will not be affected by +another test, or the order of test execution. Running tests ============= @@ -417,7 +464,10 @@ failed:: FAILED (failures=1) -When the tests have all been executed, the test database is destroyed. +The return code for the script will indicate the number of tests that failed. + +Regardless of whether the tests pass or fail, the test database is destroyed when +all the tests have been executed. Using a different testing framework =================================== @@ -428,7 +478,8 @@ it does provide a mechanism to allow you to invoke tests constructed for an alternative framework as if they were normal Django tests. When you run ``./manage.py test``, Django looks at the ``TEST_RUNNER`` -setting to determine what to do. By default, ``TEST_RUNNER`` points to ``django.test.simple.run_tests``. This method defines the default Django +setting to determine what to do. By default, ``TEST_RUNNER`` points to +``django.test.simple.run_tests``. This method defines the default Django testing behavior. This behavior involves: #. Performing global pre-test setup @@ -436,7 +487,7 @@ testing behavior. This behavior involves: #. Running ``syncdb`` to install models and initial data into the test database #. Looking for Unit Tests and Doctests in ``models.py`` and ``tests.py`` file for each installed application #. Running the Unit Tests and Doctests that are found -#. Destroying the test database. +#. Destroying the test database #. Performing global post-test teardown If you define your own test runner method and point ``TEST_RUNNER`` @@ -457,6 +508,8 @@ arguments: Verbosity determines the amount of notification and debug information that will be printed to the console; `0` is no output, `1` is normal output, and `2` is verbose output. + + This method should return the number of tests that failed. Testing utilities ----------------- diff --git a/docs/tutorial01.txt b/docs/tutorial01.txt index 1b241f728a..56c5fa769e 100644 --- a/docs/tutorial01.txt +++ b/docs/tutorial01.txt @@ -19,6 +19,15 @@ installed. .. _`Django installed`: ../install/ +.. admonition:: Where to get help: + + If you're having trouble going through this tutorial, please post a message + to `django-users`_ or drop by `#django`_ on ``irc.freenode.net`` and we'll + try to help. + +.. _django-users: http://groups.google.com/group/django-users +.. _#django: irc://irc.freenode.net/django + Creating a project ================== @@ -32,6 +41,13 @@ From the command line, ``cd`` into a directory where you'd like to store your code, then run the command ``django-admin.py startproject mysite``. This will create a ``mysite`` directory in your current directory. +.. note:: + + You'll need to avoid naming projects after built-in Python or Django + components. In particular, this means you should avoid using names like + ``django`` (which will conflict with Django itself) or ``site`` (which + conflicts with a built-in Python package). + (``django-admin.py`` should be on your system path if you installed Django via ``python setup.py``. If it's not on your path, you can find it in ``site-packages/django/bin``, where ``site-packages`` is a directory within diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt index 7b19bdaeaf..b1c8c7d4fc 100644 --- a/docs/tutorial04.txt +++ b/docs/tutorial04.txt @@ -206,6 +206,21 @@ for the polls app, we manually specify a template name for the results view: ``template_name='polls/results.html'``. Otherwise, both views would use the same template. Note that we use ``dict()`` to return an altered dictionary in place. +.. note:: ``all()`` is lazy + + It might look a little frightening to see ``Poll.objects.all()`` being used + in a detail view which only needs one ``Poll`` object, but don't worry; + ``Poll.objects.all()`` is actually a special object called a ``QuerySet``, + which is "lazy" and doesn't hit your database until it absolutely has to. By + the time the database query happens, the ``object_detail`` generic view will + have narrowed its scope down to a single object, so the eventual query will + only select one row from the database. + + If you'd like to know more about how that works, The Django database API + documentation `explains the lazy nature of QuerySet objects`_. + +.. _explains the lazy nature of QuerySet objects: ../db_api/#querysets-are-lazy + In previous parts of the tutorial, the templates have been provided with a context that contains the ``poll`` and ``latest_poll_list`` context variables. However, the generic views provide the variables ``object`` and ``object_list`` as context. diff --git a/docs/url_dispatch.txt b/docs/url_dispatch.txt index da4be2c746..3f51ce4b91 100644 --- a/docs/url_dispatch.txt +++ b/docs/url_dispatch.txt @@ -390,6 +390,13 @@ to pass metadata and options to views. .. _generic views: ../generic_views/ .. _syndication framework: ../syndication/ +.. admonition:: Dealing with conflicts + + It's possible to have a URL pattern which captures named keyword arguments, + and also passes arguments with the same names in its dictionary of extra + arguments. When this happens, the arguments in the dictionary will be used + instead of the arguments captured in the URL. + Passing extra options to ``include()`` -------------------------------------- diff --git a/extras/django_bash_completion b/extras/django_bash_completion index 829756c371..bd066ec08f 100644 --- a/extras/django_bash_completion +++ b/extras/django_bash_completion @@ -31,6 +31,9 @@ # # To uninstall, just remove the line from your .bash_profile and .bashrc. +# Enable extended pattern matching operators. +shopt -s extglob + _django_completion() { local cur prev opts actions action_shell_opts action_runfcgi_opts @@ -58,8 +61,13 @@ _django_completion() || # python manage.py, /some/path/python manage.py (if manage.py exists) ( ${COMP_CWORD} -eq 2 && - ( $( basename ${COMP_WORDS[0]} ) == python ) && + ( $( basename ${COMP_WORDS[0]} ) == python?([1-9]\.[0-9]) ) && ( $( basename ${COMP_WORDS[1]} ) == manage.py) && + ( -r ${COMP_WORDS[1]} ) ) + || + ( ${COMP_CWORD} -eq 2 && + ( $( basename ${COMP_WORDS[0]} ) == python?([1-9]\.[0-9]) ) && + ( $( basename ${COMP_WORDS[1]} ) == django-admin.py) && ( -r ${COMP_WORDS[1]} ) ) ]] ; then case ${cur} in @@ -79,10 +87,28 @@ _django_completion() adminindex|install|reset| \ sql|sqlall|sqlclear|sqlindexes| \ sqlinitialdata|sqlreset|sqlsequencereset) - # App completion isn't yet implemented, but here's where that - # would go. - # COMPREPLY=( $(compgen -W "auth core" -- ${cur}) ) - COMPREPLY=() + # App completion + settings="" + # If settings.py in the PWD, use that + if [ -e settings.py ] ; then + settings="$PWD/settings.py" + else + # Use the ENV variable if it is set + if [ $DJANGO_SETTINGS_MODULE ] ; then + settings=$DJANGO_SETTINGS_MODULE + fi + fi + # Couldn't find settings so return nothing + if [ -z $settings ] ; then + COMPREPLY=() + # Otherwise inspect settings.py file + else + apps=`sed -n "/INSTALLED_APPS = (/,/)/p" $settings | \ + grep -v "django.contrib" | + sed -n "s/^[ ]*'\(.*\.\)*\(.*\)'.*$/\2 /pg" | \ + tr -d "\n"` + COMPREPLY=( $(compgen -W "${apps}" -- ${cur}) ) + fi return 0 ;; @@ -117,3 +143,17 @@ _django_completion() } complete -F _django_completion django-admin.py manage.py + +# Support for multiple interpreters. +unset pythons +if command -v whereis &>/dev/null; then + python_interpreters=$(whereis -b python | cut -d " " -f 2-) + for python in $python_interpreters; do + pythons="${pythons} $(basename $python)" + done + pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ") +else + pythons=python +fi + +complete -F _django_completion -o default $pythons diff --git a/tests/modeltests/fixtures/__init__.py b/tests/modeltests/fixtures/__init__.py new file mode 100644 index 0000000000..139597f9cb --- /dev/null +++ b/tests/modeltests/fixtures/__init__.py @@ -0,0 +1,2 @@ + + diff --git a/tests/modeltests/fixtures/fixtures/fixture1.json b/tests/modeltests/fixtures/fixtures/fixture1.json new file mode 100644 index 0000000000..cc11a3e926 --- /dev/null +++ b/tests/modeltests/fixtures/fixtures/fixture1.json @@ -0,0 +1,18 @@ +[ + { + "pk": "2", + "model": "fixtures.article", + "fields": { + "headline": "Poker has no place on ESPN", + "pub_date": "2006-06-16 12:00:00" + } + }, + { + "pk": "3", + "model": "fixtures.article", + "fields": { + "headline": "Time to reform copyright", + "pub_date": "2006-06-16 13:00:00" + } + } +] \ No newline at end of file diff --git a/tests/modeltests/fixtures/fixtures/fixture2.json b/tests/modeltests/fixtures/fixtures/fixture2.json new file mode 100644 index 0000000000..01b40d7535 --- /dev/null +++ b/tests/modeltests/fixtures/fixtures/fixture2.json @@ -0,0 +1,18 @@ +[ + { + "pk": "3", + "model": "fixtures.article", + "fields": { + "headline": "Copyright is fine the way it is", + "pub_date": "2006-06-16 14:00:00" + } + }, + { + "pk": "4", + "model": "fixtures.article", + "fields": { + "headline": "Django conquers world!", + "pub_date": "2006-06-16 15:00:00" + } + } +] \ No newline at end of file diff --git a/tests/modeltests/fixtures/fixtures/fixture2.xml b/tests/modeltests/fixtures/fixtures/fixture2.xml new file mode 100644 index 0000000000..9ced78162e --- /dev/null +++ b/tests/modeltests/fixtures/fixtures/fixture2.xml @@ -0,0 +1,11 @@ + + + + Poker on TV is great! + 2006-06-16 11:00:00 + + + XML identified as leading cause of cancer + 2006-06-16 16:00:00 + + \ No newline at end of file diff --git a/tests/modeltests/fixtures/fixtures/fixture3.xml b/tests/modeltests/fixtures/fixtures/fixture3.xml new file mode 100644 index 0000000000..9ced78162e --- /dev/null +++ b/tests/modeltests/fixtures/fixtures/fixture3.xml @@ -0,0 +1,11 @@ + + + + Poker on TV is great! + 2006-06-16 11:00:00 + + + XML identified as leading cause of cancer + 2006-06-16 16:00:00 + + \ No newline at end of file diff --git a/tests/modeltests/fixtures/fixtures/initial_data.json b/tests/modeltests/fixtures/fixtures/initial_data.json new file mode 100644 index 0000000000..477d781dbc --- /dev/null +++ b/tests/modeltests/fixtures/fixtures/initial_data.json @@ -0,0 +1,10 @@ +[ + { + "pk": "1", + "model": "fixtures.article", + "fields": { + "headline": "Python program becomes self aware", + "pub_date": "2006-06-16 11:00:00" + } + } +] \ No newline at end of file diff --git a/tests/modeltests/fixtures/models.py b/tests/modeltests/fixtures/models.py new file mode 100644 index 0000000000..d82886a6c4 --- /dev/null +++ b/tests/modeltests/fixtures/models.py @@ -0,0 +1,88 @@ +""" +39. Fixtures. + +Fixtures are a way of loading data into the database in bulk. Fixure data +can be stored in any serializable format (including JSON and XML). Fixtures +are identified by name, and are stored in either a directory named 'fixtures' +in the application directory, on in one of the directories named in the +FIXTURE_DIRS setting. +""" + +from django.db import models + +class Article(models.Model): + headline = models.CharField(maxlength=100, default='Default headline') + pub_date = models.DateTimeField() + + def __str__(self): + return self.headline + + class Meta: + ordering = ('-pub_date', 'headline') + +__test__ = {'API_TESTS': """ +>>> from django.core import management +>>> from django.db.models import get_app + +# Reset the database representation of this app. +# This will return the database to a clean initial state. +>>> management.flush(verbosity=0, interactive=False) + +# Syncdb introduces 1 initial data object from initial_data.json. +>>> Article.objects.all() +[] + +# Load fixture 1. Single JSON file, with two objects. +>>> management.load_data(['fixture1.json'], verbosity=0) +>>> Article.objects.all() +[, , ] + +# Load fixture 2. JSON file imported by default. Overwrites some existing objects +>>> management.load_data(['fixture2.json'], verbosity=0) +>>> Article.objects.all() +[, , , ] + +# Load fixture 3, XML format. +>>> management.load_data(['fixture3.xml'], verbosity=0) +>>> Article.objects.all() +[, , , , ] + +# Load a fixture that doesn't exist +>>> management.load_data(['unknown.json'], verbosity=0) + +# object list is unaffected +>>> Article.objects.all() +[, , , , ] + +# Reset the database representation of this app. This will delete all data. +>>> management.flush(verbosity=0, interactive=False) +>>> Article.objects.all() +[] + +# Load fixture 1 again, using format discovery +>>> management.load_data(['fixture1'], verbosity=0) +>>> Article.objects.all() +[, , ] + +# Try to load fixture 2 using format discovery; this will fail +# because there are two fixture2's in the fixtures directory +>>> management.load_data(['fixture2'], verbosity=0) # doctest: +ELLIPSIS +Multiple fixtures named 'fixture2' in '.../fixtures'. Aborting. + +>>> Article.objects.all() +[, , ] + +# Dump the current contents of the database as a JSON fixture +>>> management.dump_data(['fixtures'], format='json') +[{"pk": "3", "model": "fixtures.article", "fields": {"headline": "Time to reform copyright", "pub_date": "2006-06-16 13:00:00"}}, {"pk": "2", "model": "fixtures.article", "fields": {"headline": "Poker has no place on ESPN", "pub_date": "2006-06-16 12:00:00"}}, {"pk": "1", "model": "fixtures.article", "fields": {"headline": "Python program becomes self aware", "pub_date": "2006-06-16 11:00:00"}}] +"""} + +from django.test import TestCase + +class SampleTestCase(TestCase): + fixtures = ['fixture1.json', 'fixture2.json'] + + def testClassFixtures(self): + "Check that test case has installed 4 fixture objects" + self.assertEqual(Article.objects.count(), 4) + self.assertEquals(str(Article.objects.all()), "[, , , ]") diff --git a/tests/modeltests/select_related/__init__.py b/tests/modeltests/select_related/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/modeltests/select_related/models.py b/tests/modeltests/select_related/models.py new file mode 100644 index 0000000000..8a19267870 --- /dev/null +++ b/tests/modeltests/select_related/models.py @@ -0,0 +1,152 @@ +""" +XXX. Tests for ``select_related()`` + +``select_related()`` follows all relationships and pre-caches any foreign key +values so that complex trees can be fetched in a single query. However, this +isn't always a good idea, so the ``depth`` argument control how many "levels" +the select-related behavior will traverse. +""" + +from django.db import models + +# Who remembers high school biology? + +class Domain(models.Model): + name = models.CharField(maxlength=50) + def __str__(self): + return self.name + +class Kingdom(models.Model): + name = models.CharField(maxlength=50) + domain = models.ForeignKey(Domain) + def __str__(self): + return self.name + +class Phylum(models.Model): + name = models.CharField(maxlength=50) + kingdom = models.ForeignKey(Kingdom) + def __str__(self): + return self.name + +class Klass(models.Model): + name = models.CharField(maxlength=50) + phylum = models.ForeignKey(Phylum) + def __str__(self): + return self.name + +class Order(models.Model): + name = models.CharField(maxlength=50) + klass = models.ForeignKey(Klass) + def __str__(self): + return self.name + +class Family(models.Model): + name = models.CharField(maxlength=50) + order = models.ForeignKey(Order) + def __str__(self): + return self.name + +class Genus(models.Model): + name = models.CharField(maxlength=50) + family = models.ForeignKey(Family) + def __str__(self): + return self.name + +class Species(models.Model): + name = models.CharField(maxlength=50) + genus = models.ForeignKey(Genus) + def __str__(self): + return self.name + +def create_tree(stringtree): + """Helper to create a complete tree""" + names = stringtree.split() + models = [Domain, Kingdom, Phylum, Klass, Order, Family, Genus, Species] + assert len(names) == len(models), (names, models) + + parent = None + for name, model in zip(names, models): + try: + obj = model.objects.get(name=name) + except model.DoesNotExist: + obj = model(name=name) + if parent: + setattr(obj, parent.__class__.__name__.lower(), parent) + obj.save() + parent = obj + +__test__ = {'API_TESTS':""" + +# Set up. +# The test runner sets settings.DEBUG to False, but we want to gather queries +# so we'll set it to True here and reset it at the end of the test suite. +>>> from django.conf import settings +>>> settings.DEBUG = True + +>>> create_tree("Eukaryota Animalia Anthropoda Insecta Diptera Drosophilidae Drosophila melanogaster") +>>> create_tree("Eukaryota Animalia Chordata Mammalia Primates Hominidae Homo sapiens") +>>> create_tree("Eukaryota Plantae Magnoliophyta Magnoliopsida Fabales Fabaceae Pisum sativum") +>>> create_tree("Eukaryota Fungi Basidiomycota Homobasidiomycatae Agaricales Amanitacae Amanita muscaria") + +>>> from django import db + +# Normally, accessing FKs doesn't fill in related objects: +>>> db.reset_queries() +>>> fly = Species.objects.get(name="melanogaster") +>>> fly.genus.family.order.klass.phylum.kingdom.domain + +>>> len(db.connection.queries) +8 + +# However, a select_related() call will fill in those related objects without any extra queries: +>>> db.reset_queries() +>>> person = Species.objects.select_related().get(name="sapiens") +>>> person.genus.family.order.klass.phylum.kingdom.domain + +>>> len(db.connection.queries) +1 + +# select_related() also of course applies to entire lists, not just items. +# Without select_related() +>>> db.reset_queries() +>>> world = Species.objects.all() +>>> [o.genus.family for o in world] +[, , , ] +>>> len(db.connection.queries) +9 + +# With select_related(): +>>> db.reset_queries() +>>> world = Species.objects.all().select_related() +>>> [o.genus.family for o in world] +[, , , ] +>>> len(db.connection.queries) +1 + +# The "depth" argument to select_related() will stop the descent at a particular level: +>>> db.reset_queries() +>>> pea = Species.objects.select_related(depth=1).get(name="sativum") +>>> pea.genus.family.order.klass.phylum.kingdom.domain + + +# Notice: one few query than above because of depth=1 +>>> len(db.connection.queries) +7 + +>>> db.reset_queries() +>>> pea = Species.objects.select_related(depth=5).get(name="sativum") +>>> pea.genus.family.order.klass.phylum.kingdom.domain + +>>> len(db.connection.queries) +3 + +>>> db.reset_queries() +>>> world = Species.objects.all().select_related(depth=2) +>>> [o.genus.family.order for o in world] +[, , , ] +>>> len(db.connection.queries) +5 + +# Reset DEBUG to where we found it. +>>> settings.DEBUG = False +"""} diff --git a/tests/modeltests/serializers/models.py b/tests/modeltests/serializers/models.py index e24ff537c1..e86546c6fe 100644 --- a/tests/modeltests/serializers/models.py +++ b/tests/modeltests/serializers/models.py @@ -139,4 +139,24 @@ __test__ = {'API_TESTS':""" ... print obj +# Objects ids can be referenced before they are defined in the serialization data +# However, the deserialization process will need to be contained within a transaction +>>> json = '[{"pk": "3", "model": "serializers.article", "fields": {"headline": "Forward references pose no problem", "pub_date": "2006-06-16 15:00:00", "categories": [4, 1], "author": 4}}, {"pk": "4", "model": "serializers.category", "fields": {"name": "Reference"}}, {"pk": "4", "model": "serializers.author", "fields": {"name": "Agnes"}}]' +>>> from django.db import transaction +>>> transaction.enter_transaction_management() +>>> transaction.managed(True) +>>> for obj in serializers.deserialize("json", json): +... obj.save() + +>>> transaction.commit() +>>> transaction.leave_transaction_management() + +>>> article = Article.objects.get(pk=3) +>>> article + +>>> article.categories.all() +[, ] +>>> article.author + + """} diff --git a/tests/modeltests/test_client/fixtures/testdata.json b/tests/modeltests/test_client/fixtures/testdata.json new file mode 100644 index 0000000000..5c9e415240 --- /dev/null +++ b/tests/modeltests/test_client/fixtures/testdata.json @@ -0,0 +1,20 @@ +[ + { + "pk": "1", + "model": "auth.user", + "fields": { + "username": "testclient", + "first_name": "Test", + "last_name": "Client", + "is_active": true, + "is_superuser": false, + "is_staff": false, + "last_login": "2006-12-17 07:03:31", + "groups": [], + "user_permissions": [], + "password": "sha1$6efc0$f93efe9fd7542f25a7be94871ea45aa95de57161", + "email": "testclient@example.com", + "date_joined": "2006-12-17 07:03:31" + } + } +] \ No newline at end of file diff --git a/tests/modeltests/test_client/management.py b/tests/modeltests/test_client/management.py deleted file mode 100644 index 9b5a5c498e..0000000000 --- a/tests/modeltests/test_client/management.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.dispatch import dispatcher -from django.db.models import signals -import models as test_client_app -from django.contrib.auth.models import User - -def setup_test(app, created_models, verbosity): - # Create a user account for the login-based tests - User.objects.create_user('testclient','testclient@example.com', 'password') - -dispatcher.connect(setup_test, sender=test_client_app, signal=signals.post_syncdb) diff --git a/tests/modeltests/test_client/models.py b/tests/modeltests/test_client/models.py index c3febfb99f..a3a9749162 100644 --- a/tests/modeltests/test_client/models.py +++ b/tests/modeltests/test_client/models.py @@ -19,10 +19,11 @@ testing against the contexts and templates produced by a view, rather than the HTML rendered to the end-user. """ -from django.test.client import Client -import unittest +from django.test import Client, TestCase -class ClientTest(unittest.TestCase): +class ClientTest(TestCase): + fixtures = ['testdata.json'] + def setUp(self): "Set up test environment" self.client = Client() @@ -97,7 +98,7 @@ class ClientTest(unittest.TestCase): # Request a page that requires a login response = self.client.login('/test_client/login_protected_view/', 'testclient', 'password') - self.assertTrue(response) + self.failUnless(response) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['user'].username, 'testclient') self.assertEqual(response.template.name, 'Login Template') @@ -106,7 +107,7 @@ class ClientTest(unittest.TestCase): "Request a page that is protected with @login, but use bad credentials" response = self.client.login('/test_client/login_protected_view/', 'otheruser', 'nopassword') - self.assertFalse(response) + self.failIf(response) def test_session_modifying_view(self): "Request a page that modifies the session" diff --git a/tests/modeltests/validation/models.py b/tests/modeltests/validation/models.py index a9a3d3f485..1066faca4f 100644 --- a/tests/modeltests/validation/models.py +++ b/tests/modeltests/validation/models.py @@ -146,4 +146,8 @@ u'john@example.com' >>> p.validate() {'email': ['Enter a valid e-mail address.']} +# Make sure that Date and DateTime return validation errors and don't raise Python errors. +>>> Person(name='John Doe', is_child=True, email='abc@def.com').validate() +{'favorite_moment': ['This field is required.'], 'birthdate': ['This field is required.']} + """} diff --git a/tests/regressiontests/bug639/__init__.py b/tests/regressiontests/bug639/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/bug639/models.py b/tests/regressiontests/bug639/models.py new file mode 100644 index 0000000000..7cfdfc82ef --- /dev/null +++ b/tests/regressiontests/bug639/models.py @@ -0,0 +1,16 @@ +import tempfile +from django.db import models + +class Photo(models.Model): + title = models.CharField(maxlength=30) + image = models.FileField(upload_to=tempfile.gettempdir()) + + # Support code for the tests; this keeps track of how many times save() gets + # called on each instance. + def __init__(self, *args, **kwargs): + super(Photo, self).__init__(*args, **kwargs) + self._savecount = 0 + + def save(self): + super(Photo, self).save() + self._savecount +=1 \ No newline at end of file diff --git a/tests/regressiontests/bug639/test.jpg b/tests/regressiontests/bug639/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..391b57a0f32e26fb7090a63e1d7f922ad0f7e5b4 GIT binary patch literal 1780 zcmbV}c~H|=5Xavy2MITUL?EPKAO;i48-FfqN-`m-@pM8oKiq}BLgW=8q z5Cj1?r2)klAoy?vNrFVKAZ{sTwH2UkboWLez@ikrfa{XRiv+;i8>~dXlxsoCcNgQoc4eq|1)Kp!LsMH*9iy$K zt*48@;w=ey0|UG**}}xqfx2;nJ=Kox!sPh7xNq~I+XW=Ew?#$^;snmDox=1TnVc8_ zf1wDZtEY$8$5RLd3g6YvmH(fmxCJn1Wvjt($P~aZ5F7(3nt+M2W2ACw3xoS62nI(W zRZwVEHFae|oeqFOa5xMBM~EHrsgVHqP(q zIEfOLAXHUbqHkb`Uq&{!SiWMd?K&!L{g2L@To|ry?j9`v%>nGdEkT^{h{z}|FFG+P zIVCkMeP`C5z1caUeYxTz1%*eC9Y0ZY=Ipuh3W@Z5<>i{%y84F3D_8H_ZMt{=LG#0w zj%V`D=Up#ecK7!64-5_skBq*Vn4FsaIP>ZA?A!tu1mJ&SeJA?|7e>hiLm=P?)B+a- zOI0p727x46tLSd|wNxw?S{98!KB90MFdPpe@?)M+gcV(hkooZKtTHX5J6 z8I5w&1BNP3IRr|aI}=;+Q2PNLbXjg(FyvV)KOm~6^2)_&VKlJ|Ys7m~vbs}TRPfV~ zH8GV9UG0HOc?q6LzVgnx=(`iEsvhYwvxv0NvA6yW7?UrgyXIdF`oF%}_i-?tS{n|m zYi&b}?YZ_h-ZD3NKN0ck8*i~$zqd=TMlXD6M53)YefL8znj@zWP;F@@^hwJ(7+MXJd>Tq^=6E z>d~(2l%S$ik(YQS+s)QE8F_wr zEnQPMxa>prbQNMSj*-DOo0-Wew3}&-;m%2Bgf?#1BA8{V*o0byemCi-o1P(NvE>;7 zq@y*jybi78a6_91*u3X8$p*OBq>1{yWMPwc1mcZ}VH=0JpP5ICaIts6XP|s@Pf4uS zd!O-|pInjrBGT#Np(>5%0cX|Dy)i=>$j&ij#W_I_C%?2h1DJkwa5(vZvqshhfdc$o zbghE-tS9)aLCbv!>7wkqMK=xm+Pb4ydas2{anDWtwV;@9nujY*44KB&^bV@;G|bcL zfPNpp;N%Rm{!KQT;C6Wos-F?OFB%cI?@5{Gn{B;*&=dm~Gqva}SzUAQ9<=-+kuU?g z=tIQ?D~5-SZ@jhD-M@r-5HYa4#c?#q6X8cz03xAe_C8;q>C;NyurkZh<7i(>L*P@w z+(~>4zf8vMVXiVG>R4j#RQo)OnvC_DBxK21XMO3ao=Y4G8M6w|VaVD|qn)uVqts^m zm*9?43PSV!Vq{dN+`Q&6k|g<*fgg>j*Gu@Z5dn zxrb?d`Yx;3SpC_~E+RYRHD|X)j_8=Nu<+)1_10?`MAf9u`o1a#gBrC`+qByAd5t+K zI4*v=GOz5BhtZfDC+zfRT6KEuc3XEXY-VBGuIR@NLqm?Aa;9Xmc5$HIVQoX{5iTa* z_~cCe81*>E;>yxI&BOx(H;3uRPkxkj1uMYe9i<+9#KGB0N%e~pcIFuxox9Z<2&vMt uc?CGQ#WC%x<~p>Pej+5U`BnTV8~?VA{_>?!qe_j*=jhOm^3$b?mwy0^7T=}- literal 0 HcmV?d00001 diff --git a/tests/regressiontests/bug639/tests.py b/tests/regressiontests/bug639/tests.py new file mode 100644 index 0000000000..f9596d06cb --- /dev/null +++ b/tests/regressiontests/bug639/tests.py @@ -0,0 +1,42 @@ +""" +Tests for file field behavior, and specifically #639, in which Model.save() gets +called *again* for each FileField. This test will fail if calling an +auto-manipulator's save() method causes Model.save() to be called more than once. +""" + +import os +import unittest +from regressiontests.bug639.models import Photo +from django.http import QueryDict +from django.utils.datastructures import MultiValueDict + +class Bug639Test(unittest.TestCase): + + def testBug639(self): + """ + Simulate a file upload and check how many times Model.save() gets called. + """ + # Grab an image for testing + img = open(os.path.join(os.path.dirname(__file__), "test.jpg"), "rb").read() + + # Fake a request query dict with the file + qd = QueryDict("title=Testing&image=", mutable=True) + qd["image_file"] = { + "filename" : "test.jpg", + "content-type" : "image/jpeg", + "content" : img + } + + manip = Photo.AddManipulator() + manip.do_html2python(qd) + p = manip.save(qd) + + # Check the savecount stored on the object (see the model) + self.assertEqual(p._savecount, 1) + + def tearDown(self): + """ + Make sure to delete the "uploaded" file to avoid clogging /tmp. + """ + p = Photo.objects.get() + os.unlink(p.get_image_filename()) \ No newline at end of file diff --git a/tests/regressiontests/datastructures/__init__.py b/tests/regressiontests/datastructures/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/datastructures/models.py b/tests/regressiontests/datastructures/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/datastructures/tests.py b/tests/regressiontests/datastructures/tests.py new file mode 100644 index 0000000000..624e7a50bf --- /dev/null +++ b/tests/regressiontests/datastructures/tests.py @@ -0,0 +1,34 @@ +""" +# Tests for stuff in django.utils.datastructures. + +>>> from django.utils.datastructures import * + +### MergeDict ################################################################# + +>>> d1 = {'chris':'cool','camri':'cute','cotton':'adorable','tulip':'snuggable', 'twoofme':'firstone'} +>>> d2 = {'chris2':'cool2','camri2':'cute2','cotton2':'adorable2','tulip2':'snuggable2'} +>>> d3 = {'chris3':'cool3','camri3':'cute3','cotton3':'adorable3','tulip3':'snuggable3'} +>>> d4 = {'twoofme':'secondone'} +>>> md = MergeDict( d1,d2,d3 ) +>>> md['chris'] +'cool' +>>> md['camri'] +'cute' +>>> md['twoofme'] +'firstone' +>>> md2 = md.copy() +>>> md2['chris'] +'cool' + +### MultiValueDict ########################################################## + +>>> d = MultiValueDict({'name': ['Adrian', 'Simon'], 'position': ['Developer']}) +>>> d['name'] +'Simon' +>>> d.getlist('name') +['Adrian', 'Simon'] +>>> d.get('lastname', 'nonexistent') +'nonexistent' +>>> d.setlist('lastname', ['Holovaty', 'Willison']) + +""" \ No newline at end of file diff --git a/tests/regressiontests/dateformat/tests.py b/tests/regressiontests/dateformat/tests.py index 6e28759a92..f9f84145c5 100644 --- a/tests/regressiontests/dateformat/tests.py +++ b/tests/regressiontests/dateformat/tests.py @@ -17,6 +17,8 @@ r""" '07' >>> format(my_birthday, 'M') 'Jul' +>>> format(my_birthday, 'b') +'jul' >>> format(my_birthday, 'n') '7' >>> format(my_birthday, 'N') diff --git a/tests/regressiontests/dispatch/__init__.py b/tests/regressiontests/dispatch/__init__.py new file mode 100644 index 0000000000..679895bb5c --- /dev/null +++ b/tests/regressiontests/dispatch/__init__.py @@ -0,0 +1,2 @@ +"""Unit-tests for the dispatch project +""" diff --git a/tests/regressiontests/dispatch/models.py b/tests/regressiontests/dispatch/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/dispatch/tests/__init__.py b/tests/regressiontests/dispatch/tests/__init__.py new file mode 100644 index 0000000000..0fdefe48a7 --- /dev/null +++ b/tests/regressiontests/dispatch/tests/__init__.py @@ -0,0 +1,7 @@ +""" +Unit-tests for the dispatch project +""" + +from test_dispatcher import * +from test_robustapply import * +from test_saferef import * diff --git a/tests/regressiontests/dispatch/tests/test_dispatcher.py b/tests/regressiontests/dispatch/tests/test_dispatcher.py new file mode 100644 index 0000000000..0bc99a1505 --- /dev/null +++ b/tests/regressiontests/dispatch/tests/test_dispatcher.py @@ -0,0 +1,144 @@ +from django.dispatch.dispatcher import * +from django.dispatch import dispatcher, robust +import unittest +import copy + +def x(a): + return a + +class Dummy(object): + pass + +class Callable(object): + def __call__(self, a): + return a + + def a(self, a): + return a + +class DispatcherTests(unittest.TestCase): + """Test suite for dispatcher (barely started)""" + + def setUp(self): + # track the initial state, since it's possible that others have bleed receivers in + self.sendersBack = copy.copy(dispatcher.sendersBack) + self.connections = copy.copy(dispatcher.connections) + self.senders = copy.copy(dispatcher.senders) + + def _testIsClean(self): + """Assert that everything has been cleaned up automatically""" + self.assertEqual(dispatcher.sendersBack, self.sendersBack) + self.assertEqual(dispatcher.connections, self.connections) + self.assertEqual(dispatcher.senders, self.senders) + + def testExact(self): + a = Dummy() + signal = 'this' + connect(x, signal, a) + expected = [(x,a)] + result = send('this',a, a=a) + self.assertEqual(result, expected) + disconnect(x, signal, a) + self.assertEqual(list(getAllReceivers(a,signal)), []) + self._testIsClean() + + def testAnonymousSend(self): + a = Dummy() + signal = 'this' + connect(x, signal) + expected = [(x,a)] + result = send(signal,None, a=a) + self.assertEqual(result, expected) + disconnect(x, signal) + self.assertEqual(list(getAllReceivers(None,signal)), []) + self._testIsClean() + + def testAnyRegistration(self): + a = Dummy() + signal = 'this' + connect(x, signal, Any) + expected = [(x,a)] + result = send('this',object(), a=a) + self.assertEqual(result, expected) + disconnect(x, signal, Any) + expected = [] + result = send('this',object(), a=a) + self.assertEqual(result, expected) + self.assertEqual(list(getAllReceivers(Any,signal)), []) + + self._testIsClean() + + def testAnyRegistration2(self): + a = Dummy() + signal = 'this' + connect(x, Any, a) + expected = [(x,a)] + result = send('this',a, a=a) + self.assertEqual(result, expected) + disconnect(x, Any, a) + self.assertEqual(list(getAllReceivers(a,Any)), []) + self._testIsClean() + + def testGarbageCollected(self): + a = Callable() + b = Dummy() + signal = 'this' + connect(a.a, signal, b) + expected = [] + del a + result = send('this',b, a=b) + self.assertEqual(result, expected) + self.assertEqual(list(getAllReceivers(b,signal)), []) + self._testIsClean() + + def testGarbageCollectedObj(self): + class x: + def __call__(self, a): + return a + a = Callable() + b = Dummy() + signal = 'this' + connect(a, signal, b) + expected = [] + del a + result = send('this',b, a=b) + self.assertEqual(result, expected) + self.assertEqual(list(getAllReceivers(b,signal)), []) + self._testIsClean() + + + def testMultipleRegistration(self): + a = Callable() + b = Dummy() + signal = 'this' + connect(a, signal, b) + connect(a, signal, b) + connect(a, signal, b) + connect(a, signal, b) + connect(a, signal, b) + connect(a, signal, b) + result = send('this',b, a=b) + self.assertEqual(len(result), 1) + self.assertEqual(len(list(getAllReceivers(b,signal))), 1) + del a + del b + del result + self._testIsClean() + + def testRobust(self): + """Test the sendRobust function""" + def fails(): + raise ValueError('this') + a = object() + signal = 'this' + connect(fails, Any, a) + result = robust.sendRobust('this',a, a=a) + err = result[0][1] + self.assert_(isinstance(err, ValueError)) + self.assertEqual(err.args, ('this',)) + +def getSuite(): + return unittest.makeSuite(DispatcherTests,'test') + +if __name__ == "__main__": + unittest.main () diff --git a/tests/regressiontests/dispatch/tests/test_robustapply.py b/tests/regressiontests/dispatch/tests/test_robustapply.py new file mode 100644 index 0000000000..499450eec4 --- /dev/null +++ b/tests/regressiontests/dispatch/tests/test_robustapply.py @@ -0,0 +1,34 @@ +from django.dispatch.robustapply import * + +import unittest + +def noArgument(): + pass + +def oneArgument(blah): + pass + +def twoArgument(blah, other): + pass + +class TestCases(unittest.TestCase): + def test01(self): + robustApply(noArgument) + + def test02(self): + self.assertRaises(TypeError, robustApply, noArgument, "this") + + def test03(self): + self.assertRaises(TypeError, robustApply, oneArgument) + + def test04(self): + """Raise error on duplication of a particular argument""" + self.assertRaises(TypeError, robustApply, oneArgument, "this", blah = "that") + +def getSuite(): + return unittest.makeSuite(TestCases,'test') + + +if __name__ == "__main__": + unittest.main() + diff --git a/tests/regressiontests/dispatch/tests/test_saferef.py b/tests/regressiontests/dispatch/tests/test_saferef.py new file mode 100644 index 0000000000..233a2023e0 --- /dev/null +++ b/tests/regressiontests/dispatch/tests/test_saferef.py @@ -0,0 +1,77 @@ +from django.dispatch.saferef import * + +import unittest + +class Test1(object): + def x(self): + pass + +def test2(obj): + pass + +class Test2(object): + def __call__(self, obj): + pass + +class Tester(unittest.TestCase): + def setUp(self): + ts = [] + ss = [] + for x in xrange(5000): + t = Test1() + ts.append(t) + s = safeRef(t.x, self._closure) + ss.append(s) + ts.append(test2) + ss.append(safeRef(test2, self._closure)) + for x in xrange(30): + t = Test2() + ts.append(t) + s = safeRef(t, self._closure) + ss.append(s) + self.ts = ts + self.ss = ss + self.closureCount = 0 + + def tearDown(self): + del self.ts + del self.ss + + def testIn(self): + """Test the "in" operator for safe references (cmp)""" + for t in self.ts[:50]: + self.assert_(safeRef(t.x) in self.ss) + + def testValid(self): + """Test that the references are valid (return instance methods)""" + for s in self.ss: + self.assert_(s()) + + def testShortCircuit (self): + """Test that creation short-circuits to reuse existing references""" + sd = {} + for s in self.ss: + sd[s] = 1 + for t in self.ts: + if hasattr(t, 'x'): + self.assert_(sd.has_key(safeRef(t.x))) + else: + self.assert_(sd.has_key(safeRef(t))) + + def testRepresentation (self): + """Test that the reference object's representation works + + XXX Doesn't currently check the results, just that no error + is raised + """ + repr(self.ss[-1]) + + def _closure(self, ref): + """Dumb utility mechanism to increment deletion counter""" + self.closureCount +=1 + +def getSuite(): + return unittest.makeSuite(Tester,'test') + +if __name__ == "__main__": + unittest.main() diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py index db3969429e..a9ce8d23b3 100644 --- a/tests/regressiontests/forms/tests.py +++ b/tests/regressiontests/forms/tests.py @@ -3476,6 +3476,7 @@ as its choices. + diff --git a/tests/regressiontests/humanize/__init__.py b/tests/regressiontests/humanize/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/humanize/models.py b/tests/regressiontests/humanize/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/humanize/tests.py b/tests/regressiontests/humanize/tests.py new file mode 100644 index 0000000000..e342d7ded8 --- /dev/null +++ b/tests/regressiontests/humanize/tests.py @@ -0,0 +1,52 @@ +import unittest +from django.template import Template, Context, add_to_builtins + +add_to_builtins('django.contrib.humanize.templatetags.humanize') + +class HumanizeTests(unittest.TestCase): + + def humanize_tester(self, test_list, result_list, method): + # Using max below ensures we go through both lists + # However, if the lists are not equal length, this raises an exception + for index in xrange(len(max(test_list,result_list))): + test_content = test_list[index] + t = Template('{{ test_content|%s }}' % method) + rendered = t.render(Context(locals())).strip() + self.assertEqual(rendered, result_list[index], + msg="""%s test failed, produced %s, +should've produced %s""" % (method, rendered, result_list[index])) + + def test_ordinal(self): + test_list = ('1','2','3','4','11','12', + '13','101','102','103','111', + 'something else') + result_list = ('1st', '2nd', '3rd', '4th', '11th', + '12th', '13th', '101st', '102nd', '103rd', + '111th', 'something else') + + self.humanize_tester(test_list, result_list, 'ordinal') + + def test_intcomma(self): + test_list = ('100','1000','10123','10311','1000000') + result_list = ('100', '1,000', '10,123', '10,311', '1,000,000') + + self.humanize_tester(test_list, result_list, 'intcomma') + + def test_intword(self): + test_list = ('100', '1000000', '1200000', '1290000', + '1000000000','2000000000','6000000000000') + result_list = ('100', '1.0 million', '1.2 million', '1.3 million', + '1.0 billion', '2.0 billion', '6.0 trillion') + + self.humanize_tester(test_list, result_list, 'intword') + + def test_apnumber(self): + test_list = [str(x) for x in xrange(1,11)] + result_list = ('one', 'two', 'three', 'four', 'five', 'six', + 'seven', 'eight', 'nine', '10') + + self.humanize_tester(test_list, result_list, 'apnumber') + +if __name__ == '__main__': + unittest.main() + diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index 3bae6a2609..0165824951 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -127,6 +127,29 @@ class Templates(unittest.TestCase): # Fail silently when accessing a non-simple method 'basic-syntax20': ("{{ var.method2 }}", {"var": SomeClass()}, ("","INVALID")), + # List-index syntax allows a template to access a certain item of a subscriptable object. + 'list-index01': ("{{ var.1 }}", {"var": ["first item", "second item"]}, "second item"), + + # Fail silently when the list index is out of range. + 'list-index02': ("{{ var.5 }}", {"var": ["first item", "second item"]}, ("", "INVALID")), + + # Fail silently when the variable is not a subscriptable object. + 'list-index03': ("{{ var.1 }}", {"var": None}, ("", "INVALID")), + + # Fail silently when variable is a dict without the specified key. + 'list-index04': ("{{ var.1 }}", {"var": {}}, ("", "INVALID")), + + # Dictionary lookup wins out when dict's key is a string. + 'list-index05': ("{{ var.1 }}", {"var": {'1': "hello"}}, "hello"), + + # But list-index lookup wins out when dict's key is an int, which + # behind the scenes is really a dictionary lookup (for a dict) + # after converting the key to an int. + 'list-index06': ("{{ var.1 }}", {"var": {1: "hello"}}, "hello"), + + # Dictionary lookup wins out when there is a string and int version of the key. + 'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"), + # Basic filter usage 'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"), @@ -167,7 +190,7 @@ class Templates(unittest.TestCase): 'basic-syntax33': (r'1{{ var.method3 }}2', {"var": SomeClass()}, ("12", "1INVALID2")), # In methods that raise an exception without a "silent_variable_attribute" set to True, - # the exception propogates + # the exception propagates 'basic-syntax34': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException), # Escaped backslash in argument diff --git a/tests/runtests.py b/tests/runtests.py index 1c15f18510..a111ef1436 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -124,7 +124,9 @@ def django_tests(verbosity, tests_to_run): # Run the test suite, including the extra validation tests. from django.test.simple import run_tests - run_tests(test_models, verbosity, extra_tests=extra_tests) + failures = run_tests(test_models, verbosity, extra_tests=extra_tests) + if failures: + sys.exit(failures) # Restore the old settings. settings.INSTALLED_APPS = old_installed_apps @@ -146,5 +148,7 @@ if __name__ == "__main__": options, args = parser.parse_args() if options.settings: os.environ['DJANGO_SETTINGS_MODULE'] = options.settings - + elif "DJANGO_SETTINGS_MODULE" not in os.environ: + parser.error("DJANGO_SETTINGS_MODULE is not set in the environment. " + "Set it or use --settings.") django_tests(int(options.verbosity), args) diff --git a/tests/urls.py b/tests/urls.py index 9fefd93624..9dcdca944e 100644 --- a/tests/urls.py +++ b/tests/urls.py @@ -6,7 +6,7 @@ urlpatterns = patterns('', # Always provide the auth system login and logout views (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}), - (r'^accounts/logout/$', 'django.contrib.auth.views.login'), + (r'^accounts/logout/$', 'django.contrib.auth.views.logout'), # test urlconf for {% url %} template tag (r'^url_tag/', include('regressiontests.templates.urls')),