From 5514d8731955466dad0cdaf395ddd4da1c101274 Mon Sep 17 00:00:00 2001 From: Jeremy Dunck Date: Tue, 6 Mar 2007 14:21:30 +0000 Subject: 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 | 3456 +++++++++++--------- django/conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 37293 -> 40281 bytes django/conf/locale/es_AR/LC_MESSAGES/django.po | 525 +-- django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 1576 -> 1576 bytes django/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 | 3413 ++++++++++--------- 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 | 265 +- django/conf/locale/sr/LC_MESSAGES/django.mo | Bin 29583 -> 32246 bytes django/conf/locale/sr/LC_MESSAGES/django.po | 695 ++-- 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 | 3324 +++++++++++-------- 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 +- django/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 +- django/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 + tests/modeltests/fixtures/fixtures/fixture1.json | 18 + tests/modeltests/fixtures/fixtures/fixture2.json | 18 + tests/modeltests/fixtures/fixtures/fixture2.xml | 11 + tests/modeltests/fixtures/fixtures/fixture3.xml | 11 + .../modeltests/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 + .../modeltests/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 + tests/regressiontests/datastructures/__init__.py | 0 tests/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 tests/regressiontests/dispatch/tests/__init__.py | 7 + .../dispatch/tests/test_dispatcher.py | 144 + .../dispatch/tests/test_robustapply.py | 34 + .../regressiontests/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, 11716 insertions(+), 6001 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 c5d66e6e52..b5c518c13c 100644 Binary files a/django/conf/locale/de/LC_MESSAGES/django.mo and b/django/conf/locale/de/LC_MESSAGES/django.mo differ 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 99177ea43c..9f39c16444 100644 Binary files a/django/conf/locale/de/LC_MESSAGES/djangojs.mo and b/django/conf/locale/de/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.po b/django/conf/locale/de/LC_MESSAGES/djangojs.po index ebdcb18458..3c0852ebac 100644 --- a/django/conf/locale/de/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/de/LC_MESSAGES/djangojs.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-09 11:51+0100\n" "PO-Revision-Date: 2005-12-04 13:21+0100\n" -"Last-Translator: Georg Bauer \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 fe44d24a17..e9105aa64c 100644 Binary files a/django/conf/locale/es/LC_MESSAGES/django.mo and b/django/conf/locale/es/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/es/LC_MESSAGES/django.po b/django/conf/locale/es/LC_MESSAGES/django.po index 8036e398b9..d8166e6201 100644 --- a/django/conf/locale/es/LC_MESSAGES/django.po +++ b/django/conf/locale/es/LC_MESSAGES/django.po @@ -1,1323 +1,1478 @@ -# translation of django.po to Spanish -# translation of django.po to Espaol +# translation of django.po to Castellano # This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER. +# # Ricardo Javier Crdenes Medina , 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" +#: utils/dates.py:6 +msgid "Monday" +msgstr "Lunes" -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "encabezado" +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Martes" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "comentario" +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Mircoles" -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "calificacin 1" +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Jueves" -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "calificacin 2" +#: utils/dates.py:6 +msgid "Friday" +msgstr "Viernes" -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "calificacin 3" +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sbado" -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "calificacin 4" +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Domingo" -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "calificacin 5" +#: utils/dates.py:14 +msgid "January" +msgstr "Enero" -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "calificacin 6" +#: utils/dates.py:14 +msgid "February" +msgstr "Febrero" -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "calificacin 7" +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Marzo" -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "calificacin 8" +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Abril" -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "es calificacin vlida" +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Mayo" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "fecha/hora de envo" +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Junio" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "es pblico" +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Julio" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "Direccin IP" +#: utils/dates.py:15 +msgid "August" +msgstr "Agosto" -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "est eliminado" +#: utils/dates.py:15 +msgid "September" +msgstr "Septiembre" -#: 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\"." +#: utils/dates.py:15 +msgid "October" +msgstr "Octubre" -#: contrib/comments/models.py:91 -#, fuzzy -msgid "comments" -msgstr "comentario" +#: utils/dates.py:15 +msgid "November" +msgstr "Noviembre" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Objeto contenido" +#: utils/dates.py:16 +msgid "December" +msgstr "Diciembre" -#: 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" +#: utils/dates.py:19 +msgid "jan" +msgstr "ene" -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nombre de la persona" +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "direccin ip" +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "aprobado por el staff" +#: utils/dates.py:19 +msgid "apr" +msgstr "abr" -#: contrib/comments/models.py:176 -#, fuzzy -msgid "free comment" -msgstr "Comentario libre" +#: utils/dates.py:19 +msgid "may" +msgstr "may" -#: contrib/comments/models.py:177 -#, fuzzy -msgid "free comments" -msgstr "Comentarios libres" +#: utils/dates.py:19 +msgid "jun" +msgstr "jun" -#: contrib/comments/models.py:233 -msgid "score" -msgstr "puntuacin" +#: utils/dates.py:20 +msgid "jul" +msgstr "jul" -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "fecha de la puntuacin" +#: utils/dates.py:20 +msgid "aug" +msgstr "ago" -#: contrib/comments/models.py:237 -#, fuzzy -msgid "karma score" -msgstr "Punto karma" +#: utils/dates.py:20 +msgid "sep" +msgstr "sep" -#: contrib/comments/models.py:238 -#, fuzzy -msgid "karma scores" -msgstr "Puntos karma" +#: utils/dates.py:20 +msgid "oct" +msgstr "oct" -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "Puntuado %(score)d por %(user)s" +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" -#: 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" +#: utils/dates.py:20 +msgid "dec" +msgstr "dic" -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "fecha de la marca" +#: utils/dates.py:27 +msgid "Jan." +msgstr "Ene." -#: contrib/comments/models.py:268 -#, fuzzy -msgid "user flag" -msgstr "Marca de usuario" +#: utils/dates.py:27 +msgid "Feb." +msgstr "Feb." -#: contrib/comments/models.py:269 -#, fuzzy -msgid "user flags" -msgstr "Marcas de usuario" +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ago." -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Marca de %r" +#: utils/dates.py:28 +msgid "Sept." +msgstr "Sept." -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "fecha de eliminacin" +#: utils/dates.py:28 +msgid "Oct." +msgstr "Oct." -#: contrib/comments/models.py:280 -#, fuzzy -msgid "moderator deletion" -msgstr "Eliminacin de moderador" +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." -#: contrib/comments/models.py:281 -#, fuzzy -msgid "moderator deletions" -msgstr "Eliminaciones de moderador" +#: utils/dates.py:28 +msgid "Dec." +msgstr "Dic." -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Eliminacin del moderador %r" +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "ao" +msgstr[1] "aos" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Los usuarios annimos no pueden votar" +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mes" +msgstr[1] "meses" -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID de comentario no vlido" +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semana" +msgstr[1] "semanas" -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "No puedes votarte t mismo" +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "da" +msgstr[1] "das" -#: 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." +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" -#: 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" +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j N Y" -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Slo se admite POST" +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" -#: 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" +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" -#: 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)" +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" -#: 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)" +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "j \\de F" -#: 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'" +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "rabe" -#: 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:" +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengal" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Clave:" +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Cataln" -#: contrib/comments/templates/comments/form.html:6 -#, fuzzy -msgid "Forgotten your password?" -msgstr "Cambiar mi clave" +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Checo" -#: 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" +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gals" -#: contrib/comments/templates/comments/form.html:12 -#, fuzzy -msgid "Ratings" -msgstr "calificacin 1" +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dans" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "" +#: conf/global_settings.py:45 +msgid "German" +msgstr "Alemn" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "" +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Griego" -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" +#: conf/global_settings.py:47 +msgid "English" +msgstr "Ingls" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Espaol" + +#: 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:52 +msgid "Galician" +msgstr "Gallego" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Hngaro" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebreo" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islands" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japons" + +#: conf/global_settings.py:58 +msgid "Latvian" msgstr "" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy -msgid "Comment:" -msgstr "Comentario" +#: conf/global_settings.py:59 +msgid "Macedonian" +msgstr "Macedonio" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy -msgid "Preview comment" -msgstr "Comentario libre" +#: conf/global_settings.py:60 +msgid "Dutch" +msgstr "Alemn" -#: contrib/comments/templates/comments/freeform.html:4 -#, fuzzy -msgid "Your name:" -msgstr "nombre de usuario" +#: conf/global_settings.py:61 +msgid "Norwegian" +msgstr "Noruego" -#: contrib/admin/filterspecs.py:40 +#: conf/global_settings.py:62 +msgid "Polish" +msgstr "Polaco" + +#: conf/global_settings.py:63 +msgid "Brazilian" +msgstr "Brasileo" + +#: conf/global_settings.py:64 +msgid "Romanian" +msgstr "Rumano" + +#: conf/global_settings.py:65 +msgid "Russian" +msgstr "Ruso" + +#: conf/global_settings.py:66 +msgid "Slovak" +msgstr "Eslovaco" + +#: conf/global_settings.py:67 +msgid "Slovenian" +msgstr "Esloveno" + +#: conf/global_settings.py:68 +msgid "Serbian" +msgstr "Serbio" + +#: conf/global_settings.py:69 +msgid "Swedish" +msgstr "Sueco" + +#: conf/global_settings.py:70 +msgid "Tamil" +msgstr "Tamil" + +#: 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:74 +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +#: db/models/manipulators.py:305 #, python-format -msgid "" -"

By %s:

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

    Por %s:

    \n" -"
      \n" +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." -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "Todo" +#: 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" -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Cualquier fecha" +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor, introduzca un %s vlido." -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Hoy" +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separe mltiples IDs con comas." -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "ltimos 7 das" +#: 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." -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Este mes" +#: 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." -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Este ao" +#: 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." -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "S" +#: 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." -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "No" +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Este valor debe ser un entero." -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Desconocido" +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Este valor debe ser Verdadero o Falso." -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "hora de accin" +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Este campo no puede estar vaco." -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "id de objeto" +#: 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." -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "repr de objeto" +#: 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 AAAA-MM-DD HH:MM." -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "marca de accin" +#: db/models/fields/__init__.py:625 +msgid "Enter a valid filename." +msgstr "Introduzca un nombre de fichero vlido" -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "mensaje de cambio" +#: template/defaultfilters.py:436 +msgid "yes,no,maybe" +msgstr "si,no,tal vez" -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "entrada de registro" +#: 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" + +#: 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." -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "entradas de registro" +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Desconocido" -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Todas las fechas" +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "S" -#: 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 "" +#: newforms/widgets.py:170 oldforms/__init__.py:572 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "No" -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Identificarse" +#: 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." -#: contrib/admin/views/decorators.py:61 +#: core/validators.py:68 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." +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Este valor debe contener letras, nmeros, guiones bajos o barras solamente." -#: 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." +#: 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." -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Los nombres de usuario no pueden contener el carcter '@'." +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "No se admiten letras maysculas." -#: 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." +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "No se admiten letras minsculas." -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Sitio administrativo" +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Introduzca slo dgitos separados por comas." -#: 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\"." +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introduzca direcciones de correo vlidas separadas por comas." -#: 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." +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Por favor introduzca una direccin IP vlida." -#: 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." +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "No se admiten valores vacos." -#: contrib/admin/views/main.py:290 -#, python-format -msgid "Add %s" -msgstr "Agregar %s" +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "No se admiten caracteres no numricos." -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Agregado %s." +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Este valor no puede comprender slo dgitos." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "y" +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Slo se admiten caracteres alfabticos." -#: contrib/admin/views/main.py:338 -#, python-format -msgid "Changed %s." -msgstr "Modificado %s." +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "El ao debe ser 1900 o posterior." -#: contrib/admin/views/main.py:340 +#: core/validators.py:143 #, python-format -msgid "Deleted %s." -msgstr "Borrado %s." +msgid "Invalid date: %s." +msgstr "Fecha no vlida: %s" -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "No ha cambiado ningn campo." +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Introduzca una hora vlida en formato HH:MM." -#: 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." +#: 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." -#: contrib/admin/views/main.py:354 -#, python-format +#: core/validators.py:177 msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." 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" +"Enve una imagen vlida. El fichero que ha enviado no era una imagen o se " +"trataba de una imagen corrupta." -#: contrib/admin/views/main.py:470 +#: core/validators.py:184 #, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s no apunta a una imagen vlida." -#: contrib/admin/views/main.py:475 +#: core/validators.py:188 #, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o ms %(fieldname)s en %(name)s:" +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." -#: contrib/admin/views/main.py:508 +#: core/validators.py:196 #, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se elimin con xito el %(name)s \"%(obj)s\"." +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s no apunta a un vdeo QuickTime vlido." -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Est seguro?" +#: core/validators.py:200 +msgid "A valid URL is required." +msgstr "Se precisa una URL vlida." -#: contrib/admin/views/main.py:533 +#: core/validators.py:214 #, python-format -msgid "Change history: %s" -msgstr "Modificar histrico: %s" +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Se precisa HTML vlido. Los errores especficos son:\n" +"%s" -#: contrib/admin/views/main.py:565 +#: core/validators.py:221 #, python-format -msgid "Select %s" -msgstr "Escoja %s" +msgid "Badly formed XML: %s" +msgstr "XML mal formado: %s" -#: contrib/admin/views/main.py:565 +#: core/validators.py:238 #, 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)" +msgid "Invalid URL: %s" +msgstr "URL no vlida: %s" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: core/validators.py:243 core/validators.py:245 #, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Cadena (mximo %(maxlength)s)" +msgid "The URL %s is a broken link." +msgstr "La URL %s es un enlace roto." -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" +#: core/validators.py:251 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Introduzca una abreviatura vlida de estado de los EEUU." -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Fecha (sin hora)" +#: 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] "Cuida tu vocabulario! Aqu no admitimos la palabra %s." +msgstr[1] "Cuida tu vocabulario! Aqu no admitimos las palabras %s." -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Fecha (con hora)" +#: core/validators.py:272 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Este campo debe concordar con el campo '%s'." -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Direccin de correo electrnico" +#: core/validators.py:291 +msgid "Please enter something for at least one field." +msgstr "Por favor, introduzca algo en al menos un campo." -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Ruta de fichero" +#: 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." -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Nmero decimal" +#: 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" -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" +#: 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" -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relacin con el modelo padre" +#: core/validators.py:349 +msgid "Duplicate values are not allowed." +msgstr "No se admiten valores duplicados." -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Nmero de telfono" +#: 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." -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Texto" +#: core/validators.py:367 +#, python-format +msgid "This value must be at least %s." +msgstr "Este valor debe ser como mnimo %s." -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Hora" +#: core/validators.py:369 +#, python-format +msgid "This value must be no more than %s." +msgstr "Este valor no debe ser mayor que %s." -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" +#: core/validators.py:405 +#, python-format +msgid "This value must be a power of %s." +msgstr "Este valor debe ser una potencia de %s." -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado de los EEUU (dos letras maysculas)" +#: core/validators.py:416 +msgid "Please enter a valid decimal number." +msgstr "Por favor, introduzca un nmero decimal vlido." -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "Texto XML" +#: 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." +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." -#: 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" +#: 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." -#: 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" +#: 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." +msgstr[0] "" +"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito " +"decimal." +msgstr[1] "" +"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos " +"decimales." -#: 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" +#: 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." -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Histrico" +#: 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." -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Fecha/hora" +#: core/validators.py:454 +msgid "The format for this field is wrong." +msgstr "El formato de este campo es incorrecto." -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuario" +#: core/validators.py:469 +msgid "This field is invalid." +msgstr "Este campo no es vlido." -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Accin" +#: core/validators.py:505 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "No pude obtener nada de %s." -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" +#: core/validators.py:508 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" +"La URL %(url)s devolvi la cabecera Content-Type '%(contenttype)s', que no " +"es vlida." -#: contrib/admin/templates/admin/object_history.html:36 +#: core/validators.py:541 +#, python-format msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" 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)" +"Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea " +"empieza por \"%(start)s\".)" -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error de servidor (500)" +#: core/validators.py:545 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Parte del texto que comienza en la lnea %(line)s no est permitido en ese " +"contexto. (La lnea empieza por \"%(start)s\".)" -#: contrib/admin/templates/admin/500.html:10 +#: core/validators.py:550 +#, python-format 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." +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" 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" +"El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea " +"empieza por \"%(start)s\".)" -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Pgina no encontrada" +#: core/validators.py:555 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea " +"empieza por \"%(start)s\".)" -#: 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." +#: core/validators.py:559 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"A una etiqueta de la lnea %(line)s le faltan uno o ms atributos " +"requeridos. (La lnea empieza por \"%(start)s\".)" -#: contrib/admin/templates/admin/index.html:17 +#: core/validators.py:564 #, python-format -msgid "Models available in the %(name)s application." +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" msgstr "" +"El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " +"vlido. (La lnea empieza por \"%(start)s\".)" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Agregar" +#: 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." -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "No se permiten saltos de lnea." -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." +#: 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." -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Acciones recientes" +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "El fichero enviado est vaco." -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mis acciones" +#: 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." -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Ninguno disponible" +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Introduzca un nmero positivo." -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" +#: oldforms/__init__.py:745 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Introduzca un nmero entero entre 0 y 32,767." -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Ha olvidado su clave?" +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "nombre de mdulo python" -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Bienvenido," +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "tipo de contenido" -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Eliminar" +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "tipos de contenido" -#: 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/flatpages/models.py:7 contrib/admin/views/doc.py:318 +msgid "URL" +msgstr "URL" -#: 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:" +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" -"Est seguro de que quiere borrar los %(object_name)s \"%(object)s\"? Se " -"borrarn los siguientes objetos relacionados:" +"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " +"final." -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "S, estoy seguro" +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "ttulo" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Por %(title)s " +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenido" -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Buscar" +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "admitir comentarios" -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Ver en el sitio" +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nombre de plantilla" -#: 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/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/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordenacin" +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "debe estar registrado" -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Orden:" +#: 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/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Grabar como nuevo" +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pgina esttica" -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Grabar y aadir otro" +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pginas estticas" -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Sesin terminada" -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Grabar" +#: 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/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/auth/models.py:42 +msgid "permission" +msgstr "permiso" -#: 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/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "permisos" -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Su clave ha sido cambiada." +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grupo" -#: 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/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "grupos" -#: contrib/admin/templates/registration/password_reset_form.html:12 +#: contrib/auth/models.py:90 +msgid "username" +msgstr "nombre de usuario" + +#: contrib/auth/models.py:90 msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." msgstr "" -"Ha olvidado su clave? Introduzca su direccin de correo electrnico, y " -"crearemos una nueva que le enviaremos por correo." +"Requerido. 30 caracteres o menos. Slo caracteres alfanumricos (letras, " +"dgutos y guiones bajos)." -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Direccin de correo electrnico:" +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "nombre" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Recuperar mi clave" +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "apellidos" -#: 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/auth/models.py:93 +msgid "e-mail address" +msgstr "direccin de correo" -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Identificarse de nuevo" +#: contrib/auth/models.py:94 +msgid "password" +msgstr "clave" -#: 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/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/admin/templates/registration/password_reset_done.html:12 +#: 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 "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." msgstr "" -"Le hemos enviado una clave nueva a la direccin que ha suministrado. Debera " -"recibirla en breve." +"Indica si el usuario puede entrar en este sitio de administracin. Desmarque " +"esto en lugar de borrar la cuenta." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "es superusuario" + +#: contrib/auth/models.py:97 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." +"Designates that this user has all permissions without explicitly assigning " +"them." msgstr "" -"Por favor, introduzca su clave antigua, por seguridad, y despus introduzca " -"la nueva clave dos veces para verificar que la ha escrito correctamente." +"Indica que este usuario tiene todos los permisos sin asignrselos " +"explcitamente." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Clave antigua:" +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ltimo registro" -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Clave nueva:" +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "fecha de creacin" -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirme clave:" +#: 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/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Cambiar mi clave" +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "permisos" -#: 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/auth/models.py:105 +msgid "user" +msgstr "usuario" -#: 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/auth/models.py:106 +msgid "users" +msgstr "usuarios" -#: 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/auth/models.py:111 +msgid "Personal info" +msgstr "Informacin personal" -#: 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/auth/models.py:112 +msgid "Permissions" +msgstr "Permisos" -#: 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/auth/models.py:113 +msgid "Important dates" +msgstr "Fechas importantes" -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Gracias por usar nuestro sitio!" +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupos" -#: 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/auth/models.py:258 +msgid "message" +msgstr "mensaje" -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" +#: 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/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklets de documentacin" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ya existe un usuario con este nombre." -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#: contrib/auth/forms.py:53 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" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." 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" +"Tu navegador de internet parece no tener las cookies habilitadas. Las " +"cookies se necesitan para poder ingresar." -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." msgstr "" -"Le lleva desde cualquier pgina a la documentacin de la vista que la genera." +"Por favor, introduzca un correcto nombre de usuario y contrasea. Note que " +"ambos campos son sensibles a maysculas/minsculas." -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostrar ID de objeto" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta cuenta est inactiva." -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +#: contrib/auth/forms.py:85 msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" msgstr "" -"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " -"nico objeto." +"Esta direccin de correo electrnico no tiene una cuenta de usuario " +"asociada. Est seguro de que se ha registrado?" -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar este objeto (ventana actual)" +#: 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/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" -"Le lleva a la pgina de administracin de pginas que representan un nico " -"objeto." +"Tu contrasea antgua es incorrecta. Por favor, vuelve a introducirla " +"correctamente." -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar este objeto (nueva ventana)" +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ID de objeto" -#: 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/comments/models.py:68 +msgid "headline" +msgstr "encabezado" -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Fecha:" +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "comentario" -#: contrib/admin/templates/widget/date_time.html:4 -#, fuzzy -msgid "Time:" -msgstr "Hora" +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "calificacin 1" -#: contrib/admin/templates/widget/file.html:2 -#, fuzzy -msgid "Currently:" -msgstr "Actualmente" +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "calificacin 2" -#: contrib/admin/templates/widget/file.html:3 -#, fuzzy -msgid "Change:" -msgstr "Modificar" +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "calificacin 3" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigir desde" +#: 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/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/comments/models.py:85 contrib/admin/views/doc.py:307 +msgid "IP address" +msgstr "Direccin IP" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigir a" +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "est eliminado" -#: contrib/redirects/models.py:10 +#: contrib/comments/models.py:86 msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." msgstr "" -"Esto puede ser bien una ruta absoluta (como antes) o una URL completa que " -"empiece con 'http://'." +"Marque esta caja si el comentario es inapropiado. En su lugar se mostrar " +"\"Este comentario ha sido eliminado\"." -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redireccin" +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "comentarios" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirecciones" +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Objeto contenido" -#: contrib/flatpages/models.py:8 +#: contrib/comments/models.py:159 +#, python-format msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" msgstr "" -"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " -"final." +"Enviado por %(user)s en %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "ttulo" +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "nombre de la persona" -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenido" +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "direccin ip" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "admitir comentarios" +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "aprobado por el staff" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nombre de plantilla" +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "comentario libre" -#: 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/comments/models.py:177 +msgid "free comments" +msgstr "comentarios libres" -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "debe estar registrado" +#: contrib/comments/models.py:233 +msgid "score" +msgstr "puntuacin" -#: 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/comments/models.py:234 +msgid "score date" +msgstr "fecha de la puntuacin" -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "pgina esttica" +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "punto karma" -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pginas estticas" +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "puntos karma" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nombre" +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "puntuado %(score)d por %(user)s" -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nombre en cdigo" +#: 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/auth/models.py:17 -#, fuzzy -msgid "permission" -msgstr "Permiso" +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "fecha de la marca" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy -msgid "permissions" -msgstr "Permisos" +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "marca de usuario" -#: contrib/auth/models.py:29 -#, fuzzy -msgid "group" -msgstr "Grupo" +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "marcas de usuario" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy -msgid "groups" -msgstr "Grupos" +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Marca de %r" -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nombre de usuario" +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "fecha de eliminacin" -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "nombre" +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "eliminacin de moderador" -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "apellidos" +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "eliminaciones de moderador" -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "direccin de correo" +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Eliminacin del moderador %r" -#: contrib/auth/models.py:59 -msgid "password" -msgstr "clave" +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Tu nombre:" -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Use '[algo]$[salt]$[hexdigest]'" +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Comentario:" -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "es staff" +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Previsualizar comentario" -#: 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/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/auth/models.py:61 -msgid "active" -msgstr "activo" +#: 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/auth/models.py:62 -msgid "superuser status" -msgstr "es superusuario" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Clave:" -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "ltimo registro" +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Has olvidado tu contrasea?" -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "fecha de creacin" +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Calificaciones" -#: 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/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Requerido" -#: contrib/auth/models.py:67 -#, fuzzy -msgid "user permissions" -msgstr "Permisos" +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Opcional" -#: contrib/auth/models.py:70 -#, fuzzy -msgid "user" -msgstr "Usuario" +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Postea una fotografa" -#: contrib/auth/models.py:71 -#, fuzzy -msgid "users" -msgstr "Usuarios" +#: 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/auth/models.py:76 -msgid "Personal info" -msgstr "Informacin personal" +#: 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/auth/models.py:77 -msgid "Permissions" -msgstr "Permisos" +#: 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/auth/models.py:78 -msgid "Important dates" -msgstr "Fechas importantes" +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Slo se admite POST" -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupos" +#: 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/auth/models.py:219 -#, fuzzy -msgid "message" -msgstr "Mensaje" +#: 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/auth/forms.py:30 +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." +"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/contenttypes/models.py:25 -#, fuzzy -msgid "python model class name" -msgstr "nombre de mdulo python" +#: 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/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo de contenido" +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Los usuarios annimos no pueden votar" -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipos de contenido" +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID de comentario no vlido" -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "clave de sesin" +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "No puedes votarte t mismo" -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "datos de sesin" +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigir desde" -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "fecha de caducidad" +#: 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/sessions/models.py:41 -msgid "session" -msgstr "sesin" +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigir a" -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sesiones" +#: 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" @@ -1335,721 +1490,882 @@ msgstr "sitio" msgid "sites" msgstr "sitios" -#: utils/translation.py:360 -msgid "DATE_FORMAT" +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

      By %s:

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

        Por %s:

        \n" +"
          \n" -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "" +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Todo" -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "" +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Cualquier fecha" -#: utils/dates.py:6 -msgid "Monday" -msgstr "Lunes" +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Hoy" -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "Martes" +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "ltimos 7 das" -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "Mircoles" +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Este mes" -#: utils/dates.py:6 -msgid "Thursday" -msgstr "Jueves" +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Este ao" -#: utils/dates.py:6 -msgid "Friday" -msgstr "Viernes" +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "hora de accin" -#: utils/dates.py:7 -msgid "Saturday" -msgstr "Sbado" +#: 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." -#: utils/dates.py:7 -msgid "Sunday" -msgstr "Domingo" +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" -#: utils/dates.py:14 -msgid "January" -msgstr "Enero" +#: 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." -#: utils/dates.py:14 -msgid "February" -msgstr "Febrero" +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "Marzo" +#: 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." -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "Abril" +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "Mayo" +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "Junio" +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (500)" -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "Julio" +#: 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" -#: utils/dates.py:15 -msgid "August" -msgstr "Agosto" +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" -#: utils/dates.py:15 -msgid "September" -msgstr "Septiembre" +#: 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" -#: utils/dates.py:15 -msgid "October" -msgstr "Octubre" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" -#: utils/dates.py:15 -msgid "November" -msgstr "Noviembre" +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Histrico" -#: utils/dates.py:16 -msgid "December" -msgstr "Diciembre" +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Fecha/hora" -#: utils/dates.py:19 -#, fuzzy -msgid "jan" -msgstr "y" +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Usuario" -#: utils/dates.py:19 -msgid "feb" -msgstr "" +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Accin" -#: utils/dates.py:19 -msgid "mar" -msgstr "" +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" -#: utils/dates.py:19 -msgid "apr" +#: 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." -#: utils/dates.py:19 -#, fuzzy -msgid "may" -msgstr "da" +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administracin de Django" -#: utils/dates.py:19 -msgid "jun" -msgstr "" +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administracin de Django" -#: utils/dates.py:20 -msgid "jul" -msgstr "" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bienvenido," -#: utils/dates.py:20 -msgid "aug" -msgstr "" +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Identificarse" -#: utils/dates.py:20 -msgid "sep" -msgstr "" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" -#: utils/dates.py:20 -msgid "oct" -msgstr "" +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" -#: utils/dates.py:20 -msgid "nov" +#: 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:" -#: utils/dates.py:20 -msgid "dec" +#: 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:" -#: utils/dates.py:27 -msgid "Jan." -msgstr "Ene." - -#: utils/dates.py:27 -msgid "Feb." -msgstr "Feb." - -#: utils/dates.py:28 -msgid "Aug." -msgstr "Ago." +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "S, estoy seguro" -#: utils/dates.py:28 -msgid "Sept." -msgstr "Sept." +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pgina no encontrada" -#: utils/dates.py:28 -msgid "Oct." -msgstr "Oct." +#: 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." -#: utils/dates.py:28 -msgid "Nov." -msgstr "Nov." +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" -#: utils/dates.py:28 -msgid "Dec." -msgstr "Dic." +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "ao" -msgstr[1] "aos" +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y aadir otro" -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "mes" -msgstr[1] "meses" +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "da" -msgstr[1] "das" +#: 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." -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "hora" -msgstr[1] "horas" +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minuto" -msgstr[1] "minutos" +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Agregar" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengal" +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Checo" +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Gals" +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Dans" +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" -#: conf/global_settings.py:41 -msgid "German" -msgstr "Alemn" +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguno disponible" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "" +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrarlo todo" -#: conf/global_settings.py:43 -msgid "English" -msgstr "Ingls" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Ver en el sitio" -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Espaol" +#: 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." -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francs" +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordenacin" -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Gallego" +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Orden:" -#: conf/global_settings.py:47 -msgid "Hungarian" +#: 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." -#: conf/global_settings.py:48 -msgid "Hebrew" +#: 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." -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islands" +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario" -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italiano" +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Contrasea" -#: conf/global_settings.py:51 -msgid "Japanese" +#: 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." -#: conf/global_settings.py:52 -msgid "Dutch" +#: 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." -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Noruego" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Direccin de correo electrnico:" -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasileo" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi clave" -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumano" +#: 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." -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Ruso" +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Eslovaco" +#: 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" -#: conf/global_settings.py:58 -#, fuzzy -msgid "Slovenian" -msgstr "Eslovaco" +#: 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." -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbio" +#: 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" -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Sueco" +#: 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:" -#: conf/global_settings.py:61 -#, fuzzy -msgid "Ukrainian" -msgstr "Brasileo" +#: 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:" -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Chino simplificado" +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gracias por usar nuestro sitio!" -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "" +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" -#: 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." +#: 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" -#: core/validators.py:64 -#, fuzzy +#: contrib/admin/templates/registration/password_reset_done.html:12 msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." msgstr "" -"Este valor debe contener slo letras, nmeros, guiones bajos y barras (/)." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "No se admiten letras maysculas." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "No se admiten letras minsculas." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Introduzca slo dgitos separados por comas." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Introduzca direcciones de correo vlidas separadas por comas." +"Le hemos enviado una clave nueva a la direccin que ha suministrado. Debera " +"recibirla en breve." -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Por favor introduzca una direccin IP vlida." +#: 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" -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "No se admiten valores vacos." +#: 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." -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "No se admiten caracteres no numricos." +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Clave antigua:" -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Este valor no puede comprender slo dgitos." +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Clave nueva:" -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Introduzca un nmero entero." +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirme clave:" -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Slo se admiten caracteres alfabticos." +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Cambiar mi clave" -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." +#: 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" -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Introduzca una hora vlida en formato HH:MM." +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Su clave ha sido cambiada." -#: core/validators.py:132 db/models/fields/__init__.py:468 -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." +#: contrib/admin/templatetags/admin_list.py:238 +msgid "All dates" +msgstr "Todas las fechas" -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Introduzca una direccin de correo electrnico vlida" +#: 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." -#: core/validators.py:148 +#: contrib/admin/views/decorators.py:69 msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." msgstr "" -"Enve una imagen vlida. El fichero que ha enviado no era una imagen o se " -"trataba de una imagen corrupta." +"Parece que su navegador no est configurado para aceptar cookies. Actvelas " +"por favor, recargue esta pgina, e intntelo de nuevo." -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "La URL %s no apunta a una imagen vlida." +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Los nombres de usuario no pueden contener el carcter '@'." -#: core/validators.py:159 +#: contrib/admin/views/decorators.py:85 #, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" -"Los nmeros de telfono deben guardar el formato XXX-XXX-XXXX format. \"%s\" " -"no es vlido." - -#: core/validators.py:167 -#, 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." +"Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " +"lugar." -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Se precisa una URL vlida." +#: 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:" -#: core/validators.py:185 +#: contrib/admin/views/doc.py:164 #, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Se precisa HTML vlido. Los errores especficos son:\n" -"%s" +msgid "App %r not found" +msgstr "Applicacin %r no encontrada" -#: core/validators.py:192 +#: contrib/admin/views/doc.py:171 #, python-format -msgid "Badly formed XML: %s" -msgstr "XML mal formado: %s" +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" -#: core/validators.py:202 +#: contrib/admin/views/doc.py:184 #, python-format -msgid "Invalid URL: %s" -msgstr "URL no vlida: %s" +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "el objeto relacionado`%(app_label)s.%(data_type)s` " -#: core/validators.py:206 core/validators.py:208 +#: 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 "The URL %s is a broken link." -msgstr "La URL %s es un enlace roto." +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "los objetos relacionados `%(app_label)s.%(object_name)s`" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Introduzca una abreviatura vlida de estado de los EEUU." +#: contrib/admin/views/doc.py:222 +#, python-format +msgid "all %s" +msgstr "todo %s" -#: core/validators.py:229 +#: contrib/admin/views/doc.py:227 #, 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." +msgid "number of %s" +msgstr "nmero de %s" -#: core/validators.py:236 +#: contrib/admin/views/doc.py:232 #, python-format -msgid "This field must match the '%s' field." -msgstr "Este campo debe concordar con el campo '%s'." +msgid "Fields on %s objects" +msgstr "Campos en %s objetos" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Por favor, introduzca algo en al menos un campo." +#: 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" -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Por favor, rellene ambos campos o deje ambos vacos." +#: contrib/admin/views/doc.py:295 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" -#: core/validators.py:282 +#: contrib/admin/views/doc.py:296 contrib/admin/views/doc.py:314 #, 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" +msgid "String (up to %(maxlength)s)" +msgstr "Cadena (mximo %(maxlength)s)" -#: core/validators.py:294 -#, 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" +#: contrib/admin/views/doc.py:297 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "No se admiten valores duplicados." +#: contrib/admin/views/doc.py:298 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Este valor debe ser una potencia de %s." +#: contrib/admin/views/doc.py:299 +msgid "Date (with time)" +msgstr "Fecha (con hora)" -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Por favor, introduzca un nmero decimal vlido." +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "Direccin de correo electrnico" -#: 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] "" -"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." +#: 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" -#: 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] "" -"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito " -"decimal." -msgstr[1] "" -"Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos " -"decimales." +#: contrib/admin/views/doc.py:303 +msgid "Decimal number" +msgstr "Nmero decimal" -#: core/validators.py:362 -#, 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." +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" -#: core/validators.py:363 -#, 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." +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Relacin con el modelo padre" -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "El formato de este campo es incorrecto." +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Nmero de telfono" -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Este campo no es vlido." +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Texto" -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "No pude obtener nada de %s." +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Hora" -#: core/validators.py:429 +#: 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 "" -"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." +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" -#: core/validators.py:462 +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 #, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea " -"empieza por \"%(start)s\".)" +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." -#: core/validators.py:466 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Parte del texto que comienza en la lnea %(line)s no est permitido en ese " -"contexto. (La lnea empieza por \"%(start)s\".)" +msgid "You may add another %s below." +msgstr "Puede agregar otro %s abajo." -#: core/validators.py:471 +#: contrib/admin/views/main.py:289 #, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea " -"empieza por \"%(start)s\".)" +msgid "Add %s" +msgstr "Agregar %s" -#: core/validators.py:476 +#: contrib/admin/views/main.py:335 #, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea " -"empieza por \"%(start)s\".)" +msgid "Added %s." +msgstr "Agregado %s." -#: core/validators.py:480 +#: contrib/admin/views/main.py:337 #, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"A una etiqueta de la lnea %(line)s le faltan uno o ms atributos " -"requeridos. (La lnea empieza por \"%(start)s\".)" +msgid "Changed %s." +msgstr "Modificado %s." -#: core/validators.py:485 +#: contrib/admin/views/main.py:339 #, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " -"vlido. (La lnea empieza por \"%(start)s\".)" +msgid "Deleted %s." +msgstr "Borrado %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." +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "No ha cambiado ningn campo." -#: db/models/fields/__init__.py:40 +#: contrib/admin/views/main.py:345 #, 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." +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Se modific con xito el %(name)s \"%(obj)s." -#: db/models/fields/__init__.py:337 -#, fuzzy -msgid "This value must be an integer." -msgstr "Este valor debe ser una potencia de %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." -#: 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." +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" -#: db/models/fields/__init__.py:385 -#, fuzzy -msgid "This field cannot be null." -msgstr "Este campo no es vlido." +#: 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" -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Introduzca un nombre de fichero vlido" +#: 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:" -#: db/models/fields/related.py:43 +#: contrib/admin/views/main.py:511 #, python-format -msgid "Please enter a valid %s." -msgstr "Por favor, introduzca un %s vlido." +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se elimin con xito el %(name)s \"%(obj)s\"." -#: db/models/fields/related.py:579 -#, fuzzy -msgid "Separate multiple IDs with commas." -msgstr " Separe mltiples IDs con comas." +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "Est seguro?" -#: 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." +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "Modificar histrico: %s" -#: db/models/fields/related.py:625 +#: contrib/admin/views/main.py:570 #, 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." +msgid "Select %s" +msgstr "Escoja %s" -#: forms/__init__.py:380 +#: contrib/admin/views/main.py:570 #, 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." +msgid "Select %s to change" +msgstr "Escoja %s para modificar" -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "No se permiten saltos de lnea." +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Erorr en la base de datos" -#: 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 "Escoja una opcin vlida; '%(data)s' no est en %(choices)s." +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aadir usuario" -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "El fichero enviado est vaco." +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La clave se ha cambiado exitosamente." -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Introduzca un nmero entero entre -32,768 y 32,767." +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar clave: %s" -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Introduzca un nmero positivo." +#: 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." -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Introduzca un nmero entero entre 0 y 32,767." +#: 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." -#: template/defaultfilters.py:379 -msgid "yes,no,maybe" -msgstr "si,no,tal vez" +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "clave de sesin" -#~ msgid "Comment" -#~ msgstr "Comentario" +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "datos de sesin" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "fecha de caducidad" -#~ msgid "Comments" -#~ msgstr "Comentarios" +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "sesin" -#~ msgid "String (up to 50)" -#~ msgstr "Cadena (mximo 50)" +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sesiones" -#~ msgid "label" -#~ msgstr "etiqueta" +#: 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." -#~ msgid "package" -#~ msgstr "paquete" +#: 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." -#~ msgid "packages" -#~ msgstr "paquetes" +#: 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 a247bb2385..b7f777611b 100644 Binary files a/django/conf/locale/es_AR/LC_MESSAGES/django.mo and b/django/conf/locale/es_AR/LC_MESSAGES/django.mo differ 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,29 +1309,39 @@ 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/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." msgstr "" -"Primero, ingrese 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:" +"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, ingrese la misma contrasea que ingres arriba." +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, 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/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 @@ -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 3f89e3e33f..d8e3cc6fd6 100644 Binary files a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo and b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo differ 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 f6470abdd0..024d2ad98b 100644 Binary files a/django/conf/locale/fi/LC_MESSAGES/django.mo and b/django/conf/locale/fi/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/fi/LC_MESSAGES/django.po b/django/conf/locale/fi/LC_MESSAGES/django.po index 3aa824378d..275feaaf81 100644 --- a/django/conf/locale/fi/LC_MESSAGES/django.po +++ b/django/conf/locale/fi/LC_MESSAGES/django.po @@ -93,7 +93,7 @@ msgstr "tšekki" #: conf/global_settings.py:42 msgid "Welsh" -msgstr "" +msgstr "wales" #: conf/global_settings.py:43 msgid "Danish" @@ -169,15 +169,15 @@ msgstr "venäjä" #: conf/global_settings.py:61 msgid "Slovak" -msgstr "" +msgstr "slovakia" #: conf/global_settings.py:62 msgid "Slovenian" -msgstr "" +msgstr "slovenia" #: conf/global_settings.py:63 msgid "Serbian" -msgstr "" +msgstr "serbia" #: conf/global_settings.py:64 msgid "Swedish" @@ -189,15 +189,15 @@ msgstr "" #: conf/global_settings.py:66 msgid "Ukrainian" -msgstr "" +msgstr "ukraina" #: conf/global_settings.py:67 msgid "Simplified Chinese" -msgstr "" +msgstr "kiina (yksinkertaistettu)" #: conf/global_settings.py:68 msgid "Traditional Chinese" -msgstr "" +msgstr "kiina (perinteinen)" #: core/validators.py:63 msgid "This value must contain only letters, numbers and underscores." @@ -211,7 +211,7 @@ msgstr "Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) sekä a #: core/validators.py:75 msgid "Uppercase letters are not allowed here." -msgstr "Versaalit (ABC) eivät kelpaa tässä." +msgstr "Isot kirjaimet (ABC) eivät kelpaa tässä." #: core/validators.py:79 msgid "Lowercase letters are not allowed here." @@ -270,7 +270,7 @@ msgstr "Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vio #: core/validators.py:162 #, python-format msgid "The URL %s does not point to a valid image." -msgstr "Osoittessa %s ei ole kelpaavaa kuvaa." +msgstr "Osoittessa %s ei ole kuvaa tai se on vioittunut." #: core/validators.py:166 #, python-format @@ -280,7 +280,7 @@ msgstr "Puhelinnumeron tulee olla muodossa XXX-XXX-XXXX. \"%s\" ei kelpaa." #: core/validators.py:174 #, python-format msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Osoitteessa %s ei ole kelpaavaa QuickTime-videota." +msgstr "Osoitteessa %s ei ole QuickTime-videota tai se on vioittunut." #: core/validators.py:178 msgid "A valid URL is required." @@ -308,7 +308,7 @@ msgstr "URL-osoite %s ei kelpaa." #: core/validators.py:213 core/validators.py:215 #, python-format msgid "The URL %s is a broken link." -msgstr "Osoite %s on katkennut linkki." +msgstr "Osoite %s on rikkoutunut tai väärä linkki." #: core/validators.py:221 msgid "Enter a valid U.S. state abbreviation." @@ -324,7 +324,7 @@ msgstr[1] "Sanoja \"%s\" ei saa käyttää tässä." #: core/validators.py:243 #, python-format msgid "This field must match the '%s' field." -msgstr "" +msgstr "Arvon täytyy olla sama kuin kentässä '%s'." #: core/validators.py:262 msgid "Please enter something for at least one field." @@ -403,7 +403,7 @@ msgstr "Tämä arvo ei kelpaa." #: core/validators.py:441 #, python-format msgid "Could not retrieve anything from %s." -msgstr "" +msgstr "Tietoja ei voida noutaa kohteesta: %s." #: core/validators.py:444 #, python-format @@ -1676,7 +1676,13 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" +"Kommentin kirjoittanut käyttäjä on kirjoittanut vain yhden kommentin:\n" +"\n" +"%(text)s" msgstr[1] "" +"Kommentin kirjoittanut käyttäjä on kirjoittanut alle %(count)s kommenttia:\n" +"\n" +"%(text)s" # Mitä "sketchy user" tarkoittaa? #: contrib/comments/views/comments.py:116 @@ -1972,38 +1978,38 @@ msgstr "joulu" #: utils/timesince.py:12 msgid "year" msgid_plural "years" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vuosi" +msgstr[1] "vuotta" #: utils/timesince.py:13 msgid "month" msgid_plural "months" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kuukausi" +msgstr[1] "kuukautta" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "viikko" +msgstr[1] "viikkoa" #: utils/timesince.py:15 msgid "day" msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "päivä" +msgstr[1] "päivää" #: utils/timesince.py:16 msgid "hour" msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tunti" +msgstr[1] "tuntia" #: utils/timesince.py:17 msgid "minute" msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "minuutti" +msgstr[1] "minuuttia" #: utils/translation/trans_real.py:362 msgid "DATE_FORMAT" @@ -2019,10 +2025,9 @@ msgstr "G:i" #: utils/translation/trans_real.py:380 msgid "YEAR_MONTH_FORMAT" -msgstr "N j, Y" +msgstr "N Y" #: utils/translation/trans_real.py:381 -#, fuzzy msgid "MONTH_DAY_FORMAT" msgstr "N j, Y" diff --git a/django/conf/locale/it/LC_MESSAGES/django.mo b/django/conf/locale/it/LC_MESSAGES/django.mo index 6b7dd0f01f..584531c9b2 100644 Binary files a/django/conf/locale/it/LC_MESSAGES/django.mo and b/django/conf/locale/it/LC_MESSAGES/django.mo differ 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,1970 +1,2297 @@ +# 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" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 -msgid "object ID" -msgstr "ID dell'oggetto" +#: 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." -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "intestazione" +#: 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" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "commento" +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Inserire un %s valido." -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "valutazione #1" +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separare ID multipli con virgole." -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "valutazione #2" +#: 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." -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "valutazione #3" +#: 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." -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "valutazione #4" +#: 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à." -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "valutazione #5" +#: 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." -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "valutazione #6" +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Questo valore deve essere un intero." -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "valutazione #7" +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Questo valore deve essere True o False." -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "valutazione #8" +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Questo campo non può essere nullo." -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "valutazione valida" +#: 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." -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "data/ora di sottomissione" +#: 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." -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "pubblico" +#: db/models/fields/__init__.py:629 +msgid "Enter a valid filename." +msgstr "Inserire un nome file valido." -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "indirizzo IP" +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabo" -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "eliminato" +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengali" -#: 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\"." +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Catalano" -#: contrib/comments/models/comments.py:31 -msgid "Comment" -msgstr "Commento" +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Ceco" -#: contrib/comments/models/comments.py:32 -#: contrib/comments/models.py:91 -msgid "Comments" -msgstr "Commenti" +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gallese" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Contenitore" +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Danese" -#: 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 "" -"Commento di %(user)s del %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" +#: conf/global_settings.py:45 +msgid "German" +msgstr "Tedesco" -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nome della persona" +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Greco" -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "indirizzo IP" +#: conf/global_settings.py:47 +msgid "English" +msgstr "Inglese" -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "approvato dallo staff" +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spagnolo" -#: contrib/comments/models.py:176 -msgid "free comment" -msgstr "commento libero" +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Spagnolo argentino" -#: contrib/comments/models.py:177 -msgid "free comments" -msgstr "commenti liberi" +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finlandese" -#: contrib/comments/models.py:233 -msgid "score" -msgstr "punteggio" +#: conf/global_settings.py:51 +msgid "French" +msgstr "Francese" -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "data punteggio" +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galiziano" -#: contrib/comments/models.py:237 -msgid "karma score" -msgstr "livello karma" +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungherese" -#: contrib/comments/models.py:238 -msgid "karma scores" -msgstr "livelli karma" +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Ebraico" -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "valutazione: %(score)d da %(user)s" +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandese" -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Questo commento ha un flag di %(user)s:\n" -"\n" -"%(text)s" +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italiano" -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "data flag" +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Giapponese" -#: contrib/comments/models.py:268 -msgid "user flag" -msgstr "flag utente" +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" -#: contrib/comments/models.py:269 -msgid "user flags" -msgstr "flag utente" +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Lettone" -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Flag da %r" +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Macedone" -#: contrib/comments/models/comments.py:278 -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "data eliminazione" +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Olandese" -#: contrib/comments/models.py:280 -msgid "moderator deletion" -msgstr "rimozione da moderatore" +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norvegese" -#: contrib/comments/models.py:281 -msgid "moderator deletions" -msgstr "rimozioni da moderatore" +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polacco" -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Rimozione da moderatore di %r" +#: conf/global_settings.py:64 +msgid "Brazilian" +msgstr "Brasiliano" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Gli utenti anonimi non possono votare" +#: conf/global_settings.py:65 +msgid "Romanian" +msgstr "Rumeno" -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID commento non valido" +#: conf/global_settings.py:66 +msgid "Russian" +msgstr "Russo" -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Non votare per te stesso" +#: conf/global_settings.py:67 +msgid "Slovak" +msgstr "Slovacco" -#: 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" +#: conf/global_settings.py:68 +msgid "Slovenian" +msgstr "Sloveno" -#: 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] "" -"Commento di 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" -"\n" -"%(text)s" -"" +#: conf/global_settings.py:69 +msgid "Serbian" +msgstr "Serbo" -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Commento di un utente \"sketchy\":\n" -"\n" -"%(text)s" +#: conf/global_settings.py:70 +msgid "Swedish" +msgstr "Svedese" -#: contrib/comments/views/comments.py:189 -#: 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:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "Uno o più dei campi richiesti non sono stati sottomessi" - -#: contrib/comments/views/comments.py:197 -#: 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: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" - -#: 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'" - -#: 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?" +#: conf/global_settings.py:71 +msgid "Tamil" +msgstr "Tamil" -#: 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" - -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Valutazioni" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Obbligatorio" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Opzionale" +#: conf/global_settings.py:72 +msgid "Turkish" +msgstr "Turco" -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Invia una foto" +#: conf/global_settings.py:73 +msgid "Ukrainian" +msgstr "Ucraino" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Commento:" +#: conf/global_settings.py:74 +msgid "Simplified Chinese" +msgstr "Cinese semplificato" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Anteprima commento" +#: conf/global_settings.py:75 +msgid "Traditional Chinese" +msgstr "Cinese tradizionale" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Il tuo nome:" +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Questo valore può contenere solo lettere, cifre e sottolineature." -#: contrib/admin/filterspecs.py:40 -#, python-format +#: core/validators.py:68 msgid "" -"

          By %s:

          \n" -"
            \n" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." msgstr "" -"

            Da %s:

            \n" -"
              \n" - -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "Tutti" +"Questo valore può contenere solo lettere, cifre, sottolineature, trattini e " +"barre diagonali." -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Qualsiasi data" +#: 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." -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Oggi" +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Non sono ammesse lettere maiuscole." -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "Ultimi 7 giorni" +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Non sono ammesse lettere minuscole." -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Questo mese" +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Inserire solo cifre separate da virgole." -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Quest'anno" +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Inserire indirizzi e-mail validi separati da virgole." -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Sì" +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Inserire un indirizzo IP valido." -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "No" +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "È necessario inserire un valore." -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Sconosciuto" +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Sono ammessi soltanto caratteri numerici." -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "data azione" +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Questo valore non può essere composto solo da cifre." -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "ID dell'oggetto" +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Inserire un numero intero." -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "rappresentazione dell'oggetto" +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Sono ammessi solo caratteri alfabetici." -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "flag azione" +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "L'anno deve essere 1900 o successivo." -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "modifica messaggio" +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s." +msgstr "Data non valida: %s." -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "voce di log" +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Inserire un orario valido in formato OO:MM." -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "voci di log" +#: core/validators.py:161 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Inserire un indirizzo e-mail valido." -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Tutte le date" +#: 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." -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: core/validators.py:177 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." +"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." -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Accedi" +#: 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." -#: 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." +#: 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." -#: contrib/admin/views/decorators.py:68 +#: core/validators.py:214 +#, python-format msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." +"Valid HTML is required. Specific errors are:\n" +"%s" 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 '@'." +"È richiesto HTML valido. Gli errori sono i seguenti:\n" +"%s" -#: contrib/admin/views/decorators.py:84 +#: core/validators.py:221 #, 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'." +msgid "Badly formed XML: %s" +msgstr "XML malformato: %s" -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Amministrazione sito" +#: core/validators.py:238 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL non valida: %s" -#: contrib/admin/views/main.py:410 +#: core/validators.py:243 core/validators.py:245 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato aggiunto." +msgid "The URL %s is a broken link." +msgstr "La URL %s è un link non funzionante." -#: 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." +#: core/validators.py:251 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Inserire un valido nome di stato USA abbreviato." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: core/validators.py:265 #, python-format -msgid "You may add another %s below." -msgstr "Puoi aggiungere un altro %s qui sotto." +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." -#: contrib/admin/views/main.py:290 +#: core/validators.py:272 #, python-format -msgid "Add %s" -msgstr "Aggiungi %s" +msgid "This field must match the '%s' field." +msgstr "Questo campo deve corrispondere al campo '%s'." -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Aggiunto %s" +#: core/validators.py:291 +msgid "Please enter something for at least one field." +msgstr "Inserire qualcosa in almeno un campo." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "e" +#: 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." -#: contrib/admin/views/main.py:338 +#: core/validators.py:319 #, python-format -msgid "Changed %s." -msgstr "Modificato %s." +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s è %(value)s" -#: contrib/admin/views/main.py:340 +#: core/validators.py:332 #, python-format -msgid "Deleted %s." -msgstr "Rimosso %s" +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s non è %(value)s" -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "Nessun campo modificato." +#: core/validators.py:351 +msgid "Duplicate values are not allowed." +msgstr "Non sono ammessi valori duplicati." -#: contrib/admin/views/main.py:346 +#: core/validators.py:366 #, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato modificato." +msgid "This value must be between %s and %s." +msgstr "Questo valore deve essere compreso tra %s e %s." -#: contrib/admin/views/main.py:354 +#: core/validators.py:368 #, 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." +msgid "This value must be at least %s." +msgstr "Questo valore deve essere almeno pari a %s." -#: contrib/admin/views/main.py:392 +#: core/validators.py:370 #, python-format -msgid "Change %s" -msgstr "Modifica %s" +msgid "This value must be no more than %s." +msgstr "Questo valore non deve essere maggiore di %s." -#: contrib/admin/views/main.py:470 +#: core/validators.py:406 #, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o più %(fieldname)s in %(name)s: %(obj)s" +msgid "This value must be a power of %s." +msgstr "Questo valore deve essere una potenza di %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:" +#: core/validators.py:417 +msgid "Please enter a valid decimal number." +msgstr "Inserire un numero decimale valido." -#: contrib/admin/views/main.py:508 +#: core/validators.py:421 #, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "L'oggetto %(name)s di tipo \"%(obj)s\" è stato rimosso." +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." -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Sei sicuro?" +#: 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." -#: contrib/admin/views/main.py:533 +#: core/validators.py:427 #, python-format -msgid "Change history: %s" -msgstr "Storia delle modifiche: %s" +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." -#: contrib/admin/views/main.py:565 +#: core/validators.py:437 #, python-format -msgid "Select %s" -msgstr "Selezionare %s" +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Verificare che il file caricato sia grande almeno %s byte." -#: contrib/admin/views/main.py:565 +#: core/validators.py:438 #, python-format -msgid "Select %s to change" -msgstr "Selezionare %s per modificare" +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." -#: 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" +#: core/validators.py:455 +msgid "The format for this field is wrong." +msgstr "Il formato di questo campo non è valido." -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Booleano (True o False)" +#: core/validators.py:470 +msgid "This field is invalid." +msgstr "Questo campo non è valido." -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: core/validators.py:506 #, 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" +msgid "Could not retrieve anything from %s." +msgstr "Impossibile recuperare alcunché da %s." -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Data (senza orario)" +#: 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'." -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Data (con orario)" +#: 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\".)" -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Indirizzo e-mail" +#: 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\".)" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Percorso di file" +#: 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\".)" -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Numero decimale" +#: 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\".)" -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (True, False o None)" +#: 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\".)" -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relazione a modello padre" +#: 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/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Numero di telefono" +#: 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/admin/views/doc.py:263 -msgid "String (up to 50)" -msgstr "Stringa (massimo 50 caratteri)" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Un utente con questo nome·è già presente." -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Testo" +#: 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/admin/views/doc.py:299 -msgid "Time" -msgstr "Ora" +#: 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/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Questo account non è attivo." -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Stato americano (due lettere maiuscole)" +#: 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/admin/views/doc.py:302 -msgid "XML text" -msgstr "Testo XML" +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "I due campi 'nuova parola chiave' non corrispondono." -#: 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/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/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/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nome" -#: 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/auth/models.py:40 +msgid "codename" +msgstr "nome in codice" -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Storia" +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "permesso" -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Data/ora" +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "permessi" -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Utente" +#: contrib/auth/models.py:60 +msgid "group" +msgstr "gruppo" -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Azione" +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "gruppi" -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j F Y, H:i" +#: contrib/auth/models.py:90 +msgid "username" +msgstr "nome utente" -#: contrib/admin/templates/admin/object_history.html:36 +#: contrib/auth/models.py:90 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" +"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/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Amministrazione Django" +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "nome" -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Errore del server" +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "cognome" -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Errore del server (500)" +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "indirizzo e-mail" -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Errore del Server (500)" +#: contrib/auth/models.py:94 +msgid "password" +msgstr "parola chiave" -#: contrib/admin/templates/admin/500.html:10 +#: contrib/auth/models.py:94 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." +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "Usare '[algo]$[salt]$[hexdigest]' oppure la maschera di cambio parola chiave." -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Pagina non trovata" +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "privilegi di staff" -#: 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/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/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "Modelli disponibili nell'applicazione %(name)s." +#: contrib/auth/models.py:96 +msgid "active" +msgstr "attivo" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Aggiungi" +#: 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/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modifica" +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "privilegi di superutente" -#: 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/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/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Azioni Recenti" +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ultimo accesso" -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Azioni Proprie" +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "iscritto in data" -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Nessuna disponibile" +#: 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/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Aggiungi %(name)s" +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "privilegi utente" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Hai dimenticato la tua password?" +#: contrib/auth/models.py:105 +msgid "user" +msgstr "utente" -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Benvenuto," +#: contrib/auth/models.py:106 +msgid "users" +msgstr "utenti" -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Elimina" +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Informazioni personali" -#: 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/auth/models.py:112 +msgid "Permissions" +msgstr "Privilegi" -#: 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/auth/models.py:113 +msgid "Important dates" +msgstr "Date importanti" -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Sì, sono sicuro" +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Gruppi" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Per %(title)s " +#: contrib/auth/models.py:258 +msgid "message" +msgstr "messaggio" -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Vai" +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Accesso annullato" -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Vedi sul sito" +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "data azione" -#: 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/models.py:19 +msgid "object id" +msgstr "ID oggetto" -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordinamento" +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "rappresentazione oggetto" -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Ordinamento:" +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "flag azione" -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Salva come nuovo" +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "messaggio di modifica" -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Salva e crea nuovo" +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "voce di log" -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Salva e continua" +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "voci di log" -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Salva" +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

              By %s:

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

                Da %s:

                \n" +"
                  \n" -#: 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/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Tutti" -#: 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/filterspecs.py:109 +msgid "Any date" +msgstr "Qualsiasi data" -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "La tua password è stata modificata." +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Oggi" -#: 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/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Ultimi 7 giorni" -#: 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/filterspecs.py:115 +msgid "This month" +msgstr "Questo mese" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Indirizzo e-mail:" +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Quest'anno" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Resetta la mia password" +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "Yes" +msgstr "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 con questo sito." +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "No" +msgstr "No" -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Accedi di nuovo" +#: contrib/admin/filterspecs.py:150 oldforms/__init__.py:572 +#: newforms/widgets.py:170 +msgid "Unknown" +msgstr "Sconosciuto" -#: 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/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Accedi" -#: contrib/admin/templates/registration/password_reset_done.html:12 +#: contrib/admin/views/decorators.py:62 msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." msgstr "" -"Ti abbiamo inviato la nuova password all'indirizzo e-mail da te selezionato. " -"Dovresti riceverla a breve." +"La sessione è scaduta: occorre accedere nuovamente. I dati inseriti sono stati comunque" +"salvati." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/views/decorators.py:69 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." +"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/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Vecchia password:" +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "I nomi utente non possono contenere il carattere '@'." -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Nuova password:" +#: 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/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Conferma password:" +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Amministrazione sito" -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Modifica la mia password" +#: 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/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/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/templates/registration/password_reset_email.html:3 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format -msgid "for your user account at %(site_name)s" -msgstr "per il tuo account utente su %(site_name)s" +msgid "You may add another %s below." +msgstr "È possibile aggiungere un altro %s qui sotto." -#: contrib/admin/templates/registration/password_reset_email.html:5 +#: contrib/admin/views/main.py:289 #, python-format -msgid "Your new password is: %(new_password)s" -msgstr "La tua nuova password è: %(new_password)s" +msgid "Add %s" +msgstr "Aggiungere %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/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Aggiunto %s" -#: 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/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificato %s." -#: 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/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Cancellato %s" -#: contrib/admin/templates/registration/password_reset_email.html:15 +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Nessun campo modificato." + +#: contrib/admin/views/main.py:345 #, python-format -msgid "The %(site_name)s team" -msgstr "Il team di %(site_name)s" +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" è stato modificato correttamente." -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklet" +#: 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/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklet alla documentazione" +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificare %s" -#: 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/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/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentazione per questa pagina" +#: 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/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/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/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostra l'ID dell'oggetto" +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Sei sicuro?" -#: 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/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Tracciato delle modifiche: %s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Modifica quest'oggetto (nella finestra corrente)" +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Seleziona %s" -#: 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/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Seleziona %s per modificare" -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Modifica quest'oggetto (in una nuova finestra)" +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Errore nel database" -#: 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/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tag:" -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Ora:" +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "view:" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Attualmente:" +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Appl. %r non trovata" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modifica:" +#: 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/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigi da" +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "l'oggetto `%s.%s` collegato" -#: 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/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/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigi verso" +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "oggetti `%s.%s` collegati" -#: 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/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "tutti %s" -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redirigi" +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "numero di %s" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirezioni" +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Campi sugli oggetti %s" -#: 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/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/flatpages/models.py:9 -msgid "title" -msgstr "titolo" +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booleano (True o False)" -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenuto" +#: 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/flatpages/models.py:11 -msgid "enable comments" -msgstr "abilita commenti" +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Interi separati da virgola" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nome modello" +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (senza orario)" -#: 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/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (con orario)" -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registrazione obbligatoria" +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Indirizzo e-mail" -#: 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/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/flatpages/models.py:18 -msgid "flat page" -msgstr "pagina statica" +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Numero decimale" -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pagine statiche" +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "indirizzo IP" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nome" +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nome in codice" +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Collegamento a modello padre" -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "permesso" +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Numero di telefono" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "permessi" +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Testo" -#: contrib/auth/models.py:29 -msgid "group" -msgstr "gruppo" +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Orario" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "gruppi" +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nome utente" +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Stato USA (due lettere maiuscole)" -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "nome" +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Testo XML" -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "cognome" +#: 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/auth/models.py:58 -msgid "e-mail address" -msgstr "indirizzo e-mail" +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aggiungi utente" -#: contrib/auth/models.py:59 -msgid "password" -msgstr "password" +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La parola chiave è stata cambiata correttamente." -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Usare '[algo]$[salt]$[hexdigest]'" +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambia la parola chiave: %s" -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "staff" +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Tutte le date" -#: 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/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostra tutto" -#: contrib/auth/models.py:61 -msgid "active" -msgstr "attivo" +#: 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/auth/models.py:62 -msgid "superuser status" -msgstr "superuser" +#: 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/auth/models.py:63 -msgid "last login" -msgstr "ultimo accesso" +#: 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/auth/models.py:64 -msgid "date joined" -msgstr "iscritto da" +#: 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/auth/models.py:66 +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." +"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 "" -"In aggiunta ai permessi assegnati manualmente, l'utente riceverà anche tutti " -"i permessi assegnati ad ogni gruppo cui appartiene." +"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/auth/models.py:67 -msgid "user permissions" -msgstr "permessi utente" +#: 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/auth/models.py:70 -msgid "user" -msgstr "utente" +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Sì, sono sicuro" -#: contrib/auth/models.py:71 -msgid "users" -msgstr "utenti" +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pagina non trovata" -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Informazioni personali" +#: 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/auth/models.py:77 -msgid "Permissions" -msgstr "Permessi" +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Aggiungi" -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Date importanti" +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Storia" -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Gruppi" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Vedi sul sito" -#: contrib/auth/models.py:219 -msgid "message" -msgstr "messaggio" +#: 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/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/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordinamento" -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "nome della classe modello in python" +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Ordine:" -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo di contenuto" +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Per %(filter_title)s " -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipo di contenuti" +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Salva come nuovo" -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "chiave di sessione" +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Salva e aggiungi un altro" -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "dati di sessione" +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Salva e continua le modifiche" -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "data di scadenza" +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Salva" -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "sessione" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Aggiungi %(name)s" -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessioni" +#: 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/sites/models.py:10 -msgid "domain name" -msgstr "nome a dominio" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nome visualizzato" +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" -#: contrib/sites/models.py:15 -msgid "site" -msgstr "sito" +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modifica" -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "siti" +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Non hai i privilegi per modificare alcunché." -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j F Y" +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Azioni Recenti" -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j F Y, H:i" +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Azioni Proprie" -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nessuno disponibile" -#: utils/dates.py:6 -msgid "Monday" -msgstr "Lunedì" +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Amministrazione sito Django" -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "Martedì" +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Amministrazione Django" -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "Mercoledì" +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Data/orario" -#: utils/dates.py:6 -msgid "Thursday" -msgstr "Giovedì" +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Utente" -#: utils/dates.py:6 -msgid "Friday" -msgstr "Venerdì" +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Azione" -#: utils/dates.py:7 -msgid "Saturday" -msgstr "Sabato" +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j F Y, H:i" -#: utils/dates.py:7 -msgid "Sunday" -msgstr "Domenica" +#: 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." -#: utils/dates.py:14 -msgid "January" -msgstr "Gennaio" +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Errore del server" -#: utils/dates.py:14 -msgid "February" -msgstr "Febbraio" +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Errore del server (500)" -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "Marzo" +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Errore del server (500)" -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "Aprile" +#: 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." -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "Maggio" +#: 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." -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "Giugno" +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Vai" -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "Luglio" +#: 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" -#: utils/dates.py:15 -msgid "August" -msgstr "Agosto" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totali" -#: utils/dates.py:15 -msgid "September" -msgstr "Settembre" +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" -#: utils/dates.py:15 -msgid "October" -msgstr "Ottobre" +#: 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:" -#: utils/dates.py:15 -msgid "November" -msgstr "Novembre" +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Parola chiave:" -#: utils/dates.py:16 -msgid "December" -msgstr "Dicembre" +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "Hai dimenticato la parola chiave?" -#: utils/dates.py:19 -msgid "jan" -msgstr "gen" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Benvenuto," -#: utils/dates.py:19 -msgid "feb" -msgstr "feb" +#: 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." -#: utils/dates.py:19 -msgid "mar" -msgstr "mar" +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklet" -#: utils/dates.py:19 -msgid "apr" -msgstr "apr" +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklet alla documentazione" -#: utils/dates.py:19 -msgid "may" -msgstr "mag" +#: 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" -#: utils/dates.py:19 -msgid "jun" -msgstr "giu" +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentazione per questa pagina" -#: utils/dates.py:20 -msgid "jul" -msgstr "lug" +#: 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." -#: utils/dates.py:20 -msgid "aug" -msgstr "ago" +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostra l'ID dell'oggetto" -#: utils/dates.py:20 -msgid "sep" -msgstr "set" +#: 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." -#: utils/dates.py:20 -msgid "oct" -msgstr "ott" +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Modifica quest'oggetto (nella finestra corrente)" -#: utils/dates.py:20 -msgid "nov" -msgstr "nov" +#: 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." -#: utils/dates.py:20 -msgid "dec" -msgstr "dic" +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Modifica quest'oggetto (in una nuova finestra)" -#: utils/dates.py:27 -msgid "Jan." -msgstr "Gen." +#: 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." -#: utils/dates.py:27 -msgid "Feb." -msgstr "Feb." +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" -#: utils/dates.py:28 -msgid "Aug." -msgstr "Ago." +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Orario:" -#: utils/dates.py:28 -msgid "Sept." -msgstr "Set." +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Attualmente:" -#: utils/dates.py:28 -msgid "Oct." -msgstr "Ott." +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modifica:" -#: utils/dates.py:28 -msgid "Nov." -msgstr "Nov." +#: 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" -#: utils/dates.py:28 -msgid "Dec." -msgstr "Dic." +#: 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." -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "anno" -msgstr[1] "anni" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Indirizzo e-mail:" -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "mese" -msgstr[1] "mesi" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Reimposta la mia parola chiave" -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "settimana" -msgstr[1] "settimane" +#: 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" +msgstr "ID dell'oggetto" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "intestazione" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "commento" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "valutazione #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "valutazione #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "valutazione #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "valutazione #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "valutazione #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "valutazione #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "valutazione #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "valutazione #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "è una valutazione valida" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "data/orario di inserimento" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "è pubblico" + +#: contrib/comments/models.py:86 +msgid "is removed" +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 "Spuntare la casella se il commento è inappropriato. Verrà sostituito dal messaggio \"Questo commento è stato rimosso\"." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "commenti" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Oggetto con contenuto" + +#: 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 "" +"Inserito da %(user)s il %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "nome della persona" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "indirizzo IP" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "approvato dallo staff" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "commento libero" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "commenti liberi" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "punteggio" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "data punteggio" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "livello karma" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "livelli karma" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "valutazione: %(score)d da %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"A questo commento è stato apposto un flag da %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "data flag" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "flag utente" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "flag utente" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Flag da %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "data cancellazione" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "cancellazione da moderatore" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "cancellazioni da moderatore" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Cancellazione da moderatore %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Gli utenti anonimi non possono votare" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID commento non valido" -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "giorno" -msgstr[1] "giorni" +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Impossibile votare per se stessi" -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "ora" -msgstr[1] "ore" +#: 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." -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minuto" -msgstr[1] "minuti" +#: 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] "" +"Questo commento è stato inserito da un utente autore di meno di %(count)s commento:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Questo commento è stato inserito da un utente autore di meno di %(count)s commenti:\n" +"\n" +"%(text)s" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengali" +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Questo commento è stato inserito da un utente non confermato:\n" +"\n" +"%(text)s" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Ceco" +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Sono ammessi solo POST" -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Gallese" +#: 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ù campi richiesti non sono stati inseriti" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danese" +#: 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)" -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tedesco" +#: 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" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Greco" +#: 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 né 'anteprima' né 'invia'" -#: conf/global_settings.py:43 -msgid "English" -msgstr "Inglese" +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Hai dimenticato la parola chiave?" -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spagnolo" +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Valutazioni" -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francese" +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Obbligatorio" -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galiziano" +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Facoltativo" -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Ungherese" +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Invia una foto" -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Ebreo" +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Commento:" -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandese" +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Anteprima commento" -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italiano" +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Il suo nome:" -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Giapponese" +#: 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." -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Olandese" +#: 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." -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norvegese" +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "chiave di sessione" -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasiliano" +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "dati di sessione" -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumeno" +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "data di scadenza" -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Russo" +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "sessione" -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovacco" +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sessioni" -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Sloveno" +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "nome della classe modello in Python" -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbo" +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "content type" -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svedese" +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "content type" -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ucraino" +#: 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." -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Cinese semplificato" +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "Non sono ammessi a capo manuali." -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Cinese tradizionale" +#: 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." -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Sono ammesse solo lettere, numeri e sottolineature ('_')." +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "Il file inviato è vuoto." -#: 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 ('/')." +#: 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." -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Non sono ammesse lettere maiuscole." +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Inserire un numero positivo." -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Non sono ammesse lettere minuscole." +#: 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." -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Inserire solo numeri separati da virgole." +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s è stato creato correttamente." -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Inserire indirizzi e-mail validi separati da virgole." +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s è stato aggiornato correttamente." -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Inserire un indirizzo IP valido." +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s è stato cancellato." -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "E' necessario inserire un valore." +#: utils/dates.py:6 +msgid "Monday" +msgstr "Lunedì" -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Sono ammessi soltanto caratteri numerici." +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Martedì" -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Il valore non può essere composto solo da cifre." +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Mercoledì" -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Inserire un numero." +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Giovedì" -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Sono ammessi solo caratteri alfabetici." +#: utils/dates.py:6 +msgid "Friday" +msgstr "Venerdì" -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Inserire un data valida in formato AAAA-MM-GG." +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sabato" -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Inserire un orario valido in formato OO:MM." +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Domenica" -#: 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." +#: utils/dates.py:14 +msgid "January" +msgstr "Gennaio" -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Inserire un indirizzo e-mail valido." +#: utils/dates.py:14 +msgid "February" +msgstr "Febbraio" -#: 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." +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Marzo" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Aprile" -#: 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." +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Maggio" -#: 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." +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Giugno" -#: 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." +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Luglio" -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Inserire un URL valido." +#: utils/dates.py:15 +msgid "August" +msgstr "Agosto" -#: 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" +#: utils/dates.py:15 +msgid "September" +msgstr "Settembre" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML malformato: %s" +#: utils/dates.py:15 +msgid "October" +msgstr "Ottobre" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL non valida: %s" +#: utils/dates.py:15 +msgid "November" +msgstr "Novembre" -#: 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." +#: utils/dates.py:16 +msgid "December" +msgstr "Dicembre" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Inserire un nome di stato americano abbreviato valido." +#: utils/dates.py:19 +msgid "jan" +msgstr "gen" -#: 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." +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Questo campo deve corrispondere al campo '%s'." +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Inserire qualcosa in almeno un campo." +#: utils/dates.py:19 +msgid "apr" +msgstr "apr" -#: 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." +#: utils/dates.py:19 +msgid "may" +msgstr "mag" -#: 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" +#: utils/dates.py:19 +msgid "jun" +msgstr "giu" -#: 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" +#: utils/dates.py:20 +msgid "jul" +msgstr "lug" -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Non sono ammessi valori duplicati." +#: utils/dates.py:20 +msgid "aug" +msgstr "ago" -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Il valore deve essere una potenza di %s." +#: utils/dates.py:20 +msgid "sep" +msgstr "set" -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Inserire un numero decimale valido." +#: utils/dates.py:20 +msgid "oct" +msgstr "ott" -#: 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." +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" -#: 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." +#: utils/dates.py:20 +msgid "dec" +msgstr "dic" -#: 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." +#: utils/dates.py:27 +msgid "Jan." +msgstr "Gen." -#: 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." +#: utils/dates.py:27 +msgid "Feb." +msgstr "Feb." -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formato del file non valido." +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ago." -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Il campo non è valido." +#: utils/dates.py:28 +msgid "Sept." +msgstr "Set." -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Impossibile recuperare alcunché da %s." +#: utils/dates.py:28 +msgid "Oct." +msgstr "Ott." -#: 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'." +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." -#: 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\".)" +#: utils/dates.py:28 +msgid "Dec." +msgstr "Dic." -#: 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\".)" +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "anno" +msgstr[1] "anni" -#: 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\".)" +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mese" +msgstr[1] "mesi" -#: 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\".)" +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "settimana" +msgstr[1] "settimane" -#: 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\".)" +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "giorno" +msgstr[1] "giorni" -#: 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\".)" +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "ora" +msgstr[1] "ore" -#: 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." +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minuti" -#: 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à." +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j F Y" -#: 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." +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j F Y, H:i" -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Il valore deve essere un intero." +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "H:i" -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Il valore deve essere True o False." +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "Y F" -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Il campo non può essere nullo." +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Inserire un nome file valido." +#: template/defaultfilters.py:490 +msgid "yes,no,maybe" +msgstr "sì,no,forse" -#: db/models/fields/related.py:43 +#: newforms/fields.py:101 newforms/fields.py:254 #, 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." +msgid "Ensure this value has at most %d characters." +msgstr "Assicurarsi che questo valore non contenga più di %d caratteri." -#: 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." +#: 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." -#: db/models/fields/related.py:625 +#: newforms/fields.py:128 #, 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." +msgid "Ensure this value is less than or equal to %s." +msgstr "Assicurarsi che questo valore sia minore o uguale a %s." -#: forms/__init__.py:380 +#: newforms/fields.py:130 #, 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." +msgid "Ensure this value is greater than or equal to %s." +msgstr "Assicurarsi che questo valore sia maggiore o uguale a %s." -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Non è ammesso andare a capo." +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Inserire una data valida." -#: 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." +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Inserire un orario valido." -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Il file sottomesso è vuoto." +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Inserire una coppia data/orario valida." -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Inserire un numero tra -32768 e 32767." +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Inserire un valore valido." -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Inserire un numero positivo." +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Inserire una URL valida." -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Inserire un numero compreso tra 0 e 32767." +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Questa URL non sembra funzionare." -#: template/defaultfilters.py:379 -msgid "yes,no,maybe" -msgstr "sì,no,forse" +#: 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 2df21b6558..c34009f148 100644 Binary files a/django/conf/locale/it/LC_MESSAGES/djangojs.mo and b/django/conf/locale/it/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/it/LC_MESSAGES/djangojs.po b/django/conf/locale/it/LC_MESSAGES/djangojs.po index 4b68decff2..4f01cd04a0 100644 --- a/django/conf/locale/it/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/it/LC_MESSAGES/djangojs.po @@ -1,20 +1,39 @@ +# translation of djangojs.po to Italiano # Italian translation for the django-admin JS files # Copyright (C) 2006 the Lawrence Journal-World # This file is distributed under the same license as the Django package. -# Carlo C8E Miron , 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 0000000000..51e9ab5fbc Binary files /dev/null and b/django/conf/locale/kn/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/kn/LC_MESSAGES/django.po b/django/conf/locale/kn/LC_MESSAGES/django.po new file mode 100644 index 0000000000..b8adeb2c43 --- /dev/null +++ b/django/conf/locale/kn/LC_MESSAGES/django.po @@ -0,0 +1,2533 @@ +# Kannada translation of Django. +# Copyright (C) 2007 Translation Team +# 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 0000000000..cbb9fb5ffc Binary files /dev/null and b/django/conf/locale/kn/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/kn/LC_MESSAGES/djangojs.po b/django/conf/locale/kn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..38b4a6d341 --- /dev/null +++ b/django/conf/locale/kn/LC_MESSAGES/djangojs.po @@ -0,0 +1,116 @@ +# 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. +# +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 e9bffbb85b..5ab5aa6cbb 100644 Binary files a/django/conf/locale/mk/LC_MESSAGES/django.mo and b/django/conf/locale/mk/LC_MESSAGES/django.mo differ 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“)." - -#~ msgid "Have you forgotten your password?" -#~ msgstr "" -#~ "Дали ја заборавите вашата лозинката?" +msgstr "Атрибутот „%(attr)s“ на линијата %(line)s има неправилна вредност (линијата започнува со „%(start)s“)." -#~ 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 7053d95b4f..64971dc55e 100644 Binary files a/django/conf/locale/mk/LC_MESSAGES/djangojs.mo and b/django/conf/locale/mk/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/mk/LC_MESSAGES/djangojs.po b/django/conf/locale/mk/LC_MESSAGES/djangojs.po index 28e7e9a5e8..0c06326fd5 100644 --- a/django/conf/locale/mk/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/mk/LC_MESSAGES/djangojs.po @@ -1,12 +1,12 @@ # translation of djangojs.po to Macedonian # -# Georgi Stanojevski , 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 12253610c4..a96fd554ef 100644 Binary files a/django/conf/locale/sl/LC_MESSAGES/django.mo and b/django/conf/locale/sl/LC_MESSAGES/django.mo differ 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,15 +235,15 @@ msgstr[0] "" "\n" "%(text)s" msgstr[1] "" -"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentar:\n" +"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarja:\n" "\n" "%(text)s" msgstr[2] "" -"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarja:\n" +"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 komentarje:\n" +"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarjev:\n" "\n" "%(text)s" @@ -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 06ac3cde5a..c942838b09 100644 Binary files a/django/conf/locale/sr/LC_MESSAGES/django.mo and b/django/conf/locale/sr/LC_MESSAGES/django.mo differ 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" - -#: 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 +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 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 4ae94424df..d4036a893e 100644 Binary files a/django/conf/locale/sr/LC_MESSAGES/djangojs.mo and b/django/conf/locale/sr/LC_MESSAGES/djangojs.mo differ 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 d5c41f4b56..06272d9843 100644 Binary files a/django/conf/locale/sv/LC_MESSAGES/django.mo and b/django/conf/locale/sv/LC_MESSAGES/django.mo differ 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,1034 +1,1216 @@ # 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 -msgid "object ID" -msgstr "objektets ID" +#: 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." -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "rubrik" +#: 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." -#: contrib/comments/models.py:69 -#: contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "kommentar" +#: oldforms/__init__.py:392 +msgid "Line breaks are not allowed here." +msgstr "Radbrytningar är inte tillåtna här." -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "betyg #1" +#: 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." -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "betyg #2" +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Okänt" -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "betyg #3" +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Ja" -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "betyg #4" +#: oldforms/__init__.py:572 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Nej" -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "betyg #5" +#: 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." -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "betyg #6" +#: oldforms/__init__.py:669 +msgid "The submitted file is empty." +msgstr "Den insända filen är tom." -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "betyg #7" +#: oldforms/__init__.py:725 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Fyll i ett heltal mellan -32768 och 32767." -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "betyg #8" +#: oldforms/__init__.py:735 +msgid "Enter a positive number." +msgstr "Fyll i ett positivt heltal." -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "är ett giltigt betyg" +#: oldforms/__init__.py:745 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Fyll i ett heltal mellan 0 och 32767." -#: contrib/comments/models.py:83 -#: contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "datum/tid postat" +#: 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." -#: contrib/comments/models.py:84 -#: contrib/comments/models.py:170 -msgid "is public" -msgstr "är offentligt" +#: 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" -#: contrib/comments/models.py:85 -#: contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "IP-adress" +#: 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." -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "är borttaget" +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Det här värdet måste vara ett heltal." -#: 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" +#: 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" -#: contrib/comments/models.py:91 -msgid "comments" -msgstr "kommentarer" +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Det här fältet får inte vara null." -#: contrib/comments/models.py:131 -#: contrib/comments/models.py:207 -msgid "Content object" -msgstr "Innehållsobjekt" +#: 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." -#: contrib/comments/models.py:159 +#: 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 "" -"Posted by %(user)s at %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" -msgstr "" -"Postat av %(user)s %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" +msgid "Please enter a valid %s." +msgstr "Var god fyll i ett giltigt %s." -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "personens namn" +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separera flera ID:n med kommatecken." -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "IP-adress" +#: 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." -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "godkänd av personal" +#: 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." -#: contrib/comments/models.py:176 -msgid "free comment" -msgstr "frigör kommentar" +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabiska" -#: contrib/comments/models.py:177 -msgid "free comments" -msgstr "frigör kommentarer" +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengaliska" -#: contrib/comments/models.py:233 -msgid "score" -msgstr "poäng" +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Katalanska" -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "poängens datum" +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tjeckiska" -#: contrib/comments/models.py:237 -msgid "karma score" -msgstr "karmapoäng" +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Walesiska" -#: contrib/comments/models.py:238 -msgid "karma scores" -msgstr "karmapoäng" +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Danska" -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "Betyget %(score)d av %(user)s" +#: conf/global_settings.py:45 +msgid "German" +msgstr "Tyska" -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Den här kommentaren flaggades av %(user)s:\n" -"\n" -"%(text)s" +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grekiska" -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "flaggdatum" +#: conf/global_settings.py:47 +msgid "English" +msgstr "Engelska" -#: contrib/comments/models.py:268 -msgid "user flag" -msgstr "användares flagga" +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spanska" -#: contrib/comments/models.py:269 -msgid "user flags" -msgstr "användares flaggor" +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Argentisk Spanska" -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Flaggad av %r" +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finska" -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "borttagningsdatum" +#: conf/global_settings.py:51 +msgid "French" +msgstr "Franska" -#: contrib/comments/models.py:280 -msgid "moderator deletion" -msgstr "Moderators borttagning" +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galisiska" -#: contrib/comments/models.py:281 -msgid "moderator deletions" -msgstr "moderatorers borttagningar" +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungerska" -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Moderatorborttagning av %r" +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebreiska" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Anonyma användare kan inte rösta" +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Isländska" -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "Kommentaren har ett ogiltigt ID" +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italienska" -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Du får inte rösta på dig själv" +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japanska" -#: contrib/comments/views/comments.py:28 -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." +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" -#: 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)sThis comment was posted by a user who has posted fewer than %(count)s comments:\n" -"\n" -"%(text)s" -msgstr "" -"Den här kommentaren postades av en användare som har postat färre än %(count)s kommentar:\n" -"\n" -"%(text)sDen här kommentaren postades av en användare som har postat färre än %(count)s kommentarer:\n" -"\n" -"%(text)s" +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Lettiska" -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Den här kommentaren postades av en oseriös användare:\n" -"\n" -"%(text)s" +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Makedonska" -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Endast POSTningar är tillåtna" +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Holländska" -#: contrib/comments/views/comments.py:193 -#: 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" +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norska" -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Någon fifflade med kommenteringsformuläret (säkerhetsbrott)" +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polska" -#: 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 "Kommenteringsformuläret har en ogiltig 'target'-parameter -- objektets ID är ogiltigt" +#: conf/global_settings.py:64 +msgid "Brazilian" +msgstr "Brasilianska" -#: 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'" +#: conf/global_settings.py:65 +msgid "Romanian" +msgstr "Rumänska" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Användarnamn:" +#: conf/global_settings.py:66 +msgid "Russian" +msgstr "Ryska" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Lösenord:" +#: conf/global_settings.py:67 +msgid "Slovak" +msgstr "Slovakiska" -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Glömt ditt lösenord?" +#: conf/global_settings.py:68 +msgid "Slovenian" +msgstr "Slovenska" -#: 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 "Logga ut" +#: conf/global_settings.py:69 +msgid "Serbian" +msgstr "Serbiska" -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Betyg" +#: conf/global_settings.py:70 +msgid "Swedish" +msgstr "Svenska" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Obligatorisk" +#: conf/global_settings.py:71 +msgid "Tamil" +msgstr "Tamil" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Valfri" +#: conf/global_settings.py:72 +msgid "Turkish" +msgstr "Turkiska" -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Lägg till foto" +#: conf/global_settings.py:73 +msgid "Ukrainian" +msgstr "Ukrainska" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Kommentar:" +#: conf/global_settings.py:74 +msgid "Simplified Chinese" +msgstr "Förenklad Kinesiska" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Förhandsgranska kommentar" +#: conf/global_settings.py:75 +msgid "Traditional Chinese" +msgstr "Traditionell Kinesiska" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Ditt namn:" +#: 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." -#: contrib/admin/filterspecs.py:40 -#, python-format +#: core/validators.py:68 msgid "" -"

                          By %s:

                          \n" -"
                            \n" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." msgstr "" -"

                            Av %s:

                            \n" -"
                              \n" - -#: contrib/admin/filterspecs.py:70 -#: contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "Alla" +"Det här värdet får bara innehålla bokstäver, siffror, understräck, sträck " +"och snedsträck" -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Alla datum" +#: 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 ." -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Idag" +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Stora bokstäver är inte tillåtna här." -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "Senaste 7 dagarna" +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Små bokstäver är inte tillåtna här." -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Den här månaden" +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Fyll enbart i siffror avskilda med kommatecken." -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Det här året" +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Fyll i giltiga e-postadresser avskilda med kommatecken." -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Ja" +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Var god fyll i en giltigt IP-adress." -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nej" +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Tomma värden är inte tillåtna här." -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Okänt" +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Icke-numeriska tecken är inte tillåtna här." -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "tid för händelse" +#: 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." -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "objektets id" +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Fyll i ett heltal." -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "objektets beskrivning" +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Endast bokstäver är tillåtna här." -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "händelseflagga" +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Årtal måste vara 1900 eller senare." -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "ändra meddelande" +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s." +msgstr "Felaktigt datum: %s" -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "loggpost" +#: core/validators.py:152 +msgid "Enter a valid time in HH:MM format." +msgstr "Fyll i en giltig tid i formatet HH:MM" -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "loggposter" +#: core/validators.py:161 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Fyll i en giltig e-postadress." -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Alla datum" +#: 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." -#: 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." +#: 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." -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Logga in" +#: 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." -#: 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." +#: 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." -#: 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." +#: core/validators.py:200 +msgid "A valid URL is required." +msgstr "En giltig URL krävs." -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Användarnamn kan inte innehålla tecknet '@'." +#: 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" -#: contrib/admin/views/decorators.py:84 +#: core/validators.py:221 #, 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." +msgid "Badly formed XML: %s" +msgstr "Missformad XML: %s" -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Administration" +#: core/validators.py:238 +#, python-format +msgid "Invalid URL: %s" +msgstr "Felaktig URL: %s" -#: contrib/admin/views/main.py:260 +#: core/validators.py:243 core/validators.py:245 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)set \"%(obj)s\" lades till." +msgid "The URL %s is a broken link." +msgstr "URL:en %s är en trasig länk." -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Du kan ändra det igen här under." +#: core/validators.py:251 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Fyll i en giltig förkortning för en amerikansk delstat" -#: contrib/admin/views/main.py:272 -#: contrib/admin/views/main.py:357 +#: core/validators.py:265 #, python-format -msgid "You may add another %s below." -msgstr "Du kan lägga till en till %s här under" +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." -#: contrib/admin/views/main.py:290 +#: core/validators.py:272 #, python-format -msgid "Add %s" -msgstr "Lägg till %s" +msgid "This field must match the '%s' field." +msgstr "Det här fältet måste matcha fältet '%s'." -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Lade till %s." +#: core/validators.py:291 +msgid "Please enter something for at least one field." +msgstr "Fyll i något i minst ett fält." -#: contrib/admin/views/main.py:336 -#: contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "och" +#: 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" -#: contrib/admin/views/main.py:338 +#: core/validators.py:319 #, python-format -msgid "Changed %s." -msgstr "Ändrade %s." +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" -#: contrib/admin/views/main.py:340 +#: core/validators.py:332 #, python-format -msgid "Deleted %s." -msgstr "Tog bort %s." +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" -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "Inga fält ändrade." +#: core/validators.py:351 +msgid "Duplicate values are not allowed." +msgstr "Upprepade värden är inte tillåtna." -#: contrib/admin/views/main.py:346 +#: core/validators.py:366 #, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)set \"%(obj)s\" ändrades." +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." -#: contrib/admin/views/main.py:354 +#: core/validators.py:368 #, 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." +msgid "This value must be at least %s." +msgstr "Det här värdet måste minsta vara %s." -#: contrib/admin/views/main.py:392 +#: core/validators.py:370 #, python-format -msgid "Change %s" -msgstr "Ändra %s" +msgid "This value must be no more than %s." +msgstr "Det här värdet får inte vara mer än %s." -#: contrib/admin/views/main.py:470 +#: core/validators.py:406 #, 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 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Ett eller flera %(fieldname)s i %(name)s:" +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." -#: contrib/admin/views/main.py:508 +#: core/validators.py:421 #, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)set \"%(obj)s\" togs bort." +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." -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Är du säker?" +#: 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." -#: contrib/admin/views/main.py:533 +#: core/validators.py:427 #, python-format -msgid "Change history: %s" -msgstr "Ändra historien: %s" +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." -#: contrib/admin/views/main.py:565 +#: core/validators.py:437 #, python-format -msgid "Select %s" -msgstr "Välj %s" +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." -#: contrib/admin/views/main.py:565 +#: core/validators.py:438 #, python-format -msgid "Select %s to change" -msgstr "Välj %s att ändra" +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." -#: 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 "Heltal" +#: core/validators.py:455 +msgid "The format for this field is wrong." +msgstr "Formatet på det här fältet är fel." -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Boolesk (antingen Sann eller Falsk)" +#: core/validators.py:470 +msgid "This field is invalid." +msgstr "Det här fältet är ogiltigt." -#: contrib/admin/views/doc.py:279 -#: contrib/admin/views/doc.py:296 +#: core/validators.py:506 #, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Sträng (upp till %(maxlength)s)" - -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Komma-separerade heltal" +msgid "Could not retrieve anything from %s." +msgstr "Kunde inte hämta något från %s." -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Datum (utan tid)" +#: 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'" -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Datum (med tid)" +#: 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\".)" -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "E-postadress:" +#: 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\".)" -#: contrib/admin/views/doc.py:284 -#: contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Sökväg" +#: 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\".)" -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "decemaltal" +#: 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\".)" -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Boolesk (antingen Sann, Falsk eller Inget)" +#: 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\".)" -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relation till förälder" +#: 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\".)" -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Telefonnummer" +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s skapades framgångsrikt." -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Text" +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr " %(verbose_name)s uppdaterades framgångsrikt." -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Tid" +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s togs bort." -#: contrib/admin/views/doc.py:300 -#: contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" +#: 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." -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Stat i USA (två stora bokstäver)" +#: 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." -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "XML-text" +#: 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." -#: 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 "Dokumentation" +#: 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." -#: 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 "Ändra lösenord" +#: 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." -#: 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 "Hem" +#: 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." -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Historik" +#: 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." -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Datum/tid" +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Fyll i ett giltigt datum." -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Användare" +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Fyll i en giltig tid." -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Händelse" +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Fyll i ett giltigt datum/tid." -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "D j F Y, H:i:s" +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Fyll i ett giltigt värde." -#: 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" +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Fyll i ett giltigt URL." -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Djangos sidadministration" +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Detta URL verkar vara en trasig länk." -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administration för Django" +#: contrib/contenttypes/models.py:26 +msgid "python model class name" +msgstr "python model class namn" -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Serverfel" +#: contrib/contenttypes/models.py:29 +msgid "content type" +msgstr "innehållstyp" -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Serverfel (500)" +#: contrib/contenttypes/models.py:30 +msgid "content types" +msgstr "innehållstyper" -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Serverfel (500)" +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Utloggad" -#: 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." +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "namn" -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Sidan kunde inte hittas" +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "kodnamn" -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Vi är ledsna, men den efterfrågade sidan kunde inte hittas." +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "rättighet" -#: 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" +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "rättigheter" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Lägg till" +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grupp" -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Ändra" +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "grupper" -#: 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." +#: contrib/auth/models.py:90 +msgid "username" +msgstr "användarnamn" -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Senaste händelserna" +#: 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/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mina händelser" +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "förnamn" -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Inga tillgängliga" +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "efternamn" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Lägg till %(name)s" +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-postadress" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Har du glömt ditt lösenord?" +#: contrib/auth/models.py:94 +msgid "password" +msgstr "lösenord" -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Välkommen," +#: 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/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Ta bort" +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "personalstatus" -#: 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:" +#: 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/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:" +#: contrib/auth/models.py:96 +msgid "active" +msgstr "aktiv" -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Ja, jag är säker" +#: 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/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/auth/models.py:97 +msgid "superuser status" +msgstr "superanvändare" -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Spara som ny" +#: 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/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Spara och lägg till ytterligare en" +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "senaste inloggning" -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Spara och fortsätt redigera" +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "registreringsdatum" -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Spara" +#: 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/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 "Ändra lösenord" +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "användarättigheter" -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Lösenordet ändrades" +#: contrib/auth/models.py:105 +msgid "user" +msgstr "användare" -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Ditt lösenord har ändrats." +#: contrib/auth/models.py:106 +msgid "users" +msgstr "användare" -#: 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 "Nollställ lösenordet" +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Personlig information" -#: 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." +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Rättigheter" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "E-postadress:" +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Viktiga datum" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Nollställ mitt lösenord" +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupper" -#: 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." +#: contrib/auth/models.py:258 +msgid "message" +msgstr "meddelande" -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Logga in igen" +#: 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/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Nollställning av lösenordet lyckades" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "En användare med det användarnamnet finns redan." -#: 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." +#: 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/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." +#: 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/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Gamla lösenordet:" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Detta konto är inaktivt." -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Nytt lösenord:" +#: 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/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Bekräfta lösenord:" +#: 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/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Ändra mitt lösenord" +#: 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/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Du får det här mailet eftersom du bad om att få lösenordet nollställt" +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "vidarebefordra från" -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "för ditt användarkonto på %(site_name)s" +#: 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/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Ditt nya lösenord är: %(new_password)s" +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "vidarebefordra till" -#: 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:" +#: 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/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Ditt användarnamn, om du har glömt:" +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "vidarebefordra" -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Tack för att du använder vår sida!" +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "vidarebefordringar" -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s-laget" +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "objektets ID" -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Smarta bokmärken" +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "rubrik" -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Smarta bokmärken för dokumentation" +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "kommentar" -#: 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" -"

                              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" +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "betyg #1" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Dokumentation för den här sidan" +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "betyg #2" -#: 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." +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "betyg #3" -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Visa objektets id" +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "betyg #4" -#: 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." +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "betyg #5" -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Redigera det här objektet (nuvarande fönster)" +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "betyg #6" -#: 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." +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "betyg #7" -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Redigera det här objektet (nytt fönster)" +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "betyg #8" -#: 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." +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "är ett giltigt betyg" -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Datum:" +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "datum/tid postat" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Tid:" +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "är offentligt" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Nuvarande:" +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP-adress" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Ändra:" +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "är borttaget" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "vidarebefodra från" +#: 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" -#: 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/comments/models.py:91 +msgid "comments" +msgstr "kommentarer" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "vidarebefodra till" +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Innehållsobjekt" -#: 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/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 "" +"Postat av %(user)s %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "vidarebefodra" +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "personens namn" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "vidarebefodringar" +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "IP-adress" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "godkänd av personal" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "fri kommentar" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "fria kommentarer" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "poäng" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "poängdatum" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "karmapoäng" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "karmapoäng" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "Betyget %(score)d av %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Den här kommentaren flaggades av %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "flaggdatum" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "användares flagga" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "användares flaggor" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Flaggad av %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "borttagnings-datum" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "moderator-borttagning" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "moderator-borttagningar" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Moderator-borttagning av %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Anonyma användare kan inte rösta" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment 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: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: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] "" +"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:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Den här kommentaren postades av en oseriös användare:\n" +"\n" +"%(text)s" + +#: 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:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Ett eller flera av de obligatoriska fälten var inte ifyllda" + +#: 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 kommentarformuläret (säkerhetsbrott)" + +#: 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 "" +"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 "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 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Användarnamn:" + +#: 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/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 +#: 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 "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" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Obligatorisk" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Valfri" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Lägg till foto" + +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" #: contrib/flatpages/models.py:8 msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." @@ -1051,8 +1233,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'." +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" @@ -1070,819 +1256,1089 @@ msgstr "flatsida" msgid "flat pages" msgstr "flatsidor" -#: contrib/auth/models.py:13 -#: contrib/auth/models.py:26 -msgid "name" -msgstr "namn" +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "sessionsnyckel" -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "kodnamn" +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "sessionsdata" -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "rättighet" +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "utgångsdatum" -#: contrib/auth/models.py:18 -#: contrib/auth/models.py:27 -msgid "permissions" -msgstr "rättigheter" +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "session" -#: contrib/auth/models.py:29 -msgid "group" -msgstr "grupp" +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sessioner" -#: contrib/auth/models.py:30 -#: contrib/auth/models.py:65 -msgid "groups" -msgstr "grupper" +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "domännamn" -#: contrib/auth/models.py:55 -msgid "username" -msgstr "användarnamn" +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "visat namn" -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "förnamn" +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sida" -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "efternamn" +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sidor" -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "e-postadress" +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                              By %s:

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

                                Av %s:

                                \n" +"
                                  \n" -#: contrib/auth/models.py:59 -msgid "password" -msgstr "lösenord" +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Alla" -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Använd '[algo]$[salt]$[hexdigest]'" +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Alla datum" -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "personalstatus" +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Idag" -#: 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/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Senaste 7 dagarna" -#: contrib/auth/models.py:61 -msgid "active" -msgstr "aktiv" +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Den här månaden" -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "superanvändare" +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Det här året" -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "senaste inloggning" +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "händelsetid" -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "registreringsdatum" +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "objektets id" -#: 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/admin/models.py:20 +msgid "object repr" +msgstr "objektets beskrivning" -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "användarättigheter" +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "händelseflagga" -#: contrib/auth/models.py:70 -msgid "user" -msgstr "användare" +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "ändra meddelande" -#: contrib/auth/models.py:71 -msgid "users" -msgstr "användare" +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "loggpost" -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Personlig information" +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "loggposter" -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Rättigheter" +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Alla datum" -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Viktiga datum" +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Logga in" -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupper" +#: 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/auth/models.py:219 -msgid "message" -msgstr "meddelande" +#: 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/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/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Användarnamn kan inte innehålla tecknet '@'." -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "python model class namn" +#: 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/contenttypes/models.py:28 -msgid "content type" -msgstr "innehållstyp" +#: 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/contenttypes/models.py:29 -msgid "content types" -msgstr "innehållstyper" +#: 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/sessions/models.py:35 -msgid "session key" -msgstr "sessionsnyckel" +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Lägg till användare" -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "sessionsdata" +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Lösenordet ändrades framgångsrikt." -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "utgångsdatum" +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Ändra lösenord: %s" -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "session" +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Administration" -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessioner" +#: 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." -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "domännamn" +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Lägg till %s" -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "visat namn" +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Lade till %s." -#: contrib/sites/models.py:15 -msgid "site" -msgstr "hemsida" +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Ändrade %s." -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "hemsidor" +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Tog bort %s." -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "Y-m-d" +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Inga fält ändrade." -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "Y-m-d, H:i" +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)set \"%(obj)s\" ändrades." -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i: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)set \"%(obj)s\" lades till. Du kan ändra det igen här under." -#: utils/dates.py:6 -msgid "Monday" -msgstr "måndag" +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Ändra %s" -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "tisdag" +#: 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" -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "onsdag" +#: 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:" -#: utils/dates.py:6 -msgid "Thursday" -msgstr "torsdag" +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)set \"%(obj)s\" togs bort." -#: utils/dates.py:6 -msgid "Friday" -msgstr "fredag" +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Är du säker?" -#: utils/dates.py:7 -msgid "Saturday" -msgstr "lördag" +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Ändra historien: %s" -#: utils/dates.py:7 -msgid "Sunday" -msgstr "söndag" +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Välj %s" -#: utils/dates.py:14 -msgid "January" -msgstr "januari" +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Välj %s att ändra" -#: utils/dates.py:14 -msgid "February" -msgstr "februari" +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Databas fel" -#: utils/dates.py:14 -#: utils/dates.py:27 -msgid "March" -msgstr "mars" +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tagg:" -#: utils/dates.py:14 -#: utils/dates.py:27 -msgid "April" -msgstr "april" +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filter:" -#: utils/dates.py:14 -#: utils/dates.py:27 -msgid "May" -msgstr "maj" +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "Vy:" -#: utils/dates.py:14 -#: utils/dates.py:27 -msgid "June" -msgstr "juni" +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Applikation %r hittades inte" -#: utils/dates.py:15 -#: utils/dates.py:27 -msgid "July" -msgstr "juli" +#: 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" -#: utils/dates.py:15 -msgid "August" -msgstr "augusti" +#: 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" -#: utils/dates.py:15 -msgid "September" -msgstr "september" +#: 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:" -#: utils/dates.py:15 -msgid "October" -msgstr "oktober" +#: 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" -#: utils/dates.py:15 -msgid "November" -msgstr "november" +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "alla %s" -#: utils/dates.py:16 -msgid "December" -msgstr "december" +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "antal %s" -#: utils/dates.py:19 -msgid "jan" -msgstr "jan" +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Fält på %s objekt" -#: utils/dates.py:19 -msgid "feb" -msgstr "feb" +#: 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" -#: utils/dates.py:19 -msgid "mar" -msgstr "mars" +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Boolesk (antingen Sann eller Falsk)" -#: utils/dates.py:19 -msgid "apr" -msgstr "apr" +#: 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)" -#: utils/dates.py:19 -msgid "may" -msgstr "maj" +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Komma-separerade heltal" -#: utils/dates.py:19 -msgid "jun" -msgstr "juni" +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Datum (utan tid)" -#: utils/dates.py:20 -msgid "jul" -msgstr "juli" +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Datum (med tid)" -#: utils/dates.py:20 -msgid "aug" -msgstr "aug" +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "E-postadress:" -#: utils/dates.py:20 -msgid "sep" -msgstr "sept" +#: 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" -#: utils/dates.py:20 -msgid "oct" -msgstr "okt" +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Decimaltal" -#: utils/dates.py:20 -msgid "nov" -msgstr "nov" +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Boolesk (antingen Sann, Falsk eller Inget)" -#: utils/dates.py:20 -msgid "dec" -msgstr "dec" +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relation till förälder modell" -#: utils/dates.py:27 -msgid "Jan." -msgstr "jan" +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Telefonnummer" -#: utils/dates.py:27 -msgid "Feb." -msgstr "feb" +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Text" -#: utils/dates.py:28 -msgid "Aug." -msgstr "aug" +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Tid" -#: utils/dates.py:28 -msgid "Sept." -msgstr "sept" +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Stat i USA (två stora bokstäver)" -#: utils/dates.py:28 -msgid "Oct." -msgstr "okt" +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML-text" -#: utils/dates.py:28 -msgid "Nov." -msgstr "nov" +#: 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" -#: utils/dates.py:28 -msgid "Dec." -msgstr "dec" +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Nuvarande:" -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "år" -msgstr[1] "år" +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Ändra:" -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "månad" -msgstr[1] "månader" +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" -#: utils/timesince.py:14 -msgid "week" -msgstr "vecka" +#: 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/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 +msgid "Documentation" +msgstr "Dokumentation" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: 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 +#: 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 "Ändra lösenord" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_list.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 +#: 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 "Hem" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Historik" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Datum/tid" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Användare" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Händelse" + +#: contrib/admin/templates/admin/object_history.html:26 +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" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Lägg till %(name)s" + +#: 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" +msgstr "Serverfel" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Serverfel (500)" + +#: contrib/admin/templates/admin/500.html:9 +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. 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 +msgid "Page not found" +msgstr "Sidan kunde inte hittas" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +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 %(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 +msgid "Add" +msgstr "Lägg till" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Ändra" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Du har inte rättigheter att ändra något." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Senaste händelserna" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mina händelser" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Inga tillgängliga" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Visa på hemsidan" + +#: 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/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," + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Ta bort" + +#: 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 "" +"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:" -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "dag" -msgstr[1] "dagar" +#: 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 "" +"Ä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:" -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "timme" -msgstr[1] "timmar" +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Ja, jag är säker" -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minut" -msgstr[1] "minuter" +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Spara som ny" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengaliska" +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Spara och lägg till ytterligare en" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Tjeckiska" +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Spara och fortsätt redigera" -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Walesiska" +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Spara" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danska" +#: 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." -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tyska" +#: 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" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grekiska" +#: 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)" -#: conf/global_settings.py:43 -msgid "English" -msgstr "Engelska" +#: 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." -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spanska" +#: 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." -#: conf/global_settings.py:45 -msgid "French" -msgstr "Franska" +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Användarnamn" -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galisiska" +#: 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 "Ändra lösenord" -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Ungerska" +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Lösenordet ändrades" -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Hebreiska" +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Ditt lösenord har ändrats." -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Isländska" +#: 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 "Nollställ lösenordet" -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italienska" +#: 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." -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Japanska" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-postadress:" -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Holländska" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Nollställ mitt lösenord" -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norska" +#: 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 websidan idag." -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasilianska" +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Logga in igen" -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumänska" +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Nollställning av lösenordet lyckades" -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Ryska" +#: 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." -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovakiska" +#: 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." -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Slovakiska" +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Gamla lösenordet:" -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbiska" +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Nytt lösenord:" -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svenska" +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Bekräfta lösenord:" -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ukrainska" +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Ändra mitt lösenord" -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Förenklad kinesiska" +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Du får det här mailet eftersom du bad om att få lösenordet nollställt" -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Traditionell Kinesiska" +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "för ditt användarkonto på %(site_name)s" -#: 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." +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Ditt nya lösenord är: %(new_password)s" -#: 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" +#: 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:" -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Stora bokstäver är inte tillåtna här." +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Ditt användarnamn, om du har glömt:" -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Små bokstäver är inte tillåtna här." +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Tack för att du använder vår sida!" -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Fyll enbart i siffror avskillda med kommatecken." +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s-laget" -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Fyll i giltiga e-postadresser avskillda med kommatecken." +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Smarta bokmärken" -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Var god fyll i ett giltigt IP-nummer." +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Smarta bokmärken för dokumentation" -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Tomma värden är inte tillåtna här." +#: 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" +"

                                  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. 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" -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Icke-numeriska tecken är inte tillåtna här." +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Dokumentation för den här sidan" -#: 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." +#: 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." -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Fyll i ett heltal." +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Visa objektets ID" -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Endast alfabetiska bokstäver är tillåtna här." +#: 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 det unika ID:t för sidor som representerar ett " +"enskilt objekt." -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Fyll i ett giltigt datum i formatet ÅÅÅÅ-MM-DD." +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Redigera det här objektet (nuvarande fönster)" -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Fyll i en giltig tid i formatet TT:MM" +#: 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 enskilt " +"objekt." -#: 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" +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Redigera det här objektet (nytt fönster)" -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Fyll i en giltig e-postadress." +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Som ovan, men öppnar administrationssidan i ett nytt fönster." -#: 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." +#: 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." -#: 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." +#: 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." -#: 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." +#: utils/dates.py:6 +msgid "Monday" +msgstr "Måndag" -#: 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." +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Tisdag" -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "En giltig adress krävs." +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Onsdag" -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Giltig HTML krävs. Specifika fel är:\n" -"%s" +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Torsdag" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Missformad XML: %s" +#: utils/dates.py:6 +msgid "Friday" +msgstr "Fredag" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Felaktig URL: %s" +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Lördag" -#: 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/dates.py:7 +msgid "Sunday" +msgstr "Söndag" -#: 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/dates.py:14 +msgid "January" +msgstr "Januari" -#: 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." +#: utils/dates.py:14 +msgid "February" +msgstr "Februari" -#: 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'." +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Mars" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Fyll i något i minst ett fält." +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "April" -#: 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" +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Maj" -#: 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" +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Juni" -#: 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" +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Juli" -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Upprepade värden är inte tillåtna." +#: utils/dates.py:15 +msgid "August" +msgstr "Augusti" -#: 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." +#: utils/dates.py:15 +msgid "September" +msgstr "September" -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Fyll i ett giltigt decimaltal." +#: utils/dates.py:15 +msgid "October" +msgstr "Oktober" -#: 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." +#: utils/dates.py:15 +msgid "November" +msgstr "November" -#: 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." +#: utils/dates.py:16 +msgid "December" +msgstr "december" -#: 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." +#: utils/dates.py:19 +msgid "jan" +msgstr "jan" -#: 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." +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formatet på det här fältet är fel." +#: utils/dates.py:19 +msgid "mar" +msgstr "mars" -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Det här fältet är ogiltigt." +#: utils/dates.py:19 +msgid "apr" +msgstr "apr" -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Kunde inte hämta något från %s." +#: utils/dates.py:19 +msgid "may" +msgstr "maj" -#: 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'" +#: utils/dates.py:19 +msgid "jun" +msgstr "juni" -#: 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\".)" +#: utils/dates.py:20 +msgid "jul" +msgstr "juli" -#: 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\".)" +#: utils/dates.py:20 +msgid "aug" +msgstr "aug" -#: 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\".)" +#: utils/dates.py:20 +msgid "sep" +msgstr "sept" -#: 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\".)" +#: utils/dates.py:20 +msgid "oct" +msgstr "okt" -#: 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\".)" +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" -#: 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\".)" +#: utils/dates.py:20 +msgid "dec" +msgstr "dec" -#: 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." +#: utils/dates.py:27 +msgid "Jan." +msgstr "jan" -#: 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." +#: utils/dates.py:27 +msgid "Feb." +msgstr "feb" -#: 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." +#: utils/dates.py:28 +msgid "Aug." +msgstr "aug" -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Det här värdet måste vara ett heltal" +#: utils/dates.py:28 +msgid "Sept." +msgstr "sept" -#: 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" +#: utils/dates.py:28 +msgid "Oct." +msgstr "okt" -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Det här fältet får inte vara null" +#: utils/dates.py:28 +msgid "Nov." +msgstr "nov" -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Fyll i ett giltigt filnamn." +#: utils/dates.py:28 +msgid "Dec." +msgstr "dec" -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Var god fyll i ett giltigt %s." +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "år" +msgstr[1] "år" -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Separera flera ID:n med kommatecken." +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "månad" +msgstr[1] "månader" -#: 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." +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "vecka" +msgstr[1] "veckor" -#: 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." +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "dag" +msgstr[1] "dagar" -#: 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." +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "timme" +msgstr[1] "timmar" -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Radbrytningar är inte tillåtna här." +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minuter" -#: 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" +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "" -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Den insända filen är tom." +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "" -#: 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." +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "" -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Fyll i ett positivt heltal." +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "" -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Fyll i ett heltal mellan 0 och 32 767." +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "" -#: 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 c73aa30560..90e643a3c8 100644 Binary files a/django/conf/locale/sv/LC_MESSAGES/djangojs.mo and b/django/conf/locale/sv/LC_MESSAGES/djangojs.mo differ 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/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: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 "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 + + 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": 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 '')} + 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. - -sqlinitialdata [appname appname ...] --------------------------------------------- +**New in Django development version** -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 0000000000..391b57a0f3 Binary files /dev/null and b/tests/regressiontests/bug639/test.jpg differ 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')), -- cgit v1.3