From bfc5660c472ac2e52cc4fdec78315c87b01357de Mon Sep 17 00:00:00 2001 From: Joseph Kocherhans Date: Thu, 13 Mar 2008 06:14:26 +0000 Subject: [PATCH] newforms-admin: Merged from trunk up to [7232] git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7233 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 3 + django/conf/global_settings.py | 5 +- django/conf/locale/de/LC_MESSAGES/django.mo | Bin 44735 -> 46485 bytes django/conf/locale/de/LC_MESSAGES/django.po | 3325 ++++++++--- django/conf/locale/it/LC_MESSAGES/django.mo | Bin 52709 -> 52741 bytes django/conf/locale/it/LC_MESSAGES/django.po | 5 +- django/conf/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 67203 bytes django/conf/locale/ka/LC_MESSAGES/django.po | 4513 +++++++++++++++ django/conf/locale/ka/LC_MESSAGES/djangojs.mo | Bin 0 -> 2222 bytes django/conf/locale/ka/LC_MESSAGES/djangojs.po | 118 + django/conf/locale/nl/LC_MESSAGES/django.mo | Bin 38049 -> 42344 bytes django/conf/locale/nl/LC_MESSAGES/django.po | 4973 ++++++++++++----- django/conf/locale/nl/LC_MESSAGES/djangojs.mo | Bin 1507 -> 1588 bytes django/conf/locale/nl/LC_MESSAGES/djangojs.po | 78 +- django/conf/locale/pl/LC_MESSAGES/django.mo | Bin 51612 -> 66225 bytes django/conf/locale/pl/LC_MESSAGES/django.po | 755 ++- django/contrib/admin/views/decorators.py | 12 +- django/contrib/auth/backends.py | 2 +- django/contrib/auth/decorators.py | 7 +- django/contrib/contenttypes/generic.py | 25 +- django/contrib/contenttypes/models.py | 55 +- django/contrib/contenttypes/tests.py | 47 + .../contrib/databrowse/plugins/calendars.py | 2 - .../databrowse/plugins/fieldchoices.py | 2 - django/contrib/databrowse/views.py | 2 - django/contrib/formtools/preview.py | 1 - django/contrib/formtools/tests.py | 5 - .../contrib/humanize/templatetags/humanize.py | 3 +- django/contrib/localflavor/ar/forms.py | 1 - django/contrib/localflavor/generic/forms.py | 76 +- django/contrib/localflavor/jp/forms.py | 2 - django/contrib/sessions/models.py | 5 - django/contrib/webdesign/tests.py | 1 - django/core/handlers/base.py | 3 +- django/core/handlers/modpython.py | 7 +- django/core/mail.py | 8 +- django/core/management/color.py | 16 +- django/core/management/commands/loaddata.py | 30 +- django/core/management/commands/syncdb.py | 2 + django/core/management/sql.py | 2 + django/core/serializers/json.py | 1 - django/core/serializers/pyyaml.py | 1 - django/db/backends/mysql/base.py | 1 - django/db/backends/postgresql/operations.py | 5 + django/db/models/base.py | 3 + django/db/models/fields/__init__.py | 78 +- django/db/models/fields/related.py | 74 +- django/http/__init__.py | 66 +- django/newforms/forms.py | 4 +- django/template/defaultfilters.py | 6 +- django/test/_doctest.py | 2 +- django/test/client.py | 2 - django/test/simple.py | 1 - django/utils/datastructures.py | 8 +- django/utils/decorators.py | 6 +- django/utils/functional.py | 118 +- django/utils/translation/trans_real.py | 31 +- django/utils/tzinfo.py | 6 +- django/views/decorators/cache.py | 9 +- django/views/decorators/http.py | 7 +- django/views/decorators/vary.py | 9 +- django/views/i18n.py | 2 +- docs/authentication.txt | 24 +- docs/db-api.txt | 3 +- docs/faq.txt | 4 +- docs/flatpages.txt | 9 +- docs/i18n.txt | 5 +- docs/model-api.txt | 14 +- docs/modelforms.txt | 74 +- docs/newforms.txt | 6 +- docs/request_response.txt | 2 +- docs/serialization.txt | 2 +- docs/settings.txt | 14 +- docs/shortcuts.txt | 6 +- docs/templates.txt | 2 + docs/templates_python.txt | 13 +- docs/url_dispatch.txt | 10 +- extras/django_bash_completion | 10 +- setup.py | 11 +- tests/modeltests/basic/models.py | 11 + .../modeltests/mutually_referential/models.py | 8 +- tests/regressiontests/datastructures/tests.py | 8 + tests/regressiontests/datatypes/models.py | 26 + tests/regressiontests/decorators/__init__.py | 0 tests/regressiontests/decorators/models.py | 2 + tests/regressiontests/decorators/tests.py | 56 + .../fixtures_regress/fixtures/absolute.json | 9 + .../fixtures_regress/models.py | 22 + tests/regressiontests/requests/__init__.py | 3 + tests/regressiontests/requests/models.py | 1 + tests/regressiontests/requests/tests.py | 34 + tests/regressiontests/string_lookup/models.py | 8 + 92 files changed, 11782 insertions(+), 3146 deletions(-) create mode 100644 django/conf/locale/ka/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/ka/LC_MESSAGES/django.po create mode 100644 django/conf/locale/ka/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ka/LC_MESSAGES/djangojs.po create mode 100644 django/contrib/contenttypes/tests.py create mode 100644 tests/regressiontests/decorators/__init__.py create mode 100644 tests/regressiontests/decorators/models.py create mode 100644 tests/regressiontests/decorators/tests.py create mode 100644 tests/regressiontests/fixtures_regress/fixtures/absolute.json create mode 100644 tests/regressiontests/requests/__init__.py create mode 100644 tests/regressiontests/requests/models.py create mode 100644 tests/regressiontests/requests/tests.py diff --git a/AUTHORS b/AUTHORS index ea898de16b..763c95222c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -56,6 +56,7 @@ answer newbie questions, and generally made Django that much better: David Ascher Jökull Sólberg Auðunsson Arthur + David Avsajanishvili axiak@mit.edu Jiri Barton Ned Batchelder @@ -71,6 +72,7 @@ answer newbie questions, and generally made Django that much better: boobsd@gmail.com Andrew Brehaut brut.alll@gmail.com + btoll@bestweb.net Jonathan Buchanan Can Burak Çilingir Trevor Caira @@ -111,6 +113,7 @@ answer newbie questions, and generally made Django that much better: Sander Dijkhuis Jordan Dimov dne@mayonnaise.net + dready Maximillian Dornseif Jeremy Dunck Andrew Durdin diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index d7b40f7778..6be789a853 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -52,7 +52,7 @@ LANGUAGES = ( ('fa', gettext_noop('Persian')), ('fi', gettext_noop('Finnish')), ('fr', gettext_noop('French')), - ('ga', gettext_noop('Gaeilge')), + ('ga', gettext_noop('Irish')), ('gl', gettext_noop('Galician')), ('hu', gettext_noop('Hungarian')), ('he', gettext_noop('Hebrew')), @@ -60,6 +60,7 @@ LANGUAGES = ( ('is', gettext_noop('Icelandic')), ('it', gettext_noop('Italian')), ('ja', gettext_noop('Japanese')), + ('ka', gettext_noop('Georgian')), ('ko', gettext_noop('Korean')), ('km', gettext_noop('Khmer')), ('kn', gettext_noop('Kannada')), @@ -90,8 +91,8 @@ LANGUAGES_BIDI = ("he", "ar", "fa") # If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery. USE_I18N = True - LOCALE_PATHS = () +LANGUAGE_COOKIE_NAME = 'django_language' # Not-necessarily-technical managers of the site. They get broken link # notifications and other various e-mails. diff --git a/django/conf/locale/de/LC_MESSAGES/django.mo b/django/conf/locale/de/LC_MESSAGES/django.mo index 840311d4c1a205f54c2111ebaf2c4bb1d64a7628..e24a417194123e096c690ccf28171b1d4a672161 100644 GIT binary patch delta 13393 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 delta 12095 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 diff --git a/django/conf/locale/de/LC_MESSAGES/django.po b/django/conf/locale/de/LC_MESSAGES/django.po index e2225b8b6d..a87babd658 100644 --- a/django/conf/locale/de/LC_MESSAGES/django.po +++ b/django/conf/locale/de/LC_MESSAGES/django.po @@ -4,15 +4,15 @@ # This file is distributed under the same license as the django package. # msgid "" -"" -msgstr "Project-Id-Version: Django 1.0\n" +msgstr "" +"Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-28 12:33+0200\n" -"PO-Revision-Date: 2007-02-05 03:19+0100\n" -"Last-Translator: Jannis Leidel \n" +"POT-Creation-Date: 2008-03-03 15:46+0100\n" +"PO-Revision-Date: 2008-03-03 16:10+0100\n" +"Last-Translator: Michael Radziej \n" "Language-Team: \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" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" @@ -20,590 +20,551 @@ msgstr "Project-Id-Version: Django 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: KBabel 1.11.4\n" -#:conf/global_settings.py:38 +#: conf/global_settings.py:39 msgid "Arabic" msgstr "Arabisch" -#:conf/global_settings.py:39 +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengali" -#:conf/global_settings.py:40 +#: conf/global_settings.py:41 msgid "Bulgarian" msgstr "Bulgarisch" -#:conf/global_settings.py:41 +#: conf/global_settings.py:42 msgid "Catalan" msgstr "Katalanisch" -#:conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Czech" msgstr "Tschechisch" -#:conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Welsh" msgstr "Walisisch" -#:conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "Danish" msgstr "Dänisch" -#:conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "German" msgstr "Deutsch" -#:conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "Greek" msgstr "Griechisch" -#:conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "English" msgstr "Englisch" -#:conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Spanish" msgstr "Spanisch" -#:conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Argentinean Spanish" msgstr "Argentinisches Spanisch" -#:conf/global_settings.py:50 +#: conf/global_settings.py:51 +msgid "Basque" +msgstr "Baskisch" + +#: conf/global_settings.py:52 msgid "Persian" msgstr "Persisch" -#:conf/global_settings.py:51 +#: conf/global_settings.py:53 msgid "Finnish" msgstr "Finnisch" -#:conf/global_settings.py:52 +#: conf/global_settings.py:54 msgid "French" msgstr "Französisch" -#:conf/global_settings.py:53 +#: conf/global_settings.py:55 +msgid "Irish" +msgstr "Irisch" + +#: conf/global_settings.py:56 msgid "Galician" msgstr "Galicisch" -#:conf/global_settings.py:54 +#: conf/global_settings.py:57 msgid "Hungarian" msgstr "Ungarisch" -#:conf/global_settings.py:55 +#: conf/global_settings.py:58 msgid "Hebrew" msgstr "Hebräisch" -#:conf/global_settings.py:56 +#: conf/global_settings.py:59 +msgid "Croatian" +msgstr "Kroatisch" + +#: conf/global_settings.py:60 msgid "Icelandic" msgstr "Isländisch" -#:conf/global_settings.py:57 +#: conf/global_settings.py:61 msgid "Italian" msgstr "Italienisch" -#:conf/global_settings.py:58 +#: conf/global_settings.py:62 msgid "Japanese" msgstr "Japanisch" -#:conf/global_settings.py:59 +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "Georgisch" + +#: conf/global_settings.py:64 msgid "Korean" msgstr "Koreanisch" -#:conf/global_settings.py:60 +#: conf/global_settings.py:65 +msgid "Khmer" +msgstr "Khmer" + +#: conf/global_settings.py:66 msgid "Kannada" msgstr "Kannada" -#:conf/global_settings.py:61 +#: conf/global_settings.py:67 msgid "Latvian" msgstr "Lettisch" -#:conf/global_settings.py:62 +#: conf/global_settings.py:68 msgid "Macedonian" msgstr "Mazedonisch" -#:conf/global_settings.py:63 +#: conf/global_settings.py:69 msgid "Dutch" msgstr "Holländisch" -#:conf/global_settings.py:64 +#: conf/global_settings.py:70 msgid "Norwegian" msgstr "Norwegisch" -#:conf/global_settings.py:65 +#: conf/global_settings.py:71 msgid "Polish" msgstr "Polnisch" -#:conf/global_settings.py:66 +#: conf/global_settings.py:72 msgid "Portugese" msgstr "Portugiesisch" -#:conf/global_settings.py:67 +#: conf/global_settings.py:73 msgid "Brazilian" msgstr "Brasilianisches Portugiesisch" -#:conf/global_settings.py:68 +#: conf/global_settings.py:74 msgid "Romanian" msgstr "Rumänisch" -#:conf/global_settings.py:69 +#: conf/global_settings.py:75 msgid "Russian" msgstr "Russisch" -#:conf/global_settings.py:70 +#: conf/global_settings.py:76 msgid "Slovak" msgstr "Slowakisch" -#:conf/global_settings.py:71 +#: conf/global_settings.py:77 msgid "Slovenian" msgstr "Slowenisch" -#:conf/global_settings.py:72 +#: conf/global_settings.py:78 msgid "Serbian" msgstr "Serbisch" -#:conf/global_settings.py:73 +#: conf/global_settings.py:79 msgid "Swedish" msgstr "Schwedisch" -#:conf/global_settings.py:74 +#: conf/global_settings.py:80 msgid "Tamil" msgstr "Tamilisch" -#:conf/global_settings.py:75 +#: conf/global_settings.py:81 msgid "Telugu" msgstr "Telugisch" -#:conf/global_settings.py:76 +#: conf/global_settings.py:82 msgid "Turkish" msgstr "Türkisch" -#:conf/global_settings.py:77 +#: conf/global_settings.py:83 msgid "Ukrainian" msgstr "Ukrainisch" -#:conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Simplified Chinese" msgstr "Vereinfachtes Chinesisch" -#:conf/global_settings.py:79 +#: conf/global_settings.py:85 msgid "Traditional Chinese" msgstr "Traditionelles Chinesisch" -#:contrib/admin/filterspecs.py:42 -#,python-format +#: contrib/admin/filterspecs.py:44 +#, python-format msgid "" "

By %s:

\n" "
    \n" -msgstr "

    Nach %s:

    \n" +msgstr "" +"

    Nach %s:

    \n" "
      \n" -#:contrib/admin/filterspecs.py:72 contrib/admin/filterspecs.py:90 -#:contrib/admin/filterspecs.py:145 contrib/admin/filterspecs.py:171 +#: contrib/admin/filterspecs.py:74 +#: contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 +#: contrib/admin/filterspecs.py:173 msgid "All" msgstr "Alle" -#:contrib/admin/filterspecs.py:111 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "Alle Daten" -#:contrib/admin/filterspecs.py:112 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "Heute" -#:contrib/admin/filterspecs.py:115 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "Letzte 7 Tage" -#:contrib/admin/filterspecs.py:117 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "Diesen Monat" -#:contrib/admin/filterspecs.py:119 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "Dieses Jahr" -#:contrib/admin/filterspecs.py:145 newforms/widgets.py:181 -#:oldforms/__init__.py:587 +#: contrib/admin/filterspecs.py:147 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Yes" msgstr "Ja" -#:contrib/admin/filterspecs.py:145 newforms/widgets.py:181 -#:oldforms/__init__.py:587 +#: contrib/admin/filterspecs.py:147 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "No" msgstr "Nein" -#:contrib/admin/filterspecs.py:152 newforms/widgets.py:181 -#:oldforms/__init__.py:587 +#: contrib/admin/filterspecs.py:154 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Unknown" msgstr "Unbekannt" -#:contrib/admin/models.py:17 +#: contrib/admin/models.py:18 msgid "action time" msgstr "Zeitpunkt der Aktion" -#:contrib/admin/models.py:20 +#: contrib/admin/models.py:21 msgid "object id" msgstr "Objekt-ID" -#:contrib/admin/models.py:21 +#: contrib/admin/models.py:22 msgid "object repr" msgstr "Objekt Darst." -#:contrib/admin/models.py:22 +#: contrib/admin/models.py:23 msgid "action flag" msgstr "Aktionskennzeichen" -#:contrib/admin/models.py:23 +#: contrib/admin/models.py:24 msgid "change message" msgstr "Änderungsmeldung" -#:contrib/admin/models.py:26 +#: contrib/admin/models.py:27 msgid "log entry" msgstr "Logeintrag" -#:contrib/admin/models.py:27 +#: contrib/admin/models.py:28 msgid "log entries" msgstr "Logeinträge" -#:contrib/admin/templates/admin/404.html:4 -#:contrib/admin/templates/admin/404.html:8 +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 msgid "Page not found" msgstr "Seite nicht gefunden" -#:contrib/admin/templates/admin/404.html:10 +#: contrib/admin/templates/admin/404.html:10 msgid "We're sorry, but the requested page could not be found." msgstr "Es tut uns leid, aber die angeforderte Seite konnte nicht gefunden werden." -#:contrib/admin/templates/admin/500.html:4 -#:contrib/admin/templates/admin/base.html:30 -#:contrib/admin/templates/admin/change_form.html:13 -#:contrib/admin/templates/admin/change_list.html:6 -#:contrib/admin/templates/admin/delete_confirmation.html:6 -#:contrib/admin/templates/admin/invalid_setup.html:4 -#:contrib/admin/templates/admin/object_history.html:5 -#:contrib/admin/templates/admin/auth/user/change_password.html:12 -#:contrib/admin/templates/admin_doc/bookmarklets.html:3 -#:contrib/admin/templates/registration/logged_out.html:4 -#:contrib/admin/templates/registration/password_change_done.html:4 -#:contrib/admin/templates/registration/password_change_form.html:4 -#:contrib/admin/templates/registration/password_reset_done.html:4 -#:contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 msgid "Home" msgstr "Start" -#:contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/500.html:4 msgid "Server error" msgstr "Serverfehler" -#:contrib/admin/templates/admin/500.html:6 +#: contrib/admin/templates/admin/500.html:6 msgid "Server error (500)" msgstr "Serverfehler (500)" -#:contrib/admin/templates/admin/500.html:9 +#: contrib/admin/templates/admin/500.html:9 msgid "Server Error (500)" msgstr "Serverfehler (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 "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/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 "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:25 +#: contrib/admin/templates/admin/base.html:26 msgid "Welcome," msgstr "Willkommen," -#:contrib/admin/templates/admin/base.html:25 -#:contrib/admin/templates/admin/change_form.html:10 -#:contrib/admin/templates/admin/change_list.html:5 -#:contrib/admin/templates/admin/delete_confirmation.html:3 -#:contrib/admin/templates/admin/object_history.html:3 -#:contrib/admin/templates/admin/auth/user/change_password.html:9 -#:contrib/admin/templates/admin_doc/bookmarklets.html:3 -#:contrib/admin/templates/registration/password_change_done.html:3 -#:contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentation" -#:contrib/admin/templates/admin/base.html:25 -#:contrib/admin/templates/admin/change_form.html:10 -#:contrib/admin/templates/admin/change_list.html:5 -#:contrib/admin/templates/admin/delete_confirmation.html:3 -#:contrib/admin/templates/admin/object_history.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/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/model_detail.html:3 -#:contrib/admin/templates/admin_doc/model_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/template_tag_index.html:5 -#:contrib/admin/templates/admin_doc/view_detail.html:4 -#:contrib/admin/templates/admin_doc/view_index.html:5 -#:contrib/admin/templates/registration/password_change_done.html:3 -#:contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 msgid "Change password" msgstr "Passwort ändern" -#:contrib/admin/templates/admin/base.html:25 -#:contrib/admin/templates/admin/change_form.html:10 -#:contrib/admin/templates/admin/change_list.html:5 -#:contrib/admin/templates/admin/delete_confirmation.html:3 -#:contrib/admin/templates/admin/object_history.html:3 -#:contrib/admin/templates/admin/auth/user/change_password.html:9 -#: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/model_detail.html:3 -#:contrib/admin/templates/admin_doc/model_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/template_tag_index.html:5 -#:contrib/admin/templates/admin_doc/view_detail.html:4 -#:contrib/admin/templates/admin_doc/view_index.html:5 -#:contrib/admin/templates/registration/password_change_done.html:3 -#:contrib/admin/templates/registration/password_change_form.html:3 -#:contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 msgid "Log out" msgstr "Abmelden" -#:contrib/admin/templates/admin/base_site.html:4 +#: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" msgstr "Django-Systemverwaltung" -#:contrib/admin/templates/admin/base_site.html:7 +#: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" msgstr "Django-Verwaltung" -#:contrib/admin/templates/admin/change_form.html:15 -#:contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 msgid "Add" msgstr "Hinzufügen" -#:contrib/admin/templates/admin/change_form.html:21 -#:contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 msgid "History" msgstr "Geschichte" -#:contrib/admin/templates/admin/change_form.html:22 +#: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" msgstr "Im Web anzeigen" -#:contrib/admin/templates/admin/change_form.html:32 -#:contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Bitte den aufgeführten Fehler korrigieren." msgstr[1] "Bitte die aufgeführten Fehler korrigieren." -#:contrib/admin/templates/admin/change_form.html:50 +#: contrib/admin/templates/admin/change_form.html:49 msgid "Ordering" msgstr "Sortierung" -#:contrib/admin/templates/admin/change_form.html:53 +#: contrib/admin/templates/admin/change_form.html:52 msgid "Order:" msgstr "Reihenfolge:" -#:contrib/admin/templates/admin/change_list.html:12 -#,python-format +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format msgid "Add %(name)s" msgstr "%(name)s hinzufügen" -#:contrib/admin/templates/admin/delete_confirmation.html:9 -#:contrib/admin/templates/admin/submit_line.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" msgstr "Löschen" -#: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 "Die Löschung des %(object_name)s '%(escaped_object)s' hätte die Löschung von " -"abhängigen Daten zur Folge, aber Sie haben nicht die nötigen Rechte um die " -"folgenden abhängigen Daten zu löschen:" +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, 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 "Die Löschung des %(object_name)s '%(escaped_object)s' hätte die Löschung von abhängigen Daten zur Folge, aber Sie haben nicht die nötigen Rechte um die folgenden abhängigen Daten zu löschen:" -#: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 "Sind Sie sicher, dass Sie %(object_name)s \"%(escaped_object)s\" löschen " -"wollen? Es werden zusätzlich die folgenden abhängigen Daten mit gelöscht:" +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, 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 "Sind Sie sicher, dass Sie %(object_name)s \"%(escaped_object)s\" löschen wollen? Es werden zusätzlich die folgenden abhängigen Daten mit gelöscht:" -#:contrib/admin/templates/admin/delete_confirmation.html:26 +#: contrib/admin/templates/admin/delete_confirmation.html:25 msgid "Yes, I'm sure" msgstr "Ja, ich bin sicher" -#:contrib/admin/templates/admin/filter.html:2 -#,python-format +#: contrib/admin/templates/admin/filter.html:2 +#, python-format msgid " By %(filter_title)s " msgstr " Nach %(filter_title)s " -#:contrib/admin/templates/admin/filters.html:4 +#: contrib/admin/templates/admin/filters.html:4 msgid "Filter" msgstr "Filter" -#:contrib/admin/templates/admin/index.html:17 -#,python-format +#: contrib/admin/templates/admin/index.html:17 +#, python-format msgid "Models available in the %(name)s application." msgstr "Modelle, die in der Anwendung %(name)s vorhanden sind." -#:contrib/admin/templates/admin/index.html:18 -#,python-format +#: contrib/admin/templates/admin/index.html:18 +#, python-format msgid "%(name)s" msgstr "%(name)s" -#:contrib/admin/templates/admin/index.html:34 +#: contrib/admin/templates/admin/index.html:34 msgid "Change" msgstr "Ändern" -#:contrib/admin/templates/admin/index.html:44 +#: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." msgstr "Sie haben keine Berechtigung irgendwas zu ändern." -#:contrib/admin/templates/admin/index.html:52 +#: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" msgstr "Kürzliche Aktionen" -#:contrib/admin/templates/admin/index.html:53 +#: contrib/admin/templates/admin/index.html:53 msgid "My Actions" msgstr "Meine Aktionen" -#:contrib/admin/templates/admin/index.html:57 +#: contrib/admin/templates/admin/index.html:57 msgid "None available" msgstr "Keine vorhanden" -#: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 "Etwas stimmt nicht mit der Datenbankkonfiguration. Bitte sicherstellen, dass " -"die richtigen Datenbanktabellen angelegt wurden und die Datenbank vom " -"verwendeten Datenbankbenutzer auch lesbar ist." +#: 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 "Etwas stimmt nicht mit der Datenbankkonfiguration. Bitte sicherstellen, dass die richtigen Datenbanktabellen angelegt wurden und die Datenbank vom verwendeten Datenbankbenutzer auch lesbar ist." -#:contrib/admin/templates/admin/login.html:17 -#:contrib/comments/templates/comments/form.html:6 -#:contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 msgid "Username:" msgstr "Benutzername:" -#:contrib/admin/templates/admin/login.html:20 -#:contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 msgid "Password:" msgstr "Passwort:" -#:contrib/admin/templates/admin/login.html:25 -#:contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:31 msgid "Log in" msgstr "Anmelden" -#:contrib/admin/templates/admin/object_history.html:18 +#: contrib/admin/templates/admin/object_history.html:17 msgid "Date/time" msgstr "Datum/Zeit" -#:contrib/admin/templates/admin/object_history.html:19 +#: contrib/admin/templates/admin/object_history.html:18 msgid "User" msgstr "Benutzer" -#:contrib/admin/templates/admin/object_history.html:20 +#: contrib/admin/templates/admin/object_history.html:19 msgid "Action" msgstr "Aktion" -#:contrib/admin/templates/admin/object_history.html:26 +#: contrib/admin/templates/admin/object_history.html:25 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 "Dieses Objekt hat keine Änderungsgeschichte. Es wurde möglicherweise nicht " -"über diese Verwaltungsseiten angelegt." +#: contrib/admin/templates/admin/object_history.html:35 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Dieses Objekt hat keine Änderungsgeschichte. Es wurde möglicherweise nicht über diese Verwaltungsseiten angelegt." -#:contrib/admin/templates/admin/pagination.html:10 +#: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Zeige alle" -#:contrib/admin/templates/admin/search_form.html:8 +#: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "Los" -#:contrib/admin/templates/admin/search_form.html:10 -#,python-format +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format msgid "1 result" msgid_plural "%(counter)s results" msgstr[0] "Ein Ergebnis" msgstr[1] "%(counter)s Ergebnisse" -#:contrib/admin/templates/admin/search_form.html:10 -#,python-format +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format msgid "%(full_result_count)s total" msgstr "%(full_result_count)s gesamt" -#:contrib/admin/templates/admin/submit_line.html:4 +#: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" msgstr "Als neu sichern" -#:contrib/admin/templates/admin/submit_line.html:5 +#: contrib/admin/templates/admin/submit_line.html:5 msgid "Save and add another" msgstr "Sichern und neu hinzufügen" -#:contrib/admin/templates/admin/submit_line.html:6 +#: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and continue editing" msgstr "Sichern und weiter bearbeiten" -#:contrib/admin/templates/admin/submit_line.html:7 +#: contrib/admin/templates/admin/submit_line.html:7 msgid "Save" msgstr "Sichern" -#: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 "Zuerst einen Benutzer und ein Passwort eingeben. Danach können weitere " -"Optionen für den Benutzer geändert werden." +#: 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 "Zuerst einen Benutzer und ein Passwort eingeben. Danach können weitere Optionen für den Benutzer geändert werden." -#:contrib/admin/templates/admin/auth/user/add_form.html:12 +#: contrib/admin/templates/admin/auth/user/add_form.html:12 msgid "Username" msgstr "Benutzername" -#:contrib/admin/templates/admin/auth/user/add_form.html:18 -#:contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 msgid "Password" msgstr "Passwort" -#:contrib/admin/templates/admin/auth/user/add_form.html:23 -#:contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 msgid "Password (again)" msgstr "Passwort (wiederholen)" -#:contrib/admin/templates/admin/auth/user/add_form.html:24 -#:contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 msgid "Enter the same password as above, for verification." msgstr "Bitte das gleiche Passwort zur Überprüfung nochmal eingeben." -#:contrib/admin/templates/admin/auth/user/change_password.html:28 -#,python-format +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format msgid "Enter a new password for the user %(username)s." -msgstr "Bitte geben Sie ein neues Passwort für den Benutzer %(username)s ein." +msgstr "Bitte geben Sie ein neues Passwort für den Benutzer %(username)s ein." -#:contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" msgstr "Bookmarklets" -#:contrib/admin/templates/admin_doc/bookmarklets.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 msgid "Documentation bookmarklets" msgstr "Dokumentations-Bookmarklets" -#:contrib/admin/templates/admin_doc/bookmarklets.html:9 +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 msgid "" "\n" "

      To install bookmarklets, drag the link to your bookmarks\n" @@ -612,59 +573,46 @@ msgid "" "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" -"

      Um Bookmarklets zu installieren, müssen diese Links 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" +msgstr "" +"\n" +"

      Um Bookmarklets zu installieren, müssen diese Links 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" "bewertet wird, bitte den Administrator fragen.

      \n" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" msgstr "Dokumentation für diese Seite" -#: 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 "" -"Springt von jeder Seite zu der Dokumentation für den View der diese Seite " -"erzeugt." +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Springt von jeder Seite zu der Dokumentation für den View der diese Seite erzeugt." -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "Objekt-ID anzeigen" -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Zeigt den Content-Type und die eindeutige ID für Seiten die ein einzelnes " -"Objekt repräsentieren." +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Zeigt den Content-Type und die eindeutige ID für Seiten die ein einzelnes Objekt repräsentieren." -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" msgstr "Dieses Objekt im aktuellen Fenster ändern." -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Springt zu der Administrationsseite für dieses Objekt, wenn diese Seite ein " -"Objekt repräsentiert." +msgstr "Springt zu der Administrationsseite für dieses Objekt, wenn diese Seite ein Objekt repräsentiert." -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" msgstr "Dieses Objekt in einem neuen Fenster ändern." -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." -msgstr "" -"Wie zuvor, aber öffnet die Administrationsseite in einem neuen Fenster." +msgstr "Wie zuvor, aber öffnet die Administrationsseite in einem neuen Fenster." #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -674,44 +622,39 @@ msgstr "Vielen Dank, dass Sie hier ein paar nette Minuten verbracht haben." msgid "Log in again" msgstr "Erneut anmelden" -#: 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 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 msgid "Password change" msgstr "Passwort ändern" -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 msgid "Password change successful" msgstr "Passwort erfolgreich geändert" -#: contrib/admin/templates/registration/password_change_done.html:12 +#: contrib/admin/templates/registration/password_change_done.html:11 msgid "Your password was changed." msgstr "Ihr Passwort wurde geändert." -#: 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 "" -"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:11 +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 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:17 +#: contrib/admin/templates/registration/password_change_form.html:16 msgid "Old password:" msgstr "Altes Passwort:" -#: contrib/admin/templates/registration/password_change_form.html:19 +#: contrib/admin/templates/registration/password_change_form.html:18 msgid "New password:" msgstr "Neues Passwort:" -#: contrib/admin/templates/registration/password_change_form.html:21 +#: contrib/admin/templates/registration/password_change_form.html:20 msgid "Confirm password:" msgstr "Passwort wiederholen:" -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:22 msgid "Change my password" msgstr "Mein Passwort ändern" @@ -728,12 +671,8 @@ msgid "Password reset successful" msgstr "Passwort wurde erfolgreich zurückgesetzt" #: 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 "" -"Wir haben ein neues Passwort an die von Ihnen angegebene E-Mail-Adresse " -"geschickt. Sie sollten es in Kürze erhalten." +msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." +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:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -767,12 +706,8 @@ msgid "The %(site_name)s team" msgstr "Das Team von %(site_name)s" #: 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 "" -"Passwort vergessen? Einfach die E-Mail-Adresse eingeben und wir setzen das " -"Passwort zurück und lassen es Ihnen per E-Mail zukommen." +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 zurück und lassen es Ihnen per E-Mail zukommen." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -798,299 +733,306 @@ msgstr "Derzeit:" msgid "Change:" msgstr "Ändern:" -#: contrib/admin/templatetags/admin_list.py:247 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Alle Tage" -#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#: contrib/admin/views/auth.py:20 +#: contrib/admin/views/main.py:267 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt." -#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 -#: contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:25 +#: contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 msgid "You may edit it again below." msgstr "Das Element kann jetzt weiter bearbeitet werden." -#: contrib/admin/views/auth.py:30 +#: contrib/admin/views/auth.py:31 msgid "Add user" msgstr "Benutzer hinzufügen" -#: contrib/admin/views/auth.py:57 +#: contrib/admin/views/auth.py:58 msgid "Password changed successfully." msgstr "Passwort erfolgreich geändert." -#: contrib/admin/views/auth.py:64 +#: contrib/admin/views/auth.py:65 #, python-format msgid "Change password: %s" msgstr "Passwort ändern: %s" -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Bitte einen gültigen 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." +#: contrib/admin/views/decorators.py:17 +#: contrib/auth/forms.py:60 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Bitte einen gültigen Benutzernamen und ein Passwort eingeben. Beide Felder berücksichtigen die Groß-/Kleinschreibung." #: 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 "" -"Es sieht danach aus, dass der Browser keine Cookies akzeptiert. Bitte im " -"Browser Cookies aktivieren und diese Seite neu laden." +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." -#: contrib/admin/views/decorators.py:83 +#: contrib/admin/views/decorators.py:76 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Es sieht danach aus, dass der Browser keine Cookies akzeptiert. Bitte im Browser Cookies aktivieren und diese Seite neu laden." + +#: contrib/admin/views/decorators.py:90 msgid "Usernames cannot contain the '@' character." msgstr "Benutzernamen dürfen das Zeichen '@' nicht enthalten." -#: contrib/admin/views/decorators.py:85 +#: contrib/admin/views/decorators.py:92 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" -"Die E-Mail-Adresse entspricht nicht Ihrem Benutzernamen. Bitte stattdessen '%" -"s' 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 +#: contrib/admin/views/doc.py:48 #: contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 msgid "tag:" msgstr "Schlagwort:" -#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:79 #: contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 msgid "filter:" msgstr "Filter:" -#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:137 #: contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 msgid "view:" msgstr "Ansicht:" -#: contrib/admin/views/doc.py:164 +#: contrib/admin/views/doc.py:166 #, python-format msgid "App %r not found" msgstr "Anwendung %r nicht gefunden" -#: contrib/admin/views/doc.py:171 +#: contrib/admin/views/doc.py:173 #, python-format msgid "Model %(name)r not found in app %(label)r" msgstr "Modell %(name)r wurde nicht in Anwendung %(label)r gefunden" -#: contrib/admin/views/doc.py:183 +#: contrib/admin/views/doc.py:185 #, python-format msgid "the related `%(label)s.%(type)s` object" msgstr "Das verknüpfte `%(label)s.%(type)s` Objekt" -#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 -#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +#: contrib/admin/views/doc.py:185 +#: contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 +#: contrib/admin/views/doc.py:226 msgid "model:" msgstr "Modell:" -#: contrib/admin/views/doc.py:214 +#: contrib/admin/views/doc.py:216 #, python-format msgid "related `%(label)s.%(name)s` objects" msgstr "verknüpftes `%(label)s.%(name)s` Objekt" -#: contrib/admin/views/doc.py:219 +#: contrib/admin/views/doc.py:221 #, python-format msgid "all %s" msgstr "Alle %s" -#: contrib/admin/views/doc.py:224 +#: contrib/admin/views/doc.py:226 #, python-format msgid "number of %s" msgstr "Anzahl von %s" -#: contrib/admin/views/doc.py:229 +#: contrib/admin/views/doc.py:231 #, python-format msgid "Fields on %s objects" msgstr "Felder am %s Objekt" -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 -#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:293 +#: 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 "Ganzzahl" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:294 msgid "Boolean (Either True or False)" msgstr "Boolscher Wert (True oder False)" -#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:314 #, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Zeichenkette (bis zu %(maxlength)s Zeichen)" +msgid "String (up to %(max_length)s)" +msgstr "Zeichenkette (bis zu %(max_length)s Zeichen)" -#: contrib/admin/views/doc.py:294 +#: contrib/admin/views/doc.py:296 msgid "Comma-separated integers" msgstr "Kommaseparierte Liste von Ganzzahlen" -#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:297 msgid "Date (without time)" msgstr "Datum (ohne Uhrzeit)" -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:298 msgid "Date (with time)" msgstr "Datum (mit Uhrzeit)" -#: contrib/admin/views/doc.py:297 -msgid "E-mail address" -msgstr "E-Mail-Adresse" - -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 -#: contrib/admin/views/doc.py:302 -msgid "File path" -msgstr "Dateipfad" - -#: contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:299 msgid "Decimal number" msgstr "Dezimalzahl" -#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "E-Mail-Adresse" + +#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Dateipfad" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "Fließkommazahl" + +#: contrib/admin/views/doc.py:307 +#: contrib/comments/models.py:89 msgid "IP address" msgstr "IP-Adresse" -#: contrib/admin/views/doc.py:306 +#: contrib/admin/views/doc.py:309 msgid "Boolean (Either True, False or None)" msgstr "Boolscher Wert (True, False oder None)" -#: contrib/admin/views/doc.py:307 +#: contrib/admin/views/doc.py:310 msgid "Relation to parent model" msgstr "Beziehung zum Eltern-Modell" -#: contrib/admin/views/doc.py:308 +#: contrib/admin/views/doc.py:311 msgid "Phone number" msgstr "Telefonnummer" -#: contrib/admin/views/doc.py:313 +#: contrib/admin/views/doc.py:316 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:314 +#: contrib/admin/views/doc.py:317 msgid "Time" msgstr "Zeit" -#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:318 +#: contrib/flatpages/models.py:7 msgid "URL" msgstr "Adresse (URL)" -#: contrib/admin/views/doc.py:316 +#: contrib/admin/views/doc.py:319 msgid "U.S. state (two uppercase letters)" msgstr "U.S. Bundesstaat (zwei Großbuchstaben)" -#: contrib/admin/views/doc.py:317 +#: contrib/admin/views/doc.py:320 msgid "XML text" msgstr "XML-Text" -#: contrib/admin/views/doc.py:343 +#: contrib/admin/views/doc.py:346 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ist scheinbar kein urlpattern Objekt" -#: contrib/admin/views/main.py:223 +#: contrib/admin/views/main.py:233 msgid "Site administration" msgstr "Website-Verwaltung" -#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#: contrib/admin/views/main.py:280 +#: contrib/admin/views/main.py:365 #, python-format msgid "You may add another %s below." msgstr "Jetzt kann ein weiteres Element vom Typ %s angelegt werden." -#: contrib/admin/views/main.py:289 +#: contrib/admin/views/main.py:298 #, python-format msgid "Add %s" msgstr "%s hinzufügen" -#: contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:344 #, python-format msgid "Added %s." msgstr "%s hinzugefügt." -#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 db/models/manipulators.py:308 +#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 +#: core/validators.py:283 +#: db/models/manipulators.py:309 msgid "and" msgstr "und" -#: contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:346 #, python-format msgid "Changed %s." msgstr "%s geändert." -#: contrib/admin/views/main.py:339 +#: contrib/admin/views/main.py:348 #, python-format msgid "Deleted %s." msgstr "%s gelöscht." -#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:351 msgid "No fields changed." msgstr "Keine Felder geändert." -#: contrib/admin/views/main.py:345 +#: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich geändert." -#: contrib/admin/views/main.py:353 +#: contrib/admin/views/main.py:362 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt. Das Element kann jetzt " -"geändert werden." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt. Das Element kann jetzt geändert werden." -#: contrib/admin/views/main.py:391 +#: contrib/admin/views/main.py:400 #, python-format msgid "Change %s" msgstr "%s ändern" -#: contrib/admin/views/main.py:476 +#: contrib/admin/views/main.py:487 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Ein oder mehrere %(fieldname)s in %(name)s: %(obj)s" -#: contrib/admin/views/main.py:481 +#: contrib/admin/views/main.py:492 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Ein oder mehrere %(fieldname)s in %(name)s:" -#: contrib/admin/views/main.py:514 +#: contrib/admin/views/main.py:524 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gelöscht." -#: contrib/admin/views/main.py:517 +#: contrib/admin/views/main.py:527 msgid "Are you sure?" msgstr "Sind Sie ganz sicher?" -#: contrib/admin/views/main.py:539 +#: contrib/admin/views/main.py:549 #, python-format msgid "Change history: %s" msgstr "Änderungsgeschichte: %s" -#: contrib/admin/views/main.py:573 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s" msgstr "%s auswählen" -#: contrib/admin/views/main.py:573 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s to change" msgstr "%s zur Änderung auswählen" -#: contrib/admin/views/main.py:768 +#: contrib/admin/views/main.py:784 msgid "Database error" msgstr "Datenbankfehler" -#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:138 msgid "The two password fields didn't match." msgstr "Die beiden Passwörter sind nicht identisch." @@ -1099,24 +1041,21 @@ msgid "A user with that username already exists." msgstr "Ein Benutzer mit diesem Namen existiert bereits." #: contrib/auth/forms.py:53 -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 erforderlich." +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 erforderlich." #: contrib/auth/forms.py:62 msgid "This account is inactive." msgstr "Dieser Benutzer ist inaktiv." -#: contrib/auth/forms.py:85 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Zu dieser E-Mail-Adresse existiert kein Benutzer. Sicher, dass Sie sich mit " -"dieser Adresse angemeldet haben?" +#: contrib/auth/forms.py:84 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Zu dieser E-Mail-Adresse existiert kein Benutzer. Sicher, dass Sie sich mit dieser Adresse angemeldet haben?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "Passwort auf %s zurücksetzen" #: contrib/auth/forms.py:117 msgid "The two 'new password' fields didn't match." @@ -1126,230 +1065,212 @@ msgstr "Die beiden neuen Passwörter sind nicht identisch." msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Das alte Passwort war falsch. Bitte neu eingeben." -#: contrib/auth/models.py:38 contrib/auth/models.py:58 +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:93 msgid "name" msgstr "Name" -#: contrib/auth/models.py:40 +#: contrib/auth/models.py:75 msgid "codename" msgstr "Codename" -#: contrib/auth/models.py:43 +#: contrib/auth/models.py:78 msgid "permission" msgstr "Berechtigung" -#: contrib/auth/models.py:44 contrib/auth/models.py:59 +#: contrib/auth/models.py:79 +#: contrib/auth/models.py:94 msgid "permissions" msgstr "Berechtigungen" -#: contrib/auth/models.py:62 +#: contrib/auth/models.py:97 msgid "group" msgstr "Gruppe" -#: contrib/auth/models.py:63 contrib/auth/models.py:103 +#: contrib/auth/models.py:98 +#: contrib/auth/models.py:141 msgid "groups" msgstr "Gruppen" -#: contrib/auth/models.py:93 +#: contrib/auth/models.py:131 msgid "username" msgstr "Benutzername" -#: contrib/auth/models.py:93 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Erforderlich. 30 Zeichen oder weniger. Alphanumerische Zeichen (Buchstaben, " -"Ziffern und Unterstriche sind erlaubt)." +#: contrib/auth/models.py:131 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "Erforderlich. 30 Zeichen oder weniger. Alphanumerische Zeichen (Buchstaben, Ziffern und Unterstriche sind erlaubt)." -#: contrib/auth/models.py:94 +#: contrib/auth/models.py:132 msgid "first name" msgstr "Vorname" -#: contrib/auth/models.py:95 +#: contrib/auth/models.py:133 msgid "last name" msgstr "Nachname" -#: contrib/auth/models.py:96 +#: contrib/auth/models.py:134 msgid "e-mail address" msgstr "E-Mail-Adresse" -#: contrib/auth/models.py:97 +#: contrib/auth/models.py:135 msgid "password" msgstr "Passwort" -#: contrib/auth/models.py:97 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"Die Form '[algo]$[salt]$[hexdigest]' verwenden, oder das Passwort ändern Formular benutzen." +#: contrib/auth/models.py:135 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Die Form '[algo]$[salt]$[hexdigest]' verwenden, oder das Passwort ändern Formular benutzen." -#: contrib/auth/models.py:98 +#: contrib/auth/models.py:136 msgid "staff status" msgstr "Administrator" -#: contrib/auth/models.py:98 +#: contrib/auth/models.py:136 msgid "Designates whether the user can log into this admin site." -msgstr "" -"Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann." +msgstr "Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann." -#: contrib/auth/models.py:99 +#: contrib/auth/models.py:137 msgid "active" msgstr "Aktiv" -#: contrib/auth/models.py:99 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -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:137 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +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:100 +#: contrib/auth/models.py:138 msgid "superuser status" msgstr "Hauptadmin." -#: contrib/auth/models.py:100 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" -"Legt fest, dass der Benutzer alle Berechtigungen hat, ohne diese einzeln " -"zuweisen zu müssen." +#: contrib/auth/models.py:138 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Legt fest, dass der Benutzer alle Berechtigungen hat, ohne diese einzeln zuweisen zu müssen." -#: contrib/auth/models.py:101 +#: contrib/auth/models.py:139 msgid "last login" msgstr "Letzte Anmeldung" -#: contrib/auth/models.py:102 +#: contrib/auth/models.py:140 msgid "date joined" msgstr "Mitglied seit" -#: contrib/auth/models.py:104 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Zusätzlich zu den manuell angelegten Rechten erhält dieser Benutzer auch " -"alle Rechte, die seine zugewiesenen Gruppen haben." +#: contrib/auth/models.py:142 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Zusätzlich zu den manuell angelegten Rechten erhält dieser Benutzer auch alle Rechte, die seine zugewiesenen Gruppen haben." -#: contrib/auth/models.py:105 +#: contrib/auth/models.py:143 msgid "user permissions" msgstr "Berechtigungen" -#: contrib/auth/models.py:109 +#: contrib/auth/models.py:147 msgid "user" msgstr "Benutzer" -#: contrib/auth/models.py:110 +#: contrib/auth/models.py:148 msgid "users" msgstr "Benutzer" -#: contrib/auth/models.py:116 +#: contrib/auth/models.py:154 msgid "Personal info" msgstr "Persönliche Infos" -#: contrib/auth/models.py:117 +#: contrib/auth/models.py:155 msgid "Permissions" msgstr "Berechtigungen" -#: contrib/auth/models.py:118 +#: contrib/auth/models.py:156 msgid "Important dates" msgstr "Wichtige Daten" -#: contrib/auth/models.py:119 +#: contrib/auth/models.py:157 msgid "Groups" msgstr "Gruppen" -#: contrib/auth/models.py:263 +#: contrib/auth/models.py:316 msgid "message" msgstr "Mitteilung" -#: contrib/auth/views.py:39 +#: contrib/auth/views.py:47 msgid "Logged out" msgstr "Abgemeldet" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: contrib/comments/models.py:71 +#: contrib/comments/models.py:176 msgid "object ID" msgstr "Objekt-ID" -#: contrib/comments/models.py:68 +#: contrib/comments/models.py:72 msgid "headline" msgstr "Überschrift" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 +#: contrib/comments/models.py:73 +#: contrib/comments/models.py:95 +#: contrib/comments/models.py:177 msgid "comment" msgstr "Kommentar" -#: contrib/comments/models.py:70 +#: contrib/comments/models.py:74 msgid "rating #1" msgstr "Bewertung #1" -#: contrib/comments/models.py:71 +#: contrib/comments/models.py:75 msgid "rating #2" msgstr "Bewertung #2" -#: contrib/comments/models.py:72 +#: contrib/comments/models.py:76 msgid "rating #3" msgstr "Bewertung #3" -#: contrib/comments/models.py:73 +#: contrib/comments/models.py:77 msgid "rating #4" msgstr "Bewertung #4" -#: contrib/comments/models.py:74 +#: contrib/comments/models.py:78 msgid "rating #5" msgstr "Bewertung #5" -#: contrib/comments/models.py:75 +#: contrib/comments/models.py:79 msgid "rating #6" msgstr "Bewertung #6" -#: contrib/comments/models.py:76 +#: contrib/comments/models.py:80 msgid "rating #7" msgstr "Bewertung #7" -#: contrib/comments/models.py:77 +#: contrib/comments/models.py:81 msgid "rating #8" msgstr "Bewertung #8" -#: contrib/comments/models.py:82 +#: contrib/comments/models.py:86 msgid "is valid rating" msgstr "ist eine Bewertung" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:87 +#: contrib/comments/models.py:179 msgid "date/time submitted" msgstr "Datum/Zeit Erstellung" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:88 +#: contrib/comments/models.py:180 msgid "is public" msgstr "ist öffentlich" -#: contrib/comments/models.py:86 +#: contrib/comments/models.py:90 msgid "is removed" 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. Stattdessen wird " -"dann \"Dieser Kommentar wurde entfernt\" Meldung angezeigt." +#: contrib/comments/models.py:90 +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. Stattdessen wird dann \"Dieser Kommentar wurde entfernt\" Meldung angezeigt." -#: contrib/comments/models.py:91 +#: contrib/comments/models.py:96 msgid "comments" msgstr "Kommentare" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:140 +#: contrib/comments/models.py:222 msgid "Content object" msgstr "Inhaltsobjekt" -#: contrib/comments/models.py:159 +#: contrib/comments/models.py:168 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1364,48 +1285,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:168 +#: contrib/comments/models.py:178 msgid "person's name" msgstr "Autorname" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:181 msgid "ip address" msgstr "IP-Adresse" -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:183 msgid "approved by staff" msgstr "Bestätigt vom Betreiber" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:187 msgid "free comment" msgstr "Freier Kommentar" -#: contrib/comments/models.py:177 +#: contrib/comments/models.py:188 msgid "free comments" msgstr "Freie Kommentare" -#: contrib/comments/models.py:233 +#: contrib/comments/models.py:250 msgid "score" msgstr "Bewertung" -#: contrib/comments/models.py:234 +#: contrib/comments/models.py:251 msgid "score date" msgstr "Bewertungsdatum" -#: contrib/comments/models.py:237 +#: contrib/comments/models.py:255 msgid "karma score" msgstr "Karma Bewertung" -#: contrib/comments/models.py:238 +#: contrib/comments/models.py:256 msgid "karma scores" msgstr "Karma Bewertungen" -#: contrib/comments/models.py:242 +#: contrib/comments/models.py:260 #, python-format msgid "%(score)d rating by %(user)s" msgstr "%(score)d Bewertung von %(user)s" -#: contrib/comments/models.py:258 +#: contrib/comments/models.py:277 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -1416,36 +1337,36 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:265 +#: contrib/comments/models.py:285 msgid "flag date" msgstr "Kennzeichnungsdatum" -#: contrib/comments/models.py:268 +#: contrib/comments/models.py:289 msgid "user flag" msgstr "Benutzerkennzeichnung" -#: contrib/comments/models.py:269 +#: contrib/comments/models.py:290 msgid "user flags" msgstr "Benutzerkennzeichnungen" -#: contrib/comments/models.py:273 +#: contrib/comments/models.py:294 #, python-format msgid "Flag by %r" msgstr "Gekennzeichnet von %r" -#: contrib/comments/models.py:278 +#: contrib/comments/models.py:300 msgid "deletion date" msgstr "Löschdatum" -#: contrib/comments/models.py:280 +#: contrib/comments/models.py:303 msgid "moderator deletion" msgstr "Löschung vom Moderator" -#: contrib/comments/models.py:281 +#: contrib/comments/models.py:304 msgid "moderator deletions" msgstr "Löschungen vom Moderator" -#: contrib/comments/models.py:285 +#: contrib/comments/models.py:308 #, python-format msgid "Moderator deletion by %r" msgstr "Vom Moderator %r gelöscht" @@ -1486,37 +1407,30 @@ msgstr "Kommentarvorschau" msgid "Your name:" msgstr "Ihr Name:" -#: contrib/comments/views/comments.py:27 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "" -"Diese Abstimmung ist zwingend erforderlich, da Sie an mindestens einer " -"weiteren Abstimmung teilnehmen." +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Diese Abstimmung ist zwingend erforderlich, da Sie an mindestens einer weiteren Abstimmung teilnehmen." -#: contrib/comments/views/comments.py:111 +#: 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] "" -"Dieser Kommentar ist von einem Benutzer mit weniger als %(count)s " -"Kommentar:\n" +"Dieser Kommentar ist von einem Benutzer mit weniger als %(count)s Kommentar:\n" "\n" "%(text)s" msgstr[1] "" -"Dieser Kommentar ist von einem Benutzer mit weniger als %(count)s " -"Kommentaren:\n" +"Dieser Kommentar ist von einem Benutzer mit weniger als %(count)s Kommentaren:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:116 +#: contrib/comments/views/comments.py:117 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -1527,66 +1441,58 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:188 -#: contrib/comments/views/comments.py:280 +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 msgid "Only POSTs are allowed" msgstr "Nur POST ist erlaubt" -#: contrib/comments/views/comments.py:192 -#: contrib/comments/views/comments.py:284 +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 msgid "One or more of the required fields wasn't submitted" msgstr "Eines oder mehrere der erforderlichen Felder fehlen" -#: contrib/comments/views/comments.py:196 -#: contrib/comments/views/comments.py:286 +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 msgid "Somebody tampered with the comment form (security violation)" -msgstr "" -"Jemand hat mit dem Kommentarformular herumgespielt (Sicherheitsverletzung)" +msgstr "Jemand hat mit dem Kommentarformular herumgespielt (Sicherheitsverletzung)" -#: 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 "" -"Das Kommentarformular hatte einen falschen 'target' Parameter -- die Objekt-" -"ID ist ungültig." +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "Das Kommentarformular hatte einen falschen 'target' Parameter -- die Objekt-ID ist ungültig." -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "" -"Das Kommentarformular wurde nicht mit 'preview' oder 'post' abgeschickt" +msgstr "Das Kommentarformular wurde nicht mit 'preview' oder 'post' abgeschickt" -#: contrib/comments/views/karma.py:19 +#: contrib/comments/views/karma.py:21 msgid "Anonymous users cannot vote" msgstr "Anonyme Benutzer dürfen nicht abstimmen" -#: contrib/comments/views/karma.py:23 +#: contrib/comments/views/karma.py:25 msgid "Invalid comment ID" msgstr "Ungültige Kommentar-ID" -#: contrib/comments/views/karma.py:25 +#: contrib/comments/views/karma.py:27 msgid "No voting for yourself" msgstr "Keine Abstimmung für dich selbst" -#: contrib/contenttypes/models.py:36 +#: contrib/contenttypes/models.py:37 msgid "python model class name" msgstr "Python Model-Klassenname" -#: contrib/contenttypes/models.py:39 +#: contrib/contenttypes/models.py:40 msgid "content type" msgstr "Inhaltstyp" -#: contrib/contenttypes/models.py:40 +#: contrib/contenttypes/models.py:41 msgid "content types" msgstr "Inhaltstypen" #: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Beispiel: '/about/contact/'. Wichtig: vorne und hinten muss ein / stehen." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Beispiel: '/about/contact/'. Wichtig: vorne und hinten muss ein / stehen." #: contrib/flatpages/models.py:9 msgid "title" @@ -1605,12 +1511,8 @@ msgid "template name" msgstr "Name der Vorlage" #: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Beispiel: 'flatpages/contact_page.html'. Wenn dieses Feld nicht gefüllt ist, " -"wird 'flatpages/default.html' als Standard gewählt." +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Beispiel: 'flatpages/contact_page.html'. Wenn dieses Feld nicht gefüllt ist, wird 'flatpages/default.html' als Standard gewählt." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1618,9 +1520,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 gesetzt 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" @@ -1630,84 +1530,125 @@ msgstr "Webseite" msgid "flat pages" msgstr "Webseiten" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "." -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "st" msgstr "." -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "nd" msgstr "." -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "rd" msgstr "." -#: contrib/humanize/templatetags/humanize.py:50 +#: contrib/humanize/templatetags/humanize.py:51 #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" msgstr[0] "%(value).1f Million" msgstr[1] "%(value).1f Millionen" -#: contrib/humanize/templatetags/humanize.py:53 +#: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" msgstr[0] "%(value).1f Milliarde" msgstr[1] "%(value).1f Milliarden" -#: contrib/humanize/templatetags/humanize.py:56 +#: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" msgstr[0] "%(value).1f Billion" msgstr[1] "%(value).1f Billionen" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "one" msgstr "ein" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "two" msgstr "zwei" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "three" msgstr "drei" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "four" msgstr "vier" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "five" msgstr "fünf" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "six" msgstr "sechs" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "seven" msgstr "sieben" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "eight" msgstr "acht" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "nine" msgstr "neun" -#: contrib/localflavor/au/forms.py:18 +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "heute" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "morgen" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "gestern" + +#: contrib/localflavor/ar/forms.py:27 +#, fuzzy +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." + +#: contrib/localflavor/ar/forms.py:49 +#: contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 +#: contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +#, fuzzy +msgid "This field requires only numbers." +msgstr "Dieses Feld ist zwingend erforderlich." + +#: contrib/localflavor/ar/forms.py:50 +#, fuzzy +msgid "This field requires 7 or 8 digits." +msgstr "Dieses Feld ist zwingend erforderlich." + +#: contrib/localflavor/ar/forms.py:79 +#, fuzzy +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Bitte eine gültige deutsche Personalausweisnummer im Format XXXXXXXXXXX-XXXXXXX-XXXXXXX-X eingeben." + +#: contrib/localflavor/ar/forms.py:80 +#, fuzzy +msgid "Invalid CUIT." +msgstr "Ungültige URL: %s" + +#: contrib/localflavor/au/forms.py:16 msgid "Enter a 4 digit post code." msgstr "Bitte eine gültige vierstellige Postleitzahl eingeben." -#: contrib/localflavor/br/forms.py:18 +#: contrib/localflavor/br/forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." @@ -1715,6 +1656,174 @@ msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefonnummern müssen das Format XXX-XXX-XXXX haben." +#: contrib/localflavor/br/forms.py:58 +#, fuzzy +msgid "Select a valid brazilian state. That state is not one of the available states." +msgstr "Bitte eine gültige Auswahl treffen." + +#: contrib/localflavor/br/forms.py:94 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +#, fuzzy +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Bitte sicherstellen, dass der Text maximal %d Zeichen hat." + +#: contrib/localflavor/br/forms.py:134 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:136 +#, fuzzy +msgid "This field requires at least 14 digits" +msgstr "Dieses Feld ist zwingend erforderlich." + +#: contrib/localflavor/ca/forms.py:17 +#, fuzzy +msgid "Enter a postal code in the format XXX XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX eingeben." + +#: contrib/localflavor/ca/forms.py:88 +#, fuzzy +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Bitte eine gültige US-amerikanische Sozialversicherungsnummer im Format XXX-XX-XXXX eingeben." + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +#, fuzzy +msgid "Berne" +msgstr "Berlin" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +#, fuzzy +msgid "Glarus" +msgstr "Gruppen" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +#, fuzzy +msgid "Lucerne" +msgstr "Benutzername" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +#, fuzzy +msgid "Thurgau" +msgstr "Thüringen" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +#, fuzzy +msgid "Uri" +msgstr "Fr" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +#, fuzzy +msgid "Zug" +msgstr "Aug" + +#: contrib/localflavor/ch/ch_states.py:30 +#, fuzzy +msgid "Zurich" +msgstr "Türkisch" + +#: contrib/localflavor/ch/forms.py:16 +#: contrib/localflavor/no/forms.py:12 +msgid "Enter a zip code in the format XXXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXX eingeben." + +#: contrib/localflavor/ch/forms.py:64 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:29 +#, fuzzy +msgid "Enter a valid Chilean RUT." +msgstr "Bitte einen gültigen Dateinamen eingeben." + +#: contrib/localflavor/cl/forms.py:30 +#, fuzzy +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." + +#: contrib/localflavor/cl/forms.py:31 +#, fuzzy +msgid "The Chilean RUT is not valid." +msgstr "Dieses Feld ist ungültig." + #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" msgstr "Baden-Württemberg" @@ -1779,28 +1888,375 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thüringen" -#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/de/forms.py:14 +#: contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 msgid "Enter a zip code in the format XXXXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXX eingeben." -#: contrib/localflavor/de/forms.py:60 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." -msgstr "" -"Bitte eine gültige deutsche Personalausweisnummer im Format " -"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X eingeben." +#: contrib/localflavor/de/forms.py:41 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Bitte eine gültige deutsche Personalausweisnummer im Format XXXXXXXXXXX-XXXXXXX-XXXXXXX-X eingeben." -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +#, fuzzy +msgid "Avila" +msgstr "April" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +#, fuzzy +msgid "Barcelona" +msgstr "Mazedonisch" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +#, fuzzy +msgid "Granada" +msgstr "Kannada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +#, fuzzy +msgid "Huesca" +msgstr "Dienstag" + +#: contrib/localflavor/es/es_provinces.py:27 +#, fuzzy +msgid "Jaen" +msgstr "Jan." + +#: contrib/localflavor/es/es_provinces.py:28 +#, fuzzy +msgid "Leon" +msgstr "Anmelden" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +#, fuzzy +msgid "Palencia" +msgstr "Galicisch" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +#, fuzzy +msgid "Cantabria" +msgstr "Katalanisch" + +#: contrib/localflavor/es/es_provinces.py:44 +#, fuzzy +msgid "Segovia" +msgstr "Slowenisch" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +#, fuzzy +msgid "Soria" +msgstr "Serbisch" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +#, fuzzy +msgid "Teruel" +msgstr "Di" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +#, fuzzy +msgid "Valencia" +msgstr "Galicisch" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +#, fuzzy +msgid "Canary Islands" +msgstr "Saarland" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +#, fuzzy +msgid "Catalonia" +msgstr "Katalanisch" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +#, fuzzy +msgid "Galicia" +msgstr "Galicisch" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:19 +#, fuzzy +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." + +#: contrib/localflavor/es/forms.py:39 +#, fuzzy +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." + +#: contrib/localflavor/es/forms.py:66 +#, fuzzy +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Bitte eine gültige IP-Adresse eingeben." + +#: contrib/localflavor/es/forms.py:67 +#, fuzzy +msgid "Please enter a valid NIF or NIE." +msgstr "Bitte ein gültiges '%s' eingeben." + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:142 +#, fuzzy +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Bitte eine gültige deutsche Personalausweisnummer im Format XXXXXXXXXXX-XXXXXXX-XXXXXXX-X eingeben." + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:28 msgid "Enter a valid Finnish social security number." msgstr "Bitte eine gültige finnische Sozialversicherungsnummer eingeben." -#: contrib/localflavor/jp/forms.py:21 -msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +#: contrib/localflavor/in_/forms.py:14 +#, fuzzy +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." + +#: contrib/localflavor/is_/forms.py:17 +#, fuzzy +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." msgstr "" -"Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX " -"eingeben." + +#: contrib/localflavor/it/forms.py:14 +#, fuzzy +msgid "Enter a valid zip code." +msgstr "Bitte ein gültiges Datum eingeben." + +#: contrib/localflavor/it/forms.py:43 +#, fuzzy +msgid "Enter a valid Social Security number." +msgstr "Bitte eine gültige finnische Sozialversicherungsnummer eingeben." + +#: contrib/localflavor/it/forms.py:68 +#, fuzzy +msgid "Enter a valid VAT number." +msgstr "Bitte eine gültige Uhrzeit eingeben." + +#: contrib/localflavor/jp/forms.py:17 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" @@ -1990,51 +2446,1054 @@ msgstr "" msgid "Okinawa" msgstr "" -#: contrib/localflavor/no/forms.py:15 -msgid "Enter a zip code in the format XXXX." -msgstr "Bitte eine gültige Postleitzahl im Format XXXX eingeben." +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" -#: contrib/localflavor/no/forms.py:36 +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +#, fuzzy +msgid "Campeche" +msgstr "Tschechisch" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +#, fuzzy +msgid "Guerrero" +msgstr "Serverfehler" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +#, fuzzy +msgid "Sinaloa" +msgstr "Slowakisch" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 +#, fuzzy +msgid "Enter a valid postal code" +msgstr "Bitte einen gültigen Wert eingeben." + +#: contrib/localflavor/nl/forms.py:52 +#, fuzzy +msgid "Enter a valid phone number" +msgstr "Bitte eine ganze Zahl eingeben." + +#: contrib/localflavor/nl/forms.py:78 +#, fuzzy +msgid "Enter a valid SoFi number" +msgstr "Bitte eine gültige Uhrzeit eingeben." + +#: contrib/localflavor/nl/nl_provinces.py:4 +#, fuzzy +msgid "Drente" +msgstr "Löschen" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +#, fuzzy +msgid "Gelderland" +msgstr "Deutsch" + +#: contrib/localflavor/nl/nl_provinces.py:8 +#, fuzzy +msgid "Groningen" +msgstr "neun" + +#: contrib/localflavor/nl/nl_provinces.py:9 +#, fuzzy +msgid "Limburg" +msgstr "Hamburg" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +#, fuzzy +msgid "Utrecht" +msgstr "Französisch" + +#: contrib/localflavor/nl/nl_provinces.py:14 +#, fuzzy +msgid "Zeeland" +msgstr "Isländisch" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." msgstr "Bitte eine gültige norwegische Sozialversicherungsnummer eingeben." -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "Bitte eine gültige Postleitzahl eingeben. Ein Leerzeichen trennt die zwei Teile." +#: contrib/localflavor/pe/forms.py:24 +#, fuzzy +msgid "This field requires 8 digits." +msgstr "Dieses Feld ist zwingend erforderlich." -#: contrib/localflavor/us/forms.py:18 +#: contrib/localflavor/pe/forms.py:52 +#, fuzzy +msgid "This field requires 11 digits." +msgstr "Dieses Feld ist zwingend erforderlich." + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +#, fuzzy +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:156 +#, fuzzy +msgid "Enter a postal code in the format XX-XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX eingeben." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +#, fuzzy +msgid "Lower Silesia" +msgstr "Niedersachsen" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +#, fuzzy +msgid "Opole" +msgstr "Optional" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +#, fuzzy +msgid "Pomerania" +msgstr "Rumänisch" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +#, fuzzy +msgid "Silesia" +msgstr "Slowenisch" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +#, fuzzy +msgid "West Pomerania" +msgstr "Mecklenburg-Vorpommern" + +#: contrib/localflavor/sk/forms.py:30 +#, fuzzy +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX eingeben." + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +#, fuzzy +msgid "Brezno" +msgstr "Bremen" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +#, fuzzy +msgid "Galanta" +msgstr "Galicisch" + +#: contrib/localflavor/sk/sk_districts.py:24 +#, fuzzy +msgid "Gelnica" +msgstr "Galicisch" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +#, fuzzy +msgid "Komarno" +msgstr "Koreanisch" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +#, fuzzy +msgid "Malacky" +msgstr "Mai" + +#: contrib/localflavor/sk/sk_districts.py:42 +#, fuzzy +msgid "Martin" +msgstr "Lettisch" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +#, fuzzy +msgid "Piestany" +msgstr "Persisch" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +#, fuzzy +msgid "Sabinov" +msgstr "Nov" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +#, fuzzy +msgid "Senica" +msgstr "Slowenisch" + +#: contrib/localflavor/sk/sk_districts.py:66 +#, fuzzy +msgid "Skalica" +msgstr "Galicisch" + +#: contrib/localflavor/sk/sk_districts.py:67 +#, fuzzy +msgid "Snina" +msgstr "neun" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +#, fuzzy +msgid "Sala" +msgstr "Saarland" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +#, fuzzy +msgid "Trencin" +msgstr "Französisch" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +#, fuzzy +msgid "Enter a valid postcode." +msgstr "Bitte ein gültiges Datum eingeben." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +#, fuzzy +msgid "Devon" +msgstr "sieben" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +#, fuzzy +msgid "Kent" +msgstr "Koreanisch" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +#, fuzzy +msgid "Surrey" +msgstr "Derzeit:" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +#, fuzzy +msgid "Borders" +msgstr "Reihenfolge:" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +#, fuzzy +msgid "Fife" +msgstr "Filter" + +#: contrib/localflavor/uk/uk_regions.py:79 +#, fuzzy +msgid "Grampian" +msgstr "Deutsch" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +#, fuzzy +msgid "Lothian" +msgstr "Lettisch" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +#, fuzzy +msgid "England" +msgstr "und" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +#, fuzzy +msgid "Scotland" +msgstr "Saarland" + +#: contrib/localflavor/uk/uk_regions.py:93 +#, fuzzy +msgid "Wales" +msgstr "Walisisch" + +#: contrib/localflavor/us/forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXX oder XXXXX-XXXX eingeben." -#: contrib/localflavor/us/forms.py:51 +#: contrib/localflavor/us/forms.py:54 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Bitte eine gültige US-amerikanische Sozialversicherungsnummer im Format XXX-XX-XXXX eingeben." + +#: contrib/localflavor/za/forms.py:20 +#, fuzzy +msgid "Enter a valid South African ID number" +msgstr "Bitte eine gültige norwegische Sozialversicherungsnummer eingeben." + +#: contrib/localflavor/za/forms.py:54 +#, fuzzy +msgid "Enter a valid South African postal code" +msgstr "Bitte eine gültige vierstellige Postleitzahl eingeben." + +#: contrib/localflavor/za/za_provinces.py:4 +#, fuzzy +msgid "Eastern Cape" +msgstr "Benutzername" + +#: contrib/localflavor/za/za_provinces.py:5 +#, fuzzy +msgid "Free State" +msgstr "Bewertungsdatum" + +#: contrib/localflavor/za/za_provinces.py:6 +#, fuzzy +msgid "Gauteng" +msgstr "Aug" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" msgstr "" -"Bitte eine gültige US-amerikanische Sozialversicherungsnummer im Format " -"XXX-XX-XXXX eingeben." + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +#, fuzzy +msgid "North West" +msgstr "Nordrhein-Westfalen" + +#: contrib/localflavor/za/za_provinces.py:12 +#, fuzzy +msgid "Western Cape" +msgstr "Benutzername" #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "Umleitung von" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Hier sollte ein absoluter Pfad stehen, ohne den Domainnamen. Beispiel: '/" -"events/search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Hier sollte ein absoluter Pfad stehen, ohne den Domainnamen. Beispiel: '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" msgstr "Umleitung zu" #: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Hier muss entweder ein absoluter Pfad oder eine komplette URL mit http:// am " -"Anfang stehen." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Hier muss entweder ein absoluter Pfad oder eine komplette URL mit http:// am Anfang stehen." #: contrib/redirects/models.py:13 msgid "redirect" @@ -2044,161 +3503,155 @@ msgstr "Umleitung" msgid "redirects" msgstr "Umleitungen" -#: contrib/sessions/models.py:68 +#: contrib/sessions/models.py:41 msgid "session key" msgstr "Sitzungs-ID" -#: contrib/sessions/models.py:69 +#: contrib/sessions/models.py:42 msgid "session data" msgstr "Sitzungsdaten" -#: contrib/sessions/models.py:70 +#: contrib/sessions/models.py:43 msgid "expire date" msgstr "Verfallsdatum" -#: contrib/sessions/models.py:74 +#: contrib/sessions/models.py:48 msgid "session" msgstr "Sitzung" -#: contrib/sessions/models.py:75 +#: contrib/sessions/models.py:49 msgid "sessions" msgstr "Sitzungen" -#: contrib/sites/models.py:10 +#: contrib/sites/models.py:32 msgid "domain name" msgstr "Domainname" -#: contrib/sites/models.py:11 +#: contrib/sites/models.py:33 msgid "display name" msgstr "Anzeigename" -#: contrib/sites/models.py:15 +#: contrib/sites/models.py:37 msgid "site" msgstr "Website" -#: contrib/sites/models.py:16 +#: contrib/sites/models.py:38 msgid "sites" msgstr "Websites" -#: core/validators.py:64 +#: core/validators.py:72 msgid "This value must contain only letters, numbers and underscores." msgstr "Dieser Wert darf nur Buchstaben, Ziffern und Unterstriche enthalten." -#: core/validators.py:68 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Schrägstriche " -"enthalten." - -#: core/validators.py:72 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "" -"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche " -"enthalten." - #: core/validators.py:76 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Schrägstriche enthalten." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten." + +#: core/validators.py:84 msgid "Uppercase letters are not allowed here." msgstr "Großbuchstaben sind hier nicht erlaubt." -#: core/validators.py:80 +#: core/validators.py:88 msgid "Lowercase letters are not allowed here." msgstr "Kleinbuchstaben sind hier nicht erlaubt." -#: core/validators.py:87 +#: core/validators.py:95 msgid "Enter only digits separated by commas." msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt." -#: core/validators.py:99 +#: core/validators.py:107 msgid "Enter valid e-mail addresses separated by commas." msgstr "Bitte mit Komma getrennte, gültige E-Mail-Adressen eingeben." -#: core/validators.py:103 +#: core/validators.py:111 msgid "Please enter a valid IP address." msgstr "Bitte eine gültige IP-Adresse eingeben." -#: core/validators.py:107 +#: core/validators.py:115 msgid "Empty values are not allowed here." msgstr "Dieses Feld darf nicht leer sein." -#: core/validators.py:111 +#: core/validators.py:119 msgid "Non-numeric characters aren't allowed here." msgstr "Nichtnumerische Zeichen sind hier nicht erlaubt." -#: core/validators.py:115 +#: core/validators.py:123 msgid "This value can't be comprised solely of digits." msgstr "Dieser Wert darf nicht nur aus Ziffern bestehen." -#: core/validators.py:120 newforms/fields.py:128 +#: core/validators.py:128 +#: newforms/fields.py:151 msgid "Enter a whole number." msgstr "Bitte eine ganze Zahl eingeben." -#: core/validators.py:124 +#: core/validators.py:132 msgid "Only alphabetical characters are allowed here." msgstr "Nur alphabetische Zeichen sind hier erlaubt." -#: core/validators.py:139 +#: core/validators.py:147 msgid "Year must be 1900 or later." msgstr "Das Jahr muss 1900 oder später sein." -#: core/validators.py:143 +#: core/validators.py:151 #, python-format msgid "Invalid date: %s" msgstr "Ungültiges Datum: %s" -#: core/validators.py:148 db/models/fields/__init__.py:457 +#: core/validators.py:156 +#: db/models/fields/__init__.py:522 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Bitte ein gültiges Datum im Format JJJJ-MM-TT eingeben." -#: core/validators.py:153 +#: core/validators.py:161 msgid "Enter a valid time in HH:MM format." msgstr "Bitte eine gültige Zeit im Format SS:MM eingeben." -#: core/validators.py:157 db/models/fields/__init__.py:526 +#: core/validators.py:165 +#: db/models/fields/__init__.py:599 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "" -"Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM " -"eingeben." +msgstr "Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM eingeben." -#: core/validators.py:162 newforms/fields.py:271 +#: core/validators.py:170 +#: newforms/fields.py:402 msgid "Enter a valid e-mail address." msgstr "Bitte eine gültige E-Mail-Adresse eingeben." -#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672 +#: core/validators.py:182 +#: core/validators.py:474 +#: newforms/fields.py:432 +#: oldforms/__init__.py:687 msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Es wurde keine Datei übermittelt. Eventuell ist das Formular-Encoding falsch." +msgstr "Es wurde keine Datei übermittelt. Eventuell ist das Formular-Encoding falsch." -#: core/validators.py:178 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Bitte ein Bild hochladen. Die hochgeladene Datei ist kein Bild, oder ist " -"defekt." +#: core/validators.py:193 +#: newforms/fields.py:458 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Bitte ein Bild hochladen. Die hochgeladene Datei ist kein Bild, oder ist defekt." -#: core/validators.py:185 +#: core/validators.py:200 #, python-format msgid "The URL %s does not point to a valid image." msgstr "Die URL %s zeigt nicht auf ein gültiges Bild." -#: core/validators.py:189 +#: core/validators.py:204 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefonnummern müssen das Format XXX-XXX-XXXX haben. \"%s\" ist ungültig." +msgstr "Telefonnummern müssen das Format XXX-XXX-XXXX haben. \"%s\" ist ungültig." -#: core/validators.py:197 +#: core/validators.py:212 #, 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." -#: core/validators.py:201 +#: core/validators.py:216 msgid "A valid URL is required." msgstr "Eine gültige URL wird hier verlangt." -#: core/validators.py:215 +#: core/validators.py:230 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -2207,382 +3660,412 @@ msgstr "" "Bitte gültiges HTML eingeben. Fehler sind:\n" "%s" -#: core/validators.py:222 +#: core/validators.py:237 #, python-format msgid "Badly formed XML: %s" msgstr "Ungültiges XML: %s" -#: core/validators.py:239 +#: core/validators.py:254 #, python-format msgid "Invalid URL: %s" msgstr "Ungültige URL: %s" -#: core/validators.py:244 core/validators.py:246 +#: core/validators.py:259 +#: core/validators.py:261 #, python-format msgid "The URL %s is a broken link." msgstr "Die URL %s funktioniert nicht." -#: core/validators.py:252 +#: core/validators.py:267 msgid "Enter a valid U.S. state abbreviation." msgstr "Bitte eine gültige Abkürzung für einen US-Staat eingeben." -#: core/validators.py:266 +#: core/validators.py:281 #, 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] "Keine Schimpfworte! Das Wort %s ist hier nicht gern gesehen!" msgstr[1] "Keine Schimpfworte! Die Wörter %s sind hier nicht gern gesehen!" -#: core/validators.py:273 +#: core/validators.py:288 #, python-format msgid "This field must match the '%s' field." msgstr "Dieses Feld muss zum Feld '%s' passen." -#: core/validators.py:292 +#: core/validators.py:307 msgid "Please enter something for at least one field." msgstr "Bitte mindestens eines der Felder ausfüllen." -#: core/validators.py:301 core/validators.py:312 +#: core/validators.py:316 +#: core/validators.py:327 msgid "Please enter both fields or leave them both empty." msgstr "Bitte entweder beide Felder ausfüllen, oder beide leer lassen." -#: core/validators.py:320 +#: core/validators.py:335 #, python-format msgid "This field must be given if %(field)s is %(value)s" -msgstr "" -"Dieses Feld muss gefüllt sein, wenn Feld %(field)s den Wert %(value)s hat." +msgstr "Dieses Feld muss gefüllt sein, wenn Feld %(field)s den Wert %(value)s hat." -#: core/validators.py:333 +#: core/validators.py:348 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" -"Dieses Feld muss gefüllt sein, wenn Feld %(field)s nicht %(value)s ist." +msgstr "Dieses Feld muss gefüllt sein, wenn Feld %(field)s nicht %(value)s ist." -#: core/validators.py:352 +#: core/validators.py:367 msgid "Duplicate values are not allowed." msgstr "Doppelte Werte sind hier nicht erlaubt." -#: core/validators.py:367 +#: core/validators.py:382 #, python-format msgid "This value must be between %(lower)s and %(upper)s." msgstr "Dieser Wert muss zwischen %(lower)s und %(upper)s sein." -#: core/validators.py:369 +#: core/validators.py:384 #, python-format msgid "This value must be at least %s." msgstr "Dieser Wert muss mindestens %s sein." -#: core/validators.py:371 +#: core/validators.py:386 #, python-format msgid "This value must be no more than %s." msgstr "Dieser Wert darf maximal %s sein." -#: core/validators.py:407 +#: core/validators.py:427 #, python-format msgid "This value must be a power of %s." msgstr "Dieser Wert muss eine Potenz von %s sein." -#: core/validators.py:418 +#: core/validators.py:437 msgid "Please enter a valid decimal number." msgstr "Bitte eine gültige Dezimalzahl eingeben." -#: core/validators.py:422 +#: core/validators.py:444 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." +msgid_plural "Please enter a valid decimal number with at most %s total digits." msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben." msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben." -#: core/validators.py:425 +#: core/validators.py:447 #, python-format -msgid "" -"Please enter a valid decimal number with a whole part of at most %s digit." -msgid_plural "" -"Please enter a valid decimal number with a whole part of at most %s digits." -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." +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 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:428 +#: core/validators.py:450 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "" -"Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstelle eingeben." -msgstr[1] "" -"Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstellen eingeben." +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[1] "Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstellen eingeben." -#: core/validators.py:438 +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "Bitte eine gültige Dezimalzahl eingeben." + +#: core/validators.py:467 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" -"Bitte sicherstellen, dass die hochgeladene Datei mindestens %s Bytes groß " -"ist." +msgstr "Bitte sicherstellen, dass die hochgeladene Datei mindestens %s Bytes groß ist." -#: core/validators.py:439 +#: core/validators.py:468 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" -"Bitte sicherstellen, dass die hochgeladene Datei maximal %s Bytes groß ist." +msgstr "Bitte sicherstellen, dass die hochgeladene Datei maximal %s Bytes groß ist." -#: core/validators.py:456 +#: core/validators.py:485 msgid "The format for this field is wrong." msgstr "Das Format für dieses Feld ist falsch." -#: core/validators.py:471 +#: core/validators.py:500 msgid "This field is invalid." msgstr "Dieses Feld ist ungültig." -#: core/validators.py:507 +#: core/validators.py:536 #, python-format msgid "Could not retrieve anything from %s." msgstr "Konnte nichts von %s empfangen." -#: core/validators.py:510 +#: core/validators.py:539 #, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "Die URL %(url)s lieferte den falschen Content-Type '%(contenttype)s'." -#: core/validators.py:543 +#: core/validators.py:572 #, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Bitte das ungeschlossene %(tag)s Tag in Zeile %(line)s schließen. Die Zeile " -"beginnt mit \"%(start)s\"." +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Bitte das ungeschlossene %(tag)s Tag in Zeile %(line)s schließen. Die Zeile beginnt mit \"%(start)s\"." -#: core/validators.py:547 +#: core/validators.py:576 #, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile " -"beginnt mit \"%(start)s\"." +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile beginnt mit \"%(start)s\"." -#: core/validators.py:552 +#: core/validators.py:581 #, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"Das Attribute %(attr)s in Zeile %(line)s ist ungültig. Die Zeile beginnt mit " -"\"%(start)s\"." +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "Das Attribute %(attr)s in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s\"." -#: core/validators.py:557 +#: core/validators.py:586 #, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"<%(tag)s> in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s" -"\"." +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "<%(tag)s> in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s\"." -#: core/validators.py:561 +#: core/validators.py:590 #, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die " -"Zeile beginnt mit \"%(start)s\"." +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die Zeile beginnt mit \"%(start)s\"." -#: core/validators.py:566 +#: core/validators.py:595 #, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Das Attribut %(attr)s in Zeile %(line)s hat einen ungültigen Wert. Die Zeile " -"beginnt mit \"%(start)s\"." +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "Das Attribut %(attr)s in Zeile %(line)s hat einen ungültigen Wert. Die Zeile beginnt mit \"%(start)s\"." -#: db/models/manipulators.py:307 +#: db/models/manipulators.py:308 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" -"Ein '%(object)s' in dieser '%(type)s' existiert bereits für dieses '%(field)" -"s'." +msgstr "Ein '%(object)s' in dieser '%(type)s' existiert bereits für dieses '%(field)s'." -#: db/models/fields/__init__.py:42 +#: db/models/fields/__init__.py:52 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "Ein '%(optname)s' mit diesem '%(fieldname)s' existiert bereits." -#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 -#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621 -#: newforms/fields.py:80 newforms/fields.py:376 newforms/fields.py:452 -#: newforms/fields.py:463 newforms/models.py:178 oldforms/__init__.py:357 +#: db/models/fields/__init__.py:161 +#: db/models/fields/__init__.py:322 +#: db/models/fields/__init__.py:754 +#: db/models/fields/__init__.py:765 +#: newforms/fields.py:45 +#: oldforms/__init__.py:374 msgid "This field is required." msgstr "Dieses Feld ist zwingend erforderlich." -#: db/models/fields/__init__.py:367 +#: db/models/fields/__init__.py:422 msgid "This value must be an integer." msgstr "Dieser Wert muss eine Ganzzahl sein." -#: db/models/fields/__init__.py:402 +#: db/models/fields/__init__.py:461 msgid "This value must be either True or False." msgstr "Dieser Wert muss wahr oder falsch sein." -#: db/models/fields/__init__.py:423 +#: db/models/fields/__init__.py:485 msgid "This field cannot be null." msgstr "Dieses Feld darf nicht leer sein." -#: db/models/fields/__init__.py:630 +#: db/models/fields/__init__.py:663 +msgid "This value must be a decimal number." +msgstr "Dieser Wert muss eine Ganzzahl sein." + +#: db/models/fields/__init__.py:774 msgid "Enter a valid filename." msgstr "Bitte einen gültigen Dateinamen eingeben." -#: db/models/fields/__init__.py:751 +#: db/models/fields/__init__.py:945 msgid "This value must be either None, True or False." msgstr "Dieser Wert muss None, True oder False sein." -#: db/models/fields/related.py:53 +#: db/models/fields/related.py:93 #, python-format msgid "Please enter a valid %s." msgstr "Bitte ein gültiges '%s' eingeben." -#: db/models/fields/related.py:642 +#: db/models/fields/related.py:694 msgid "Separate multiple IDs with commas." 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." +#: db/models/fields/related.py:696 +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." -#: db/models/fields/related.py:691 +#: db/models/fields/related.py:743 #, 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] "" -"Bitte gültige IDs für %(self)s eingeben. Der Wert %(value)r ist ungültig." -msgstr[1] "" -"Bitte gültige IDs für %(self)s eingeben. Die Werte %(value)r sind ungültig." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Bitte gültige IDs für %(self)s eingeben. Der Wert %(value)r ist ungültig." +msgstr[1] "Bitte gültige IDs für %(self)s eingeben. Die Werte %(value)r sind ungültig." -#: newforms/fields.py:103 newforms/fields.py:256 +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "Bitte einen gültigen Wert eingeben." + +#: newforms/fields.py:123 #, python-format -msgid "Ensure this value has at most %d characters." -msgstr "Bitte sicherstellen, dass der Text maximal %d Zeichen hat." +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "Bitte sicherstellen, dass der Text maximal %(max)d Zeichen hat. (Er hat %(length)d)." -#: newforms/fields.py:105 newforms/fields.py:258 +#: newforms/fields.py:124 #, python-format -msgid "Ensure this value has at least %d characters." -msgstr "Bitte sicherstellen, dass der Text wenigstens %d Zeichen hat." +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "Bitte sicherstellen, dass der Text wenigstens %(min)d Zeichen hat. (Er hat %(length)d.)" -#: newforms/fields.py:130 +#: newforms/fields.py:152 +#: newforms/fields.py:181 +#: newforms/fields.py:210 #, python-format msgid "Ensure this value is less than or equal to %s." msgstr "Dieser Wert darf maximal %s sein." -#: newforms/fields.py:132 +#: newforms/fields.py:153 +#: newforms/fields.py:182 +#: newforms/fields.py:211 #, python-format msgid "Ensure this value is greater than or equal to %s." msgstr "Dieser Wert muss größer oder gleich %s sein." -#: newforms/fields.py:165 +#: newforms/fields.py:180 +#: newforms/fields.py:209 +msgid "Enter a number." +msgstr "Bitte eine Zahl eingeben." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Bitte geben Sie nicht mehr als insgesamt %s Ziffern ein." + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Bitte geben Sie nicht mehr als %s Dezimalstellen ein." + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Bitte geben Sie nicht mehr als %s Ziffern vor dem Komma ein." + +#: newforms/fields.py:262 +#: newforms/fields.py:723 msgid "Enter a valid date." msgstr "Bitte ein gültiges Datum eingeben." -#: newforms/fields.py:192 +#: newforms/fields.py:295 +#: newforms/fields.py:724 msgid "Enter a valid time." msgstr "Bitte eine gültige Uhrzeit eingeben." -#: newforms/fields.py:228 +#: newforms/fields.py:334 msgid "Enter a valid date/time." msgstr "Bitte gültiges Datum und Uhrzeit eingeben." -#: newforms/fields.py:242 -msgid "Enter a valid value." -msgstr "Bitte einen gültigen Wert eingeben." +#: newforms/fields.py:433 +msgid "No file was submitted." +msgstr "Es wurde keine Datei übertragen." -#: newforms/fields.py:289 newforms/fields.py:311 +#: newforms/fields.py:434 +#: oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "Die ausgewählte Datei ist leer." + +#: newforms/fields.py:496 msgid "Enter a valid URL." msgstr "Bitte eine gültige Adresse eingeben." -#: newforms/fields.py:313 +#: newforms/fields.py:497 msgid "This URL appears to be a broken link." msgstr "Diese Adresse scheint nicht gültig zu sein." -#: newforms/fields.py:362 newforms/models.py:165 +#: newforms/fields.py:559 +#: newforms/models.py:300 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Bitte eine gültige Auswahl treffen." -#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +#: newforms/fields.py:598 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Bitte eine gültige Auswahl treffen. %(value)s ist keine gültige Auswahl." + +#: newforms/fields.py:599 +#: newforms/fields.py:661 +#: newforms/models.py:360 msgid "Enter a list of values." msgstr "Eine Liste mit Werten eingeben." -#: newforms/fields.py:389 newforms/models.py:188 +#: newforms/fields.py:752 +msgid "Enter a valid IPv4 address." +msgstr "Bitte eine gültige IPv4-Adresse eingeben." + +#: newforms/models.py:361 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Bitte eine gültige Auswahl treffen. %s ist keine gültige Auswahl." -#: oldforms/__init__.py:392 +#: oldforms/__init__.py:409 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." msgstr[0] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." msgstr[1] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." -#: oldforms/__init__.py:397 +#: oldforms/__init__.py:414 msgid "Line breaks are not allowed here." msgstr "Zeilenumbrüche sind hier nicht erlaubt." -#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#: oldforms/__init__.py:512 +#: oldforms/__init__.py:586 +#: oldforms/__init__.py:625 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" -"Bitte eine gültige Auswahl treffen; '%(data)s' ist nicht in %(choices)s." +msgstr "Bitte eine gültige Auswahl treffen; '%(data)s' ist nicht in %(choices)s." -#: oldforms/__init__.py:674 -msgid "The submitted file is empty." -msgstr "Die ausgewählte Datei ist leer." - -#: oldforms/__init__.py:730 +#: oldforms/__init__.py:745 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Bitte eine Ganzzahl zwischen -32.768 und 32.767 eingeben." -#: oldforms/__init__.py:740 +#: oldforms/__init__.py:755 msgid "Enter a positive number." msgstr "Bitte eine ganze, positive Zahl eingeben." -#: oldforms/__init__.py:750 +#: oldforms/__init__.py:765 msgid "Enter a whole number between 0 and 32,767." msgstr "Bitte eine ganze Zahl zwischen 0 und 32.767 eingeben." -#: template/defaultfilters.py:491 +#: template/defaultfilters.py:695 msgid "yes,no,maybe" msgstr "Ja,Nein,Vielleicht" -#: utils/dateformat.py:40 +#: template/defaultfilters.py:726 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d Byte" +msgstr[1] "%(size)d Bytes" + +#: template/defaultfilters.py:728 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:730 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:731 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: utils/dateformat.py:41 msgid "p.m." msgstr "nachm." -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "a.m." msgstr "vorm." -#: utils/dateformat.py:46 +#: utils/dateformat.py:47 msgid "PM" msgstr "nachm." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "AM" msgstr "vorm." -#: utils/dateformat.py:95 +#: utils/dateformat.py:97 msgid "midnight" msgstr "Mitternacht" -#: utils/dateformat.py:97 +#: utils/dateformat.py:99 msgid "noon" msgstr "Mittag" @@ -2642,183 +4125,206 @@ msgstr "Sa" msgid "Sun" msgstr "So" -#: utils/dates.py:14 +#: utils/dates.py:18 msgid "January" msgstr "Januar" -#: utils/dates.py:14 +#: utils/dates.py:18 msgid "February" msgstr "Februar" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "March" msgstr "März" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "April" msgstr "April" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "May" msgstr "Mai" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "June" msgstr "Juni" -#: utils/dates.py:15 utils/dates.py:27 +#: utils/dates.py:19 +#: utils/dates.py:31 msgid "July" msgstr "Juli" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "August" msgstr "August" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "September" msgstr "September" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "October" msgstr "Oktober" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "November" msgstr "November" -#: utils/dates.py:16 +#: utils/dates.py:20 msgid "December" msgstr "Dezember" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "jan" msgstr "Jan" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "feb" msgstr "Feb" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "mar" msgstr "Mär" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "apr" msgstr "Apr" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "may" msgstr "Mai" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "jun" msgstr "Jun" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "jul" msgstr "Jul" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "aug" msgstr "Aug" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "sep" msgstr "Sep" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "oct" msgstr "Okt" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "nov" msgstr "Nov" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "dec" msgstr "Dez" -#: utils/dates.py:27 +#: utils/dates.py:31 msgid "Jan." msgstr "Jan." -#: utils/dates.py:27 +#: utils/dates.py:31 msgid "Feb." msgstr "Feb." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Aug." msgstr "Aug." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Sept." msgstr "Sept." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Oct." msgstr "Okt." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Nov." msgstr "Nov." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Dec." msgstr "Dez." -#: utils/timesince.py:12 +#: utils/text.py:127 +msgid "or" +msgstr "oder" + +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "Jahr" msgstr[1] "Jahre" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "Monat" msgstr[1] "Monate" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "Woche" msgstr[1] "Wochen" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" -#: utils/timesince.py:16 +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "Stunde" msgstr[1] "Stunden" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: utils/translation/trans_real.py:358 +#: utils/timesince.py:46 +msgid "minutes" +msgstr "Minuten" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:404 msgid "DATE_FORMAT" msgstr "j. N Y" -#: utils/translation/trans_real.py:359 +#: utils/translation/trans_real.py:405 msgid "DATETIME_FORMAT" msgstr "j. N Y, H:i" -#: utils/translation/trans_real.py:360 +#: utils/translation/trans_real.py:406 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:376 +#: utils/translation/trans_real.py:422 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:377 +#: utils/translation/trans_real.py:423 msgid "MONTH_DAY_FORMAT" msgstr "j. F" @@ -2836,3 +4342,10 @@ msgstr "%(verbose_name)s wurde erfolgreich aktualisiert." #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s wurde gelöscht" + +#~ msgid "" +#~ "Enter a postcode. A space is required between the two postcode parts." +#~ msgstr "" +#~ "Bitte eine gültige Postleitzahl eingeben. Ein Leerzeichen trennt die zwei " +#~ "Teile." + diff --git a/django/conf/locale/it/LC_MESSAGES/django.mo b/django/conf/locale/it/LC_MESSAGES/django.mo index 0662d20823a9d660fe762d04b07ffab492aac950..c32cc69f534f3d70bdd45fd5b1f1f20c2674fbaa 100644 GIT binary patch delta 13623 zcmYk?2V9rc9>?(qnW6%Mf?HG&L56^$;t2N^x43f8TsU*}ccdw)W#q`cS6Qw!cdj&7 zuF|WeSvhj=(XjjZa*nST&+DGv=XcI|&U()C@W0)AeS!Prh3>8^fgZCRu8BDurwB&p zbDVbWj#IUaN*!lu1;_c+&2g4te&VExj?)SoV=6Ag!uSY%Fi$1N3Bq8kgHf1>gHipj zwC=|U$8kAVOvdr5>^PA$h{b43Lk&0?b>jjXe}mnKPodh!Cp%67?0{Z444J<(26Lm! zmQP1bFcWj)LUd<*XSFR@k6OuARKwF4fd4~Jyp0;*A&$crm3s@u-2Pqb9l()!`b{0=C)u zBdDFYjOyn)>QUT5jq?z7-z!uW8$N3TqV>3L4oG+(visSUg)~JE@pbq6J z)XM%qoq^|A2t8_;GgKT)5LZD>q!Vi3?x=+gL5(}nMMlqfCYHbjSQPhQNxY2O>ep7U znvTPp==fn>tc^+dp^Xn<9pap|*j`Mpq(4Yf1HxcP6PEpwVQ-7xD#98EiA0}ze+vFX+S|+ zjKgJE5YJ#Z-m&JbpY_3TDxy}>8B_2ZERC;Fhc=YXbblh2!6vA)GXk}s4AcVmVo|;S z7szNUo}p%(r=jDt#4@Ok#$pQ2LAASprSJi&db7!F#HZR zkvka4_)c;5Pb+PJ5jY67qPeJsdr{BwG3wBTHE|s7b&_xZPQ+aJ5Iyi8^g*|#d^6A& z^#Q7dIWY~rup7F($@C@D8q?7ikDz9J7PVEka0I%gn)-K99ZW)Z%s>q|)0WRg^}E=* z+SY$*>$h9?rn3JzXn2?cKRk+_c)>RK1=Z0XHoj})C&+np{zk1hg?CmftAkoVs*T%Y zJ>nkdk6++8+>PotxjFlbq_{TegSpp+&Iz!m=D!) zIBH@sHcmk8P_iwrg}l*DeHR%WwhUWw1+}%mqb712)!|DUt8ocpKUBMNm>Vmi+SNww zKw}(=ZBg~dQT<)S2)u#1-{sfJ+?XG=f}*GnVo~pHWz+{}FzV5)Mm_T{P#tbW?ZjS; z!CR;^6U>29yExQ9iKu>)QID<;R?z#OK}H>Yi<;>v)S0-9fp`Uj@e%3+UR@rVf#>LI0O5#jpeF#?hD$r=bqx zV$@2$K~4OC^%QF2mrxV`4Yi{WF$Vud{_r_v+wl_*`|%G~3YkM>n4II;-aNZb7)m_C zIu}b5e}j$iD$c>O9UNy09>9s%priT1oj^UBN0@*`JDHtphLeb0_yM}V&Hi^M^WocO z%O0Rs_8c{Hr?dHEk_WY-mZ+WTiUlwowc-raPJM!U*2`@DX4E4&j$QFQ=EbBgro4U^ zm+7E61v;(mY(*#3A?bzM`ggD(jz?|zeAF{ujT&GBYU0~42*1UqcpmFuDMqi3eX$;{ z#Y*_lMW!T~$ZqEKYK-cr1!`p-kw24857dr~N4*s@Z2eNyir1nhvIDgf2T&6@gK8hj zHfv&usEOA@jpJ%chW|Ke{DYr+&Tjk)U!k^oT@T|9)P%mrqId?~@d2vCC$|1C)DGq7 zX?D;Lwelb=ge{O`;S4~YhRZodCYFMzUgmJM!*ax{tUsY%Gw{+{DI%P!n2= z@wgjxNbh3>OzvY2<6ta8ybzOd2kP&S^OQ^}3TpQ?4f>!??_>7@>JchmFIGeE@YQ?$xn*~H*2yt~xz&4n~_|7yk8t7XrhBvSzdJZrvD}$wp z>taP5fZBmo=!-{?SKB#@4Y2G$^EwYlP3$Cw;lHT+N)9sP)J9iv3c8cg7i|*8;&v>9 zH&8p{KiE9OM663Z1e@Xx%!xkf<}3uF4{}VGZ1ZN%#!)D58g(0a{~T;Wg$5>NxDU=TJ&weNx&urI3J0MvbBQ0=Fp z9?7SuN3;U{_5QE34R)Y9IE*@k-=lWs4C*lbj5SqtCpQE<^tc|ar z`nhGji&?+_ACl3GUZS?hZM4~e0Mv{NU?3JpZFvG}z`CfNX^A;7&Bh(9T~Gt|M78gW zn%D^I_|fdYR*+#E&auu%b+{Ncv1O>0tw**08nw0iF$8}=b$rwM$ojX{bBw9?w-&UP z8pHnU#uy4TU`5n`$*2Kpp$2S@YS#(#V{Z(@aj0jz95unUs1 zMbv%QTx7I`H*LXPR0oey6MBy7;1vd-*I3g&1U11TsCH4PFJKI+8}K)w^q;R?cf#1U8#2VqHEgN5-JM&b?BiUTH^4^}0NA|8!;M60j_ z?y~VO*pv7PMq|54`VGnRpF&2bdiz?$ojNgv4dLtQT&AE9w)(&{7=)VnDAY`6p*miJ z5qKEA@E&SKPf{%oPp{f6L;fsY=@nv@f!elpceKIY6pgAm>rmkI>bv*_wRC%DNg1XhT?53iMc*B z6N*Jmup;VE)<;dGy{+$u<%ox3EUrYI`g52IpP@IpO*d~-PSgZzU?p_DPo^cAJ(z}h zXPAHU*$?<BTv8B1f+ndVUp$9lw>s4cyWywA=9)P1=>G83weal}JWV_`Z4Hu$z=s(oNOMYV7jX>SE3AH1qu?)Ipn*a72 zh5d-ruq__Ma(W>Pe`-!^V+^IDCu+u1upn;3%6J;X(08^m4nv7s*?2hW49rJ8f~VLJ zgXfqDcSTL;eGI`3SV-^xVcXzW)IjcY&Cl^_sJ9{=V{tlaCw5^1zOdy{^UQ?Xp$3?S z$+#IS;62QXr9Lwgtbo0VKSGxd$qO<%?e6o%qZZN+ueX}xcKj{0D{wz1DbQy+lppa5!O zMNqG83~GXjsD6^IHEnrAY(#l;)I=98WdAk51`0I8?Wp(=w!>4lVVOnd-&|Be4X_(S z@E~f3E~6&$7z5FLv3ae7tx484SdID-sQb3M$OMr&j@pT8HZ@D$Vz&A@oQ|4Yf}bvuj2FvoJ!VF}bg z;i!qkU@BHcZQ*p(Gdzac`b(Gt?_dGEk44dYg?Z-T7)qRuk@yJ)>HXhLM$h~-YG#*g zd=J&}3mf~aG&>cDT4@OC?FqHz(WnW>qjs_~hGQd)!E{W(C8%eA79$wn`IC$~%Dc*R zP!tu1qYh;}YGTz<12;#Vnf9n17>HWYdl-#tF+cu@h42oRM6cCmp^>Qj649j&Ymt$S zQ8R0e8n8cBMHe>1-PjoOtTE5FJ?fFnN8NWDL(y%m+4_=LiZ})JHub>IaW4+Se(TtO z?ZBmVreXW_#`jQPuH_hx7x6=UjTx9hFI_SJ7iPysqA#%vHSr9rhl@~;;<_z=fjS$$ z8_W)u+Q8^KTyYf0>R1GuU~cS(opB@<#0%(!kI)leqC38}8SV!YG-n9G>0+))lWs##A;wD)ZL8`=}lB+mco8astVy!@{VFQm7R~U<$^dRyq*7;iuRWUtkh;+G^rYu@doL z*2J&Pg8E||<&#nUe2s~C8H?!j`EN6aEgD-;(GBC(5To!W>c+tB=HG%SA@Q!T8Q+Wa{H(+=F2|&0Fvr7AE%EWnU*u zB2K|%9Eq{G8MU?7Q17|hZu2D#!_vgHunP9W^0*pv;bn9UC3BNZE9}7NawAqi&%Nf$ zRRyDo`(hZ*!LqmutKm(I!SH=%(5?)y!BIO>c=qE;S{saS2l%WU-w3c66R z3H4qE9xx3HqTY^h)Q%*eI_iV@a4=TF$(RTCqV7L|-SHe&#EJ*a&JIF%;zOtp)=`(u zoI`bd1^w{`YNgL@ob!-baY59;Wl4BhMgy!xZTT0d8Sg_qiZiGiub~G%w($$A&-dp3g6K_sQB=Ed)QY1pC&r^DTm{u{ zLyTg4r#%_nIN4Urur5M%u)(?&wW3|9_D5}e8g;6FL7j;|u^>Lhterb%cg`A&I;@4z zrA!$znpqO6<2tAgn^@bSI_hcdi#dr0pf8R@^)nGQ;g8V==VD=8YTb>x?;>i4emlng z=OA;_7TiV+`~WrJ->4P;huX5-$Bjj>C~-8ZT|;YA)Y)l)nm{XSCu=X%BOZidIPp09 zua&Q%KyI@hww|~CZhdTZJ7L-fpcYUZb74ta9*a6d)oghx79#F|rEvsmClI&dt9wKcrq4PQUWKu__UX1h=d0mIG4RILxWGq6wm3#{`{MNSr%hvZKZfnby*|MC(ac(?`A1OF(3;)KARD3`hL5Jlr`?b!-TX8(~ zRjKSq@+7|z6G#=vKg4%v6PfM)0+heGUXnRPN^s-w{gv4%D#W#frfn#Ch5FFPB^RGPBpq+XOYB~HrLM(w7MKC*o&?nZi_cp)j3 zw$re$8(*aM1U<4fJVL`@V*P(~-zF6&ua`T3d_j_~vY4M#)W%;?_K0@RNNMC(V|&s7 z(wnOx`GW+txTg@whm=cyk?K>?lpvP$Bl*&A?!X(Q$s~P6#!iXYZ_zCZnBz_AUt374sz#pGwo{0%^{YFlI?Z3k=r1Rt-;+yMh z^3_NMNXQ#-49(z);G(-S~|DOrucJHqvX- z3{oqSuDe*3hU0KC@zcy%u_3OdwliZ*YqMCt~UMv-*A zN8L!wiTvqtmQy~=)~UXqy>}*MQ;93O@jJITg=;9tpRM67D*M}b5&1>r8)Y_+3yO)f zU38=*gS3L=MruX5exS`EH6~6YzM46UJ4%q#51ShHPO{DcQW~vvT_`vNb%O2wyd&4-4A)bo^Y}q~Hcgg!= zAoF_*mzp}4Glqh(q%#zTQuqxH#)9Zhd7NqJydb_zx?|&-S2keP8({k@cHn9xfn7(Re0a!Mr3NQUQa%z&Z@R4%lf@(v(5uD%}Cy~IgW#I3-??i zAB|qb^+}V+>#9tCKl#n1dc?uRH*pl{SIWM_k4d_Y>$k&Hdt(O*5^1a}leB>Hyu_2y z54)0jlDd&@QFfa)Co!J1g}f(8*So|QNO?$Oh?{1W^4|`z6{#+%fi270|KA8o(D)`v zS3?FUjE}P-zHXGKl5auEO}-1hAicR}Q#P9P2L%DP@L%F|lCES@*Q^{nLf`LEUJ>`H z?9G<{Y#Y?TmQ+^6u{6v>KAOBgwkGu_b*212+rAc_&D@_D65NiOAW~mSrjf`xo!$8O z1!sDc&sVU4sz{wkzEtTNL3%4QzI;%Vr*xV9>OkC#w2YKU#Z}UYYz;coOKIx_vGlQY3L@;yEN;xhZQxDn~q=6lBX)mxFwN z^u#9E9f#5O2lAhhKa6cqR~am&pKy%`J|VSJW7TlQanmVcfAY2P7d(JvNj1s8jps;j zu20C{C%A^o(T`M*yo-KxwIoGsnNh*LkY~@n{d@P^G9&e?81KZGatWdF@mp$*n_bMa QXaBz42W|OrK|sR)0mxty+yDRo delta 13595 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 diff --git a/django/conf/locale/it/LC_MESSAGES/django.po b/django/conf/locale/it/LC_MESSAGES/django.po index 5c89a8b094..86356ddabf 100644 --- a/django/conf/locale/it/LC_MESSAGES/django.po +++ b/django/conf/locale/it/LC_MESSAGES/django.po @@ -2,13 +2,12 @@ # Italian translation of Django. # Copyright (C) 2006 the Lawrence Journal-World # This file is distributed under the same license as the Django package. -# msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-02-02 18:31+0100\n" -"PO-Revision-Date: 2008-02-02 19:40+0100\n" +"PO-Revision-Date: 2008-03-02 11:40+0100\n" "Last-Translator: Nicola Larosa \n" "Language-Team: Italiano\n" "MIME-Version: 1.0\n" @@ -79,7 +78,7 @@ msgstr "Francese" #: conf/global_settings.py:54 msgid "Gaeilge" -msgstr "" +msgstr "Gaelico" #: conf/global_settings.py:55 msgid "Galician" diff --git a/django/conf/locale/ka/LC_MESSAGES/django.mo b/django/conf/locale/ka/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..3ef5b610f404a7c964980f34222cd175b33b17d8 GIT binary patch literal 67203 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 MBJxv>Ic`Y)KmCq`_5c6? literal 0 HcmV?d00001 diff --git a/django/conf/locale/ka/LC_MESSAGES/django.po b/django/conf/locale/ka/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d7995e3234 --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/django.po @@ -0,0 +1,4513 @@ +# Django translation to Georgian language. +# Copyright (C) 2008 +# This file is distributed under the same license as the PACKAGE package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-22 21:55+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: David Avsajanishvili \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "არაბული" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "ბენგალიური" + +#: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "ბულგარული" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "კატალანური" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "ჩეხური" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "უელსური" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "დანიური" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "გერმანული" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "ბერძნული" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "ინგლისური" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "ესპანური" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "არგენტინის ესპანური" + +#: conf/global_settings.py:51 +msgid "Basque" +msgstr "ბასკური" + +#: conf/global_settings.py:52 +msgid "Persian" +msgstr "სპარსული" + +#: conf/global_settings.py:53 +msgid "Finnish" +msgstr "ფინური" + +#: conf/global_settings.py:54 +msgid "French" +msgstr "ფრანგული" + +#: conf/global_settings.py:55 +msgid "Irish" +msgstr "ირლანდიური" + +#: conf/global_settings.py:56 +msgid "Galician" +msgstr "გალიციური" + +#: conf/global_settings.py:57 +msgid "Hungarian" +msgstr "უნგრული" + +#: conf/global_settings.py:58 +msgid "Hebrew" +msgstr "ებრაული" + +#: conf/global_settings.py:59 +msgid "Croatian" +msgstr "ხორვატიული" + +#: conf/global_settings.py:60 +msgid "Icelandic" +msgstr "ისლანდიური" + +#: conf/global_settings.py:61 +msgid "Italian" +msgstr "იტალიური" + +#: conf/global_settings.py:62 +msgid "Japanese" +msgstr "იაპონური" + +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "ქართული" + +#: conf/global_settings.py:64 +msgid "Korean" +msgstr "კორეული" + +#: conf/global_settings.py:65 +msgid "Khmer" +msgstr "ხმერული" + +#: conf/global_settings.py:66 +msgid "Kannada" +msgstr "კანნადა" + +#: conf/global_settings.py:67 +msgid "Latvian" +msgstr "ლატვიური" + +#: conf/global_settings.py:68 +msgid "Macedonian" +msgstr "მაკედონური" + +#: conf/global_settings.py:69 +msgid "Dutch" +msgstr "ჰოლანდიური" + +#: conf/global_settings.py:70 +msgid "Norwegian" +msgstr "ნორვეგიული" + +#: conf/global_settings.py:71 +msgid "Polish" +msgstr "პოლონური" + +#: conf/global_settings.py:72 +msgid "Portugese" +msgstr "პორტუგალიური" + +#: conf/global_settings.py:73 +msgid "Brazilian" +msgstr "ბრაზილიური" + +#: conf/global_settings.py:74 +msgid "Romanian" +msgstr "რუმინული" + +#: conf/global_settings.py:75 +msgid "Russian" +msgstr "რუსული" + +#: conf/global_settings.py:76 +msgid "Slovak" +msgstr "სლოვარური" + +#: conf/global_settings.py:77 +msgid "Slovenian" +msgstr "სლოვენიური" + +#: conf/global_settings.py:78 +msgid "Serbian" +msgstr "სერბული" + +#: conf/global_settings.py:79 +msgid "Swedish" +msgstr "შვედური" + +#: conf/global_settings.py:80 +msgid "Tamil" +msgstr "თამილური" + +#: conf/global_settings.py:81 +msgid "Telugu" +msgstr "ტელუგუ" + +#: conf/global_settings.py:82 +msgid "Turkish" +msgstr "თურქული" + +#: conf/global_settings.py:83 +msgid "Ukrainian" +msgstr "უკრაინული" + +#: conf/global_settings.py:84 +msgid "Simplified Chinese" +msgstr "გამარტივებული ჩინური" + +#: conf/global_settings.py:85 +msgid "Traditional Chinese" +msgstr "ტრადიციული ჩინური" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

      By %s:

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

        %s-ს მიერ:

        \n" +"
          \n" + +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "ყველა" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "ნებისმიერი თარიღი" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "დღეს" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "ბოლო 7 დღე" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "მიმდინარე თვე" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "მიმდინარე წელი" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Yes" +msgstr "კი" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "No" +msgstr "არა" + +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Unknown" +msgstr "გაურკვეველი" + +#: contrib/admin/models.py:18 +msgid "action time" +msgstr "მოქმედების დრო" + +#: contrib/admin/models.py:21 +msgid "object id" +msgstr "ობიექტის id" + +#: contrib/admin/models.py:22 +msgid "object repr" +msgstr "ობიექტის წარმ." + +#: contrib/admin/models.py:23 +msgid "action flag" +msgstr "მოქმედების დროშა" + +#: contrib/admin/models.py:24 +msgid "change message" +msgstr "შეცვლის შეტყობინება" + +#: contrib/admin/models.py:27 +msgid "log entry" +msgstr "ლოგის ერთეული" + +#: contrib/admin/models.py:28 +msgid "log entries" +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/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "საწყისი გვერდი" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "სერვერის შეცდომა" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "სერვერის შეცდომა (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "სერვერის შეცდომა (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"აქ იყო შეცდომა. იგი გადაგზავნილია საიტის ადმინისტრატორის ელექტრონულ ფოსტაზე " +"და მალე გამოსწორდება. გმადლობთ მოთმინებისათვის." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "კეთილი იყოს თქვენი მობრძანება," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "დოკუმენტაცია" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "პაროლის შეცვლა" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "გამოსვლა" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django-ს ადმინისტრირების საიტი" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django-ს ადმინისტრირება" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "დამატება" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "ისტორია" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "წარმოდგენა საიტზე" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "გთხოვთ, გაასწორეთ ქვემოთ მოყვანილი შეცდომა." +msgstr[1] "გთხოვთ, გაასწორეთ ქვემოთ მოყვანილი შეცდომები." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "დალაგება" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "დალაგება:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "დავამატოთ %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "წავშალოთ" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, 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 "" +"ობიექტების წაშლა: %(object_name)s '%(escaped_object)s' გამოიწვევს " +"დაკავშირებული ობიექტების წაშლას, მაგრამ თქვენ არა გაქვთ შემდეგი ტიპების " +"ობიექტების წაშლის უფლება:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"ნამდვილად გსურთ, წაშალოთ %(object_name)s \"%(escaped_object)s\"? ყველა " +"ქვემოთ მოყვანილი დაკავშირებული ობიექტი წაშლილი იქნება:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +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/filters.html:4 +msgid "Filter" +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: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/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/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "მომხმარებლის სახელი:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "პაროლი:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:25 +msgid "Log in" +msgstr "შესვლა" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "თარიღი/დრო" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "მომხმარებელი" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "მოქმედება" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"ამ ობიექტს ცვლილებების ისტორია არა აქვს. როგორც ჩანს, იგი არ იყო დამატებული " +"ადმინისტრირების საიტის მეშვეობით." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "ვაჩვენოთ ყველა" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "ძებნა" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "ერთი შედეგი" +msgstr[1] "%(counter)s შედეგი" + +#: 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/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/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 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "პაროლი" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "პაროლი (განმეორებით)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "შეიყვანეთ იგივე პაროლი, დამოწმებისათვის." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"შეიყვანეთ ახალი პაროლი მომხმარებლისათვის %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "სანიშნები" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "დოკუმენტაციის სანიშნები" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +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" +"გაითვალისწინეთ, რომ ზოგიერთი სანიშნის მოხმარებისათვის საჭიროა, რომ თქვენ\n" +"იყოთ შესული ამ საიტზე ე.წ. \"შიდა\" კომპიუტერიდან (შეუთანხმდით თქვენს\n" +"ადმინისტრატორს, თუ არ ხართ დარწმუნებული, რომ თქვენი კომპიუტერი არის\n" +"\"შიდა\" კომპიუტერი).

          \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "ამ გვერდის დოკუმენტაცია" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"გადასვლა ნებისმიერი გვერდიდან იმ წარმოდგენის დოკუმენტაციაზე, რომელიც ამ " +"გვერდს აგენერირებს." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "ობიექტის ID-ის ჩვენება" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"ერთი ობიექტის ამსახველი გვერდის content-type-ის და უნიკალური ID-ის ჩვენება." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "შევცვალოთ ეს ობიექტი (იმავე ფანჯარაში)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "ერთი ობიექტის ამსახველი გვერდების ადმინისტრირებაზე გადასვლა." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "შევცვალოთ ეს ობიექტი (ახალ ფანჯარაში)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +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_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "პაროლის შეცვლა" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "პაროლი წარმატებით შეიცვალა" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "თქვენი პაროლი შეიცვალა." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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:16 +msgid "Old password:" +msgstr "ძველი პაროლი:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "ახალი პაროლი:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "პაროლის დამოწმება:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "შევცვალოთ ჩემი პაროლი" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: 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 +msgid "Password reset" +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_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/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/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/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "ყველა თარიღი" + +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით დაემატა." + +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +msgid "You may edit it again below." +msgstr "თქვენ შეგიძლიათ შეცვალოთ იგი." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "მომხმარებლის დამატება" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "პაროლი წარმატებით შეიცვალა." + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "შევცვალოთ პაროლი: %s" + +#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"გთხოვთ, შეიყვანოთ სწორი მომხმარებლის სახელი და პაროლი. გაითვალისწინეთ, რომ " +"ორივე ველი დამოკიდებულია რეგისტრზე." + +#: contrib/admin/views/decorators.py:63 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"გთხოვთ, შეხვიდეთ კიდევ ერთხელ, რადგანაც თქვენი სესიის დრო ამოიწურა. ნუ " +"ღელავთ: თქვენს მიერ შეტანილი ცვლილებები შენახულია." + +#: contrib/admin/views/decorators.py:70 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"როგორც ჩანს, თქვენი ბროუზერი არ ღებულობს cookie-ებს. გთხოვთ, ჩართოთ cookie-" +"ების მიღების ფუნქცია, განაახლეთ ეს გვერდი და სცადეთ კიდევ ერთხელ." + +#: contrib/admin/views/decorators.py:84 +msgid "Usernames cannot contain the '@' character." +msgstr "მომხმარებლის სახელი არ უნდა შეიცავდეს სიმბოლოს '@'." + +#: contrib/admin/views/decorators.py:86 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"ელ-ფოსტის მისამართი არ არის თქვენი მომხმარებლის სახელი. სცადეთ '%s' მის " +"ნაცვლად." + +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 +msgid "tag:" +msgstr "ტეგი:" + +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 +msgid "filter:" +msgstr "ფილტრი:" + +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 +msgid "view:" +msgstr "წარმოდგენა:" + +#: contrib/admin/views/doc.py:166 +#, python-format +msgid "App %r not found" +msgstr "აპლიკაცია %r ვერ მოიძებნა" + +#: contrib/admin/views/doc.py:173 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "მოდელი %(name)r ვერ მოიძებნა აპლიკაციაში %(label)r" + +#: contrib/admin/views/doc.py:185 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "`%(label)s.%(type)s` დაკავშირებული ობიექტი" + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 +msgid "model:" +msgstr "მოდელი:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "`%(label)s.%(name)s` დაკავშირებული ობიექტები" + +#: contrib/admin/views/doc.py:221 +#, python-format +msgid "all %s" +msgstr "ყველა %s" + +#: contrib/admin/views/doc.py:226 +#, python-format +msgid "number of %s" +msgstr "%s - რაოდენობა" + +#: contrib/admin/views/doc.py:231 +#, python-format +msgid "Fields on %s objects" +msgstr "%s ობიექტების ველები" + +#: contrib/admin/views/doc.py:293 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 "მთელი" + +#: contrib/admin/views/doc.py:294 +msgid "Boolean (Either True or False)" +msgstr "ლოგიკური (True ან False)" + +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "სტრიქონი (%(max_length)s სიმბოლომდე)" + +#: contrib/admin/views/doc.py:296 +msgid "Comma-separated integers" +msgstr "მძიმით გამოყოფილი მთელი რიცხვები" + +#: contrib/admin/views/doc.py:297 +msgid "Date (without time)" +msgstr "თარიღი (დროის გარეშე)" + +#: contrib/admin/views/doc.py:298 +msgid "Date (with time)" +msgstr "თარიღი (დროსთან ერთად)" + +#: contrib/admin/views/doc.py:299 +msgid "Decimal number" +msgstr "ათობითი რიცხვი" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "ელ. ფოსტის მისამართი" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "გზა ფაილისაკენ" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "რიცხვი მცოცავი წერტილით" + +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:89 +msgid "IP address" +msgstr "IP-მისამართი" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "ლოგიკური (True, False ან None)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "მშობელ მოდელთან დამოკიდებულება" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "ტელეფონის ნომერი" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "ტექსტი" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "დრო" + +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "აშშ შტატი (ორი ასომთავრული)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "XML ტექსტი" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s არ არის urlpattern-ის შესაბამისი ობიექტი" + +#: contrib/admin/views/main.py:233 +msgid "Site administration" +msgstr "საიტის ადმინისტრირება" + +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 +#, python-format +msgid "You may add another %s below." +msgstr "შეგიძლიათ დაამატოთ კიდევ ერთი %s." + +#: contrib/admin/views/main.py:298 +#, python-format +msgid "Add %s" +msgstr "დავამატოთ %s" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Added %s." +msgstr "%s დამატებულია." + +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "და" + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Changed %s." +msgstr "%s შეცვლილია." + +#: contrib/admin/views/main.py:348 +#, python-format +msgid "Deleted %s." +msgstr "%s წაშლილია." + +#: contrib/admin/views/main.py:351 +msgid "No fields changed." +msgstr "არცერთი ველი არ შეცვლილა." + +#: contrib/admin/views/main.py:354 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით შეიცვალა." + +#: contrib/admin/views/main.py:362 +#, 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:400 +#, python-format +msgid "Change %s" +msgstr "შევცვალოთ %s" + +#: contrib/admin/views/main.py:487 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "ერთი ან რამდენიმე %(fieldname)s ობიექტში %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:492 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "ერთი ან რამდენიმე %(fieldname)s ობიექტში %(name)s:" + +#: contrib/admin/views/main.py:524 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით წაიშალა." + +#: contrib/admin/views/main.py:527 +msgid "Are you sure?" +msgstr "დარწმუნებული ხართ?" + +#: contrib/admin/views/main.py:549 +#, python-format +msgid "Change history: %s" +msgstr "ცვლილებების ისტორია: %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s" +msgstr "ავირჩიოთ %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s to change" +msgstr "აირჩიეთ %s შესაცვლელად" + +#: contrib/admin/views/main.py:784 +msgid "Database error" +msgstr "მონაცემთა ბაზის შეცდომა" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "პაროლის ორი ველი ერთმანეთს არ ემთხვევა." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "მომხმარებელი ამ სახელით უკვე არსებობს." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"თქვენი ბროუზერი არ ღებულობს cookie-ებს. Cookie საჭიროა საიტზე შესასვლელად." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "თქვენი ანგარიში არააქტიურია." + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"ელ.ფოსტის ეს მისამართი არ შეესაბამება არცერთ მომხმარებელს. ნამდვილად ხართ " +"დარეგისტრირებული?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "პაროლი შეცვლილია: %s" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "'ახალი პაროლის' ორი ველი ერთმანეთს არ ემთხვევა." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "თქვენი ძველი პაროლი შეყვანილია არასწორად. გთხოვთ, შეიყვანოთ ხელახლა." + +#: contrib/auth/models.py:73 contrib/auth/models.py:93 +msgid "name" +msgstr "სახელი" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "კოდური სახელი" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "უფლება" + +#: contrib/auth/models.py:79 contrib/auth/models.py:94 +msgid "permissions" +msgstr "უფლებები" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "ჯგუფი" + +#: contrib/auth/models.py:98 contrib/auth/models.py:141 +msgid "groups" +msgstr "ჯგუფები" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "მომხმარებლის სახელი" + +#: contrib/auth/models.py:131 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"აუცილებელია. 30 ან ნაკლები სიმბოლო. მხოლოდ ლათინური ასოები, ციფრები და " +"ხაზგასმა." + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "სახელი" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "გვარი" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "ელ. ფოსტა" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "პაროლი" + +#: contrib/auth/models.py:135 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"გამოიყენეთ '[algo]$[salt]$[hexdigest]' ან პაროლის " +"შეცვლის ფორმა." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "თანამშრომლობის სტატუსი" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"განსაზღვრავს, აქვს თუ არა მომხმარებელს ადმინისტრირების საიტზე შესვლის უფლება." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "აქტიურია" + +#: contrib/auth/models.py:137 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"განსაზღვრავს, აქვს თუ არა მომხმარებელს Django-ს ადმინისტრირების საიტზე " +"შესვლის შესაძლებლობა. გადანიშნეთ ეს დროშა მომხმარებლის წაშლის მაგივრად." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "სუპერმომხმარებლის სტატუსი" + +#: contrib/auth/models.py:138 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "განსაზღვრავს, რომ ამ მომხმარებელს აქვს ყველა უფლება." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "ბოლო შესვლა" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "გაწევრიანების თარიღი" + +#: contrib/auth/models.py:142 +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:143 +msgid "user permissions" +msgstr "მომხმარებლის უფლებები" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "მომხმარებელი" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "მომხმარებლები" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "პირადი ინფორმაცია" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "უფლებები" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "მნიშვნელოვანი თარიღები" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "ჯგუფები" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "შეტყობინება" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "გამოსული ხართ" + +#: contrib/comments/models.py:71 contrib/comments/models.py:176 +msgid "object ID" +msgstr "ობიექტის ID" + +#: contrib/comments/models.py:72 +msgid "headline" +msgstr "ჰედლაინი" + +#: contrib/comments/models.py:73 contrib/comments/models.py:95 +#: contrib/comments/models.py:177 +msgid "comment" +msgstr "კომენტარი" + +#: contrib/comments/models.py:74 +msgid "rating #1" +msgstr "რეიტინგი #1" + +#: contrib/comments/models.py:75 +msgid "rating #2" +msgstr "რეიტინგი #2" + +#: contrib/comments/models.py:76 +msgid "rating #3" +msgstr "რეიტინგი #3" + +#: contrib/comments/models.py:77 +msgid "rating #4" +msgstr "რეიტინგი #4" + +#: contrib/comments/models.py:78 +msgid "rating #5" +msgstr "რეიტინგი #5" + +#: contrib/comments/models.py:79 +msgid "rating #6" +msgstr "რეიტინგი #6" + +#: contrib/comments/models.py:80 +msgid "rating #7" +msgstr "რეიტინგი #7" + +#: contrib/comments/models.py:81 +msgid "rating #8" +msgstr "რეიტინგი #8" + +#: contrib/comments/models.py:86 +msgid "is valid rating" +msgstr "დასაშვები რეიტინგია" + +#: contrib/comments/models.py:87 contrib/comments/models.py:179 +msgid "date/time submitted" +msgstr "გაგზავნის თარიღი და დრო" + +#: contrib/comments/models.py:88 contrib/comments/models.py:180 +msgid "is public" +msgstr "საყოველთაოა" + +#: contrib/comments/models.py:90 +msgid "is removed" +msgstr "წაშლილია" + +#: contrib/comments/models.py:90 +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:96 +msgid "comments" +msgstr "კომენტარები" + +#: contrib/comments/models.py:140 contrib/comments/models.py:222 +msgid "Content object" +msgstr "კონტენტის ობიექტი" + +#: contrib/comments/models.py:168 +#, 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:178 +msgid "person's name" +msgstr "პიროვნების სახელი" + +#: contrib/comments/models.py:181 +msgid "ip address" +msgstr "ip-მისამართი" + +#: contrib/comments/models.py:183 +msgid "approved by staff" +msgstr "მოწონებულია პერსონალის მიერ" + +#: contrib/comments/models.py:187 +msgid "free comment" +msgstr "თავისუფალი კომენტარი" + +#: contrib/comments/models.py:188 +msgid "free comments" +msgstr "თავისუფალი კომენტარები" + +#: contrib/comments/models.py:250 +msgid "score" +msgstr "შეფასება" + +#: contrib/comments/models.py:251 +msgid "score date" +msgstr "შეფასების თარიღი" + +#: contrib/comments/models.py:255 +msgid "karma score" +msgstr "კარმა-შეფასება" + +#: contrib/comments/models.py:256 +msgid "karma scores" +msgstr "კარმა-შეფასებები" + +#: contrib/comments/models.py:260 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d შეფასებულია %(user)s-ის მიერ" + +#: contrib/comments/models.py:277 +#, 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:285 +msgid "flag date" +msgstr "მონიშვნის თარიღი" + +#: contrib/comments/models.py:289 +msgid "user flag" +msgstr "მომხმარებლის მონიშვნა" + +#: contrib/comments/models.py:290 +msgid "user flags" +msgstr "მომხმარებლის მონიშვნები" + +#: contrib/comments/models.py:294 +#, python-format +msgid "Flag by %r" +msgstr "%r-ის მონიშვნები" + +#: contrib/comments/models.py:300 +msgid "deletion date" +msgstr "წაშლის თარიღი" + +#: contrib/comments/models.py:303 +msgid "moderator deletion" +msgstr "მოდერატორის წაშლა" + +#: contrib/comments/models.py:304 +msgid "moderator deletions" +msgstr "მოდერატორის წაშლები" + +#: contrib/comments/models.py:308 +#, python-format +msgid "Moderator deletion by %r" +msgstr "მოდერატორის წაშლა %r-ის მიერ" + +#: 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/comments/views/comments.py:28 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "ეს რეიტინგი აუცილებელია, რადგანაც თქვენ შესულხართ სხვა რეიტინგებში." + +#: 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] "" +"ეს კომენტარი გამოგზავნილია მომხმარებლის მიერ, რომელსაც %(count)s-ზე ნაკლები " +"კომენტარი აქვს:\n" +"\n" +"%(text)s" +msgstr[1] "" +"ეს კომენტარი გამოგზავნილია მომხმარებლის მიერ, რომელსაც %(count)s-ზე ნაკლები " +"კომენტარი აქვს:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ეს კომენტარი გამოგზავნილია ზერელე მომხმარებლის მიერ:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "დაშვებულია მხოლოდ POST-ები" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "ერთი ან რამდენიმე აუცილებელი ველი არ იყო მითითებული" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "ვიღაცა ჩაერია კომენტარის ფორმაში (უსაფრთხოების დარღვევა)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"კომენტარის ფორმას აქვს არასწორი პარამეტრი 'target' -- ობიექტის ID არ იყო " +"სწორი" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "კომენტარის ფორმას არა აქვს 'წინასწარი ხედვის' ან 'გაგზავნის' საშუალება" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "ანონიმურ მომხმარებლებს ხმის მიცემის უფლება არა აქვთ" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "კომენტარის ID არასწორია" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "საკუთარი თავისათვის ხმის მიცემა აკრძალულია" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "python-ის მოდელის კლასის სახელი" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "კონტენტის ტიპი" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +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/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f მილიონი" +msgstr[1] "%(value).1f მილიონი" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f მილიარდი" +msgstr[1] "%(value).1f მილიარდი" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f ტრილიონი" +msgstr[1] "%(value).1f ტრილიონი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "ერთი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "ორი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "სამი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "ოთხი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "ხუთი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "ექვსი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "შვიდი" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "რვა" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "ცხრა" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "დღეს" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "ხვალ" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "გუშინ" + +#: contrib/localflavor/ar/forms.py:27 +#, fuzzy +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "შეიყვანეთ საფოსტო კოდი ერთ-ერთ ფორმატში: NNNN ან ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +msgid "This field requires only numbers." +msgstr "ამ ველში შეიძლება იყოს მხოლოდ ციფრები." + +#: contrib/localflavor/ar/forms.py:50 +#, fuzzy +msgid "This field requires 7 or 8 digits." +msgstr "ამ ველში შეიძლება იყოს მხოლოდ 7 ან 8 თანრიგი." + +#: contrib/localflavor/ar/forms.py:79 +#, fuzzy +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" +"შეიყვანეთ დასაშვები CUIT ერთ-ერთ ფორმატში: XX-XXXXXXXX-X ან XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:80 +#, fuzzy +msgid "Invalid CUIT." +msgstr "არასწორი CUIT." + +#: contrib/localflavor/au/forms.py:16 +#, fuzzy +msgid "Enter a 4 digit post code." +msgstr "შეიყვანეთ ოთხთანრიგიანი საფოსტო კოდი" + +#: contrib/localflavor/br/forms.py:21 +#, fuzzy +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში: XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +#, fuzzy +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "ტელეფონის ნომრები უნდა იყოს XX-XXXX-XXXX ფორმატში." + +#: contrib/localflavor/br/forms.py:58 +#, fuzzy +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"შეიყვანეთ დასაშვები ბრაზილიური შტატი. მოცემული შტატი არ არის დასაშვები." + +#: contrib/localflavor/br/forms.py:94 +#, fuzzy +msgid "Invalid CPF number." +msgstr "არასწორი CPF ნომერი." + +#: contrib/localflavor/br/forms.py:95 +#, fuzzy +msgid "This field requires at most 11 digits or 14 characters." +msgstr "ეს ველი უნდა შეიცავდეს 11 ციფრს ან 14 სიმბოლოს, ან ნაკლებს." + +#: contrib/localflavor/br/forms.py:134 +#, fuzzy +msgid "Invalid CNPJ number." +msgstr "არასწორი CNPJ ნომერი." + +#: contrib/localflavor/br/forms.py:136 +#, fuzzy +msgid "This field requires at least 14 digits" +msgstr "ეს ველი მოითხოვს არაუმეტეს 14 თანრიგისა" + +#: contrib/localflavor/ca/forms.py:17 +#, fuzzy +msgid "Enter a postal code in the format XXX XXX." +msgstr "შეიყვანეთ საფოსტო კოდი ფორმატში: XXX XXX." + +#: contrib/localflavor/ca/forms.py:88 +#, fuzzy +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" +"შეიყვანეთ კანადაში დასაშვები სოციალური დაზღვევის ნომერი ფორმატში: XXX-XXX-XXX" + +#: contrib/localflavor/ch/ch_states.py:5 +#, fuzzy +msgid "Aargau" +msgstr "აარგაუ" + +#: contrib/localflavor/ch/ch_states.py:6 +#, fuzzy +msgid "Appenzell Innerrhoden" +msgstr "აპენცელ ინერჰოდენ" + +#: contrib/localflavor/ch/ch_states.py:7 +#, fuzzy +msgid "Appenzell Ausserrhoden" +msgstr "აპენცელ აუსერჰოდენ" + +#: contrib/localflavor/ch/ch_states.py:8 +#, fuzzy +msgid "Basel-Stadt" +msgstr "ბაზელ-შტადტ" + +#: contrib/localflavor/ch/ch_states.py:9 +#, fuzzy +msgid "Basel-Land" +msgstr "ბაზელ-ლანდ" + +#: contrib/localflavor/ch/ch_states.py:10 +#, fuzzy +msgid "Berne" +msgstr "ბერნი" + +#: contrib/localflavor/ch/ch_states.py:11 +#, fuzzy +msgid "Fribourg" +msgstr "ფრაიბურგი" + +#: contrib/localflavor/ch/ch_states.py:12 +#, fuzzy +msgid "Geneva" +msgstr "ჟენევა" + +#: contrib/localflavor/ch/ch_states.py:13 +#, fuzzy +msgid "Glarus" +msgstr "გლარუსი" + +#: contrib/localflavor/ch/ch_states.py:14 +#, fuzzy +msgid "Graubuenden" +msgstr "გრაუბუენდენ" + +#: contrib/localflavor/ch/ch_states.py:15 +#, fuzzy +msgid "Jura" +msgstr "ჯურა" + +#: contrib/localflavor/ch/ch_states.py:16 +#, fuzzy +msgid "Lucerne" +msgstr "ლეცერნი" + +#: contrib/localflavor/ch/ch_states.py:17 +#, fuzzy +msgid "Neuchatel" +msgstr "ნოიხატლი" + +#: contrib/localflavor/ch/ch_states.py:18 +#, fuzzy +msgid "Nidwalden" +msgstr "ნიდვალდენი" + +#: contrib/localflavor/ch/ch_states.py:19 +#, fuzzy +msgid "Obwalden" +msgstr "ობვალდენი" + +#: contrib/localflavor/ch/ch_states.py:20 +#, fuzzy +msgid "Schaffhausen" +msgstr "შაფჰაუზენი" + +#: contrib/localflavor/ch/ch_states.py:21 +#, fuzzy +msgid "Schwyz" +msgstr "შვიცი" + +#: contrib/localflavor/ch/ch_states.py:22 +#, fuzzy +msgid "Solothurn" +msgstr "სოლოთურნი" + +#: contrib/localflavor/ch/ch_states.py:23 +#, fuzzy +msgid "St. Gallen" +msgstr "სენტ-გალენი" + +#: contrib/localflavor/ch/ch_states.py:24 +#, fuzzy +msgid "Thurgau" +msgstr "თურგაუ" + +#: contrib/localflavor/ch/ch_states.py:25 +#, fuzzy +msgid "Ticino" +msgstr "ტიჯინო" + +#: contrib/localflavor/ch/ch_states.py:26 +#, fuzzy +msgid "Uri" +msgstr "ური" + +#: contrib/localflavor/ch/ch_states.py:27 +#, fuzzy +msgid "Valais" +msgstr "ვალაისი" + +#: contrib/localflavor/ch/ch_states.py:28 +#, fuzzy +msgid "Vaud" +msgstr "ვაუდი" + +#: contrib/localflavor/ch/ch_states.py:29 +#, fuzzy +msgid "Zug" +msgstr "ცუგი" + +#: contrib/localflavor/ch/ch_states.py:30 +#, fuzzy +msgid "Zurich" +msgstr "ციურიხი" + +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 +#, fuzzy +msgid "Enter a zip code in the format XXXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში XXXX." + +#: contrib/localflavor/ch/forms.py:64 +#, fuzzy +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"შეიყვანეთ შვეიცარიაში დაშვებული პირადი ან პასპორტის ნომერი, ფორმატებში: " +"X1234567<0 ან 1234567890." + +#: contrib/localflavor/cl/forms.py:29 +#, fuzzy +msgid "Enter a valid Chilean RUT." +msgstr "შეიყვანეთ დასაშვები ჩილიური RUT." + +#: contrib/localflavor/cl/forms.py:30 +#, fuzzy +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "შეიყვანეთ დასაშვები ჩილიური RUT. ფორმატი: XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:31 +#, fuzzy +msgid "The Chilean RUT is not valid." +msgstr "ჩილიური RUT არასწორია." + +#: contrib/localflavor/de/de_states.py:5 +#, fuzzy +msgid "Baden-Wuerttemberg" +msgstr "ბადენ-ვურტემბერგი" + +#: contrib/localflavor/de/de_states.py:6 +#, fuzzy +msgid "Bavaria" +msgstr "ბავარია" + +#: contrib/localflavor/de/de_states.py:7 +#, fuzzy +msgid "Berlin" +msgstr "ბერლინი" + +#: contrib/localflavor/de/de_states.py:8 +#, fuzzy +msgid "Brandenburg" +msgstr "ბრანდენბურგი" + +#: contrib/localflavor/de/de_states.py:9 +#, fuzzy +msgid "Bremen" +msgstr "ბრემენი" + +#: contrib/localflavor/de/de_states.py:10 +#, fuzzy +msgid "Hamburg" +msgstr "ჰამბურგი" + +#: contrib/localflavor/de/de_states.py:11 +#, fuzzy +msgid "Hessen" +msgstr "ჰესენი" + +#: contrib/localflavor/de/de_states.py:12 +#, fuzzy +msgid "Mecklenburg-Western Pomerania" +msgstr "მეკლენბურგ-ვესტერნ პომერანია" + +#: contrib/localflavor/de/de_states.py:13 +#, fuzzy +msgid "Lower Saxony" +msgstr "ქვემო საქსონია" + +#: contrib/localflavor/de/de_states.py:14 +#, fuzzy +msgid "North Rhine-Westphalia" +msgstr "ჩრდილოეთ რაინ-ვესტფალია" + +#: contrib/localflavor/de/de_states.py:15 +#, fuzzy +msgid "Rhineland-Palatinate" +msgstr "რაინლანდ-პალატინატა" + +#: contrib/localflavor/de/de_states.py:16 +#, fuzzy +msgid "Saarland" +msgstr "ზაარლანდი" + +#: contrib/localflavor/de/de_states.py:17 +#, fuzzy +msgid "Saxony" +msgstr "საქსონია" + +#: contrib/localflavor/de/de_states.py:18 +#, fuzzy +msgid "Saxony-Anhalt" +msgstr "საქსონია-ანჰალტ" + +#: contrib/localflavor/de/de_states.py:19 +#, fuzzy +msgid "Schleswig-Holstein" +msgstr "შლეზვიგ-ჰოლშტაინი" + +#: contrib/localflavor/de/de_states.py:20 +#, fuzzy +msgid "Thuringia" +msgstr "თურინგია" + +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 +#, fuzzy +msgid "Enter a zip code in the format XXXXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში XXXXX." + +#: contrib/localflavor/de/forms.py:41 +#, fuzzy +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"შეიყვანეთ გერმანიაში დასაშვები პირადობის მოწმობის ნომერი, ფორმატში: " +"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/es/es_provinces.py:5 +#, fuzzy +msgid "Arava" +msgstr "არავა" + +#: contrib/localflavor/es/es_provinces.py:6 +#, fuzzy +msgid "Albacete" +msgstr "ალბასეტე" + +#: contrib/localflavor/es/es_provinces.py:7 +#, fuzzy +msgid "Alacant" +msgstr "ალასანტი" + +#: contrib/localflavor/es/es_provinces.py:8 +#, fuzzy +msgid "Almeria" +msgstr "ალმერია" + +#: contrib/localflavor/es/es_provinces.py:9 +#, fuzzy +msgid "Avila" +msgstr "ავილა" + +#: contrib/localflavor/es/es_provinces.py:10 +#, fuzzy +msgid "Badajoz" +msgstr "ბადაჰოს" + +#: contrib/localflavor/es/es_provinces.py:11 +#, fuzzy +msgid "Illes Balears" +msgstr "ილეს ბალეარს" + +#: contrib/localflavor/es/es_provinces.py:12 +#, fuzzy +msgid "Barcelona" +msgstr "ბარსელონა" + +#: contrib/localflavor/es/es_provinces.py:13 +#, fuzzy +msgid "Burgos" +msgstr "ბურგოს" + +#: contrib/localflavor/es/es_provinces.py:14 +#, fuzzy +msgid "Caceres" +msgstr "კასერეს" + +#: contrib/localflavor/es/es_provinces.py:15 +#, fuzzy +msgid "Cadiz" +msgstr "კადიზ" + +#: contrib/localflavor/es/es_provinces.py:16 +#, fuzzy +msgid "Castello" +msgstr "კასტელო" + +#: contrib/localflavor/es/es_provinces.py:17 +#, fuzzy +msgid "Ciudad Real" +msgstr "სიუდად რეალ" + +#: contrib/localflavor/es/es_provinces.py:18 +#, fuzzy +msgid "Cordoba" +msgstr "კორდობა" + +#: contrib/localflavor/es/es_provinces.py:19 +#, fuzzy +msgid "A Coruna" +msgstr "ა კორუნია" + +#: contrib/localflavor/es/es_provinces.py:20 +#, fuzzy +msgid "Cuenca" +msgstr "კუენსა" + +#: contrib/localflavor/es/es_provinces.py:21 +#, fuzzy +msgid "Girona" +msgstr "გირონა" + +#: contrib/localflavor/es/es_provinces.py:22 +#, fuzzy +msgid "Granada" +msgstr "გრანადა" + +#: contrib/localflavor/es/es_provinces.py:23 +#, fuzzy +msgid "Guadalajara" +msgstr "გუადალაჯარა" + +#: contrib/localflavor/es/es_provinces.py:24 +#, fuzzy +msgid "Guipuzkoa" +msgstr "გუიპუზკოა" + +#: contrib/localflavor/es/es_provinces.py:25 +#, fuzzy +msgid "Huelva" +msgstr "ჰუელვა" + +#: contrib/localflavor/es/es_provinces.py:26 +#, fuzzy +msgid "Huesca" +msgstr "ჰუესკა" + +#: contrib/localflavor/es/es_provinces.py:27 +#, fuzzy +msgid "Jaen" +msgstr "ჯეინი" + +#: contrib/localflavor/es/es_provinces.py:28 +#, fuzzy +msgid "Leon" +msgstr "ლეონი" + +#: contrib/localflavor/es/es_provinces.py:29 +#, fuzzy +msgid "Lleida" +msgstr "ლეიდა" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +#, fuzzy +msgid "La Rioja" +msgstr "ლა რიოხა" + +#: contrib/localflavor/es/es_provinces.py:31 +#, fuzzy +msgid "Lugo" +msgstr "ლუგო" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +#, fuzzy +msgid "Madrid" +msgstr "მადრიდი" + +#: contrib/localflavor/es/es_provinces.py:33 +#, fuzzy +msgid "Malaga" +msgstr "მალაგა" + +#: contrib/localflavor/es/es_provinces.py:34 +#, fuzzy +msgid "Murcia" +msgstr "მურსია" + +#: contrib/localflavor/es/es_provinces.py:35 +#, fuzzy +msgid "Navarre" +msgstr "ნავარე" + +#: contrib/localflavor/es/es_provinces.py:36 +#, fuzzy +msgid "Ourense" +msgstr "ოურენსი" + +#: contrib/localflavor/es/es_provinces.py:37 +#, fuzzy +msgid "Asturias" +msgstr "ასტურია" + +#: contrib/localflavor/es/es_provinces.py:38 +#, fuzzy +msgid "Palencia" +msgstr "პალენსია" + +#: contrib/localflavor/es/es_provinces.py:39 +#, fuzzy +msgid "Las Palmas" +msgstr "ლას პალმას" + +#: contrib/localflavor/es/es_provinces.py:40 +#, fuzzy +msgid "Pontevedra" +msgstr "პონტევედრა" + +#: contrib/localflavor/es/es_provinces.py:41 +#, fuzzy +msgid "Salamanca" +msgstr "სალამანსა" + +#: contrib/localflavor/es/es_provinces.py:42 +#, fuzzy +msgid "Santa Cruz de Tenerife" +msgstr "სანტა კრუზ დე ტენერიფე" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +#, fuzzy +msgid "Cantabria" +msgstr "კანტაბრია" + +#: contrib/localflavor/es/es_provinces.py:44 +#, fuzzy +msgid "Segovia" +msgstr "სეგოვია" + +#: contrib/localflavor/es/es_provinces.py:45 +#, fuzzy +msgid "Seville" +msgstr "სევილი" + +#: contrib/localflavor/es/es_provinces.py:46 +#, fuzzy +msgid "Soria" +msgstr "სორია" + +#: contrib/localflavor/es/es_provinces.py:47 +#, fuzzy +msgid "Tarragona" +msgstr "ტარაგონა" + +#: contrib/localflavor/es/es_provinces.py:48 +#, fuzzy +msgid "Teruel" +msgstr "ტერუელი" + +#: contrib/localflavor/es/es_provinces.py:49 +#, fuzzy +msgid "Toledo" +msgstr "ტოლედო" + +#: contrib/localflavor/es/es_provinces.py:50 +#, fuzzy +msgid "Valencia" +msgstr "ვალენსია" + +#: contrib/localflavor/es/es_provinces.py:51 +#, fuzzy +msgid "Valladolid" +msgstr "ვალადოლიდი" + +#: contrib/localflavor/es/es_provinces.py:52 +#, fuzzy +msgid "Bizkaia" +msgstr "ბიზკაია" + +#: contrib/localflavor/es/es_provinces.py:53 +#, fuzzy +msgid "Zamora" +msgstr "სამორა" + +#: contrib/localflavor/es/es_provinces.py:54 +#, fuzzy +msgid "Zaragoza" +msgstr "სარაგოსა" + +#: contrib/localflavor/es/es_provinces.py:55 +#, fuzzy +msgid "Ceuta" +msgstr "კეუტა" + +#: contrib/localflavor/es/es_provinces.py:56 +#, fuzzy +msgid "Melilla" +msgstr "მელილა" + +#: contrib/localflavor/es/es_regions.py:5 +#, fuzzy +msgid "Andalusia" +msgstr "ანდალუზია" + +#: contrib/localflavor/es/es_regions.py:6 +#, fuzzy +msgid "Aragon" +msgstr "არაგონ" + +#: contrib/localflavor/es/es_regions.py:7 +#, fuzzy +msgid "Principality of Asturias" +msgstr "ასტურიის პრინციპატი" + +#: contrib/localflavor/es/es_regions.py:8 +#, fuzzy +msgid "Balearic Islands" +msgstr "ბალეარის კუნძულები" + +#: contrib/localflavor/es/es_regions.py:9 +#, fuzzy +msgid "Basque Country" +msgstr "ბასკების ქვეყანა" + +#: contrib/localflavor/es/es_regions.py:10 +#, fuzzy +msgid "Canary Islands" +msgstr "კანარის კუნძuლები" + +#: contrib/localflavor/es/es_regions.py:12 +#, fuzzy +msgid "Castile-La Mancha" +msgstr "კასტილია ლა მანჩა" + +#: contrib/localflavor/es/es_regions.py:13 +#, fuzzy +msgid "Castile and Leon" +msgstr "კასტილია და ლეონი" + +#: contrib/localflavor/es/es_regions.py:14 +#, fuzzy +msgid "Catalonia" +msgstr "კატალონია" + +#: contrib/localflavor/es/es_regions.py:15 +#, fuzzy +msgid "Extremadura" +msgstr "ექსტრემადურა" + +#: contrib/localflavor/es/es_regions.py:16 +#, fuzzy +msgid "Galicia" +msgstr "გალიცია" + +#: contrib/localflavor/es/es_regions.py:19 +#, fuzzy +msgid "Region of Murcia" +msgstr "მურსიის რეგიონი" + +#: contrib/localflavor/es/es_regions.py:20 +#, fuzzy +msgid "Foral Community of Navarre" +msgstr "ნავარის ფორალური თემი" + +#: contrib/localflavor/es/es_regions.py:21 +#, fuzzy +msgid "Valencian Community" +msgstr "ვალენსიის თემი" + +#: contrib/localflavor/es/forms.py:19 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:39 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:142 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:28 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/in_/forms.py:14 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:17 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:43 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:17 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:52 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/nl/forms.py:78 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:24 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:156 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:54 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +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 "" +"უნდა იყოს აბსოლუტური გზა (როგორც ზემოთ) ან სრული URL, რომელიც იწყება " +"'http://' სტრიქონით." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "გადამისამართება" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "გადამისამართებები" + +#: contrib/sessions/models.py:41 +msgid "session key" +msgstr "სესიის გასაღები" + +#: contrib/sessions/models.py:42 +msgid "session data" +msgstr "სესიის მონაცემები" + +#: contrib/sessions/models.py:43 +msgid "expire date" +msgstr "ამოწურვის თარიღი" + +#: contrib/sessions/models.py:48 +msgid "session" +msgstr "სესია" + +#: contrib/sessions/models.py:49 +msgid "sessions" +msgstr "სესიები" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "დომენის სახელი" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "საჩვენებელი სახელი" + +#: contrib/sites/models.py:37 +msgid "site" +msgstr "საიტი" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "საიტები" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს და ხაზგასმის " +"ნიშნებს." + +#: core/validators.py:76 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს, ხაზგასმის ნიშნებს, " +"ტირეებს და დახრილ ხაზებს." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს, ხაზგასმის ნიშნებს " +"და დეფისებს." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "ასომთავრულები აქ დაუშვებელია." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "პატარა ასოები აქ დაუშვებელია." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "შეიყვანეთ მხოლოდ მძიმეებით გამოყოფილი ციფრები." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "შეიყვანეთ მძიმეებით გამოყოფილი ელ. ფოსტის მისამართები." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "გთხოვთ, შეიყვანოთ დასაშვები IP-მისამართი" + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "ცარიელი მნიშვნელობები აქ დაუშვებელია." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "არაციფრული სიმბოლოები აქ დაუშვებელია." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "ეს მნიშვნელობა არ უნდა შედგებოდეს მხოლოდ ციფრებისაგან." + +#: core/validators.py:128 newforms/fields.py:151 +msgid "Enter a whole number." +msgstr "შეიყვანეთ მთელი რიცხვი" + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "მხოლოდ ლათინური ასოებია დასაშვები." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "წელი უნდა იყოს 1900 ან მეტი." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "არასწორი თარიღი: %s" + +#: core/validators.py:156 db/models/fields/__init__.py:518 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "შეიყვანეთ სწორი თარიღი YYYY-MM-DD ფორმატში." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "შეიყვანეთ სწორი დრო HH:MM ფორმატში." + +#: core/validators.py:165 db/models/fields/__init__.py:595 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "შეიყვანეთ სწორი თარიღი და დრო YYYY-MM-DD HH:MM ფორმატში." + +#: core/validators.py:170 newforms/fields.py:402 +msgid "Enter a valid e-mail address." +msgstr "შეიყვანეთ სწორი ელ. ფოსტის მისამართი." + +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: oldforms/__init__.py:687 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ფაილი არ იყო გამოგზავნილი. შეამოწმეთ კოდირების ტიპი მოცემული ფორმისათვის." + +#: core/validators.py:193 newforms/fields.py:458 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ატვირთეთ დასაშვები გამოსახულება. თქვენს მიერ გამოგზავნილი ფაილი ან არ არის " +"გამოსახულება, ან დაზიანებულია." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s არ მიუთითებს დასაშვებ გამოსახულებას." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "ტელეფონის ნომრები უნდა იყოს XXX-XXX-XXXX ფორმატში. \"%s\" არასწორია." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s არ მიუთითებს დასაშვებ QuickTime ვიდეოფაილს." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "საჭიროა სწორი URL" + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"საჭიროა სწორი HTML. ტიპიური შეცდომებია:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "ცუდად დაფორმირებული XML-ია: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "არასწორი URL: %s" + +#: core/validators.py:259 core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL %s არის გაწყვეტილი ბმული." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "შეიყვანეთ სწორი აშშ შტატის აბრევიატურა." + +#: core/validators.py:281 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "ყურადღება მიაქციეთ ლექსიკას! სიტყვა %s აქ დაუშვებელია." +msgstr[1] "ყურადღება მიაქციეთ ლექსიკას! სიტყვები %s აქ დაუშვებელია." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "ველი უნდა ემთხვეოდეს '%s' ველს." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "გთხოვთ, შეიყვანოთ რაიმე მნიშვნელობა სულ მცირე ერთ ველში." + +#: core/validators.py:316 core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "გთხოვთ, შეავსოთ ორივე ველი, ან ორივე დატოვოთ ცარიელი." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "ეს ველი უნდა იყოს მითითებული, თუ %(field)s არის %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "ეს ველი უნდა იყოს მითითებული, თუ %(field)s არ არის %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "განმეორებითი მნიშვნელობები დაუშვებელია." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "მნიშვნელობა უნდა იყოს %(lower)s და %(upper)s შორის." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "მნიშვნელობა უნდა იყოს სულ მცირე %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "მნიშვნელობა არ უნდა აღემატებოდეს %s-ს." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "მნიშვნელობა უნდა იყოს %s-ის ხარისხი." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი, არაუმეტეს %s თანრიგისაგან შემდგარი ათობითი რიცხვი" +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი, არაუმეტეს %s თანრიგისაგან შემდგარი ათობითი რიცხვი" + +#: core/validators.py:447 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის მთელი ნაწილის სიგრძე არ " +"აღემატება %s თანრიგს." +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის მთელი ნაწილის სიგრძე არ " +"აღემატება %s თანრიგს." + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის წილადი ნაწილის სიგრძე არ " +"აღემატება %s ციფრს." +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის წილადი ნაწილის სიგრძე არ " +"აღემატება %s ციფრს." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "გთხოვთ, შეიყვანოთ სწორი რიცხვი მცოცავი ათობითი წერტილით." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" +"დარწმუნდით, რომ თქვენს მიერ ატვირთული ფაილის სიგრძე არ არის %s ბაიტზე " +"ნაკლები." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"დარწმუნდით, რომ თქვენს მიერ ატვირთული ფაილის სიგრძე არ აღემატება %s ბაიტს." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "ამ ველის ფორმატი არასწორია." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "ველი არასწორია." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "%s-დან მნიშვნელობის ამოღება შეუძლებელია." + +#: core/validators.py:539 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"URL %(url)s მისამართმა დააბრუნა არასწორი Content-Type სათაური '%(contenttype)" +"s'." + +#: core/validators.py:572 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"გთხოვთ, დახუროთ დაუხურავი %(tag)s ტეგი, ხაზის ნომერია %(line)s. (სტრიქონი " +"იწყება ტექსტით: \"%(start)s\".)" + +#: core/validators.py:576 +#, 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:581 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" ატრიბუტი არასწორია %(line)s ხაზზე. (სტრიქონი იწყება ტექსტით: \"%" +"(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" ტეგი არასწორია %(line)s ხაზზე. (სტრიქონი იწყება ტექსტით: \"%" +"(start)s\".)" + +#: core/validators.py:590 +#, 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:595 +#, python-format +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\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s მოცემული %(type)s-ით უკვე არსებობს მოცემული %(field)s-თვის." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s მოცემული %(fieldname)s-ით უკვე არსებობს." + +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 +#: db/models/fields/__init__.py:750 db/models/fields/__init__.py:761 +#: newforms/fields.py:45 oldforms/__init__.py:374 +msgid "This field is required." +msgstr "ეს ველი აუცილებელია." + +#: db/models/fields/__init__.py:418 +msgid "This value must be an integer." +msgstr "ეს მნიშვნელობა უნდა იყოს მთელი." + +#: db/models/fields/__init__.py:457 +msgid "This value must be either True or False." +msgstr "ეს მნიშვნელობა უნდა იყოს True ან False." + +#: db/models/fields/__init__.py:481 +msgid "This field cannot be null." +msgstr "ეს მნიშვნელობა არ შეიძლება იყოს null." + +#: db/models/fields/__init__.py:659 +msgid "This value must be a decimal number." +msgstr "ეს მნიშვნელობა უნდა იყოს ათობითი რიცხვი." + +#: db/models/fields/__init__.py:770 +msgid "Enter a valid filename." +msgstr "შეიყვანეთ სწორი ფაილის სახელი." + +#: db/models/fields/__init__.py:941 +msgid "This value must be either None, True or False." +msgstr "ეს მნიშვნელობა უნდა იყოს None, True ან False." + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "გთხოვთ, შეიყვანოთ სწორი %s." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "გამოყავით ID-ები მძიმეებით." + +#: db/models/fields/related.py:660 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"დააჭირეთ \"Control\", ან \"Command\" Mac-ზე, ერთზე მეტი მნიშვნელობის " +"ასარჩევად." + +#: db/models/fields/related.py:707 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი %(self)s ID-ები. მნიშვნელობა %(value)r არასწორია." +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი %(self)s ID-ები. მნიშვნელობები %(value)r არასწორია." + +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "შეიყვანეთ სწორი მნიშვნელობა." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "" +"დარწმუნდით, რომ მნიშვნელობა შედგება არაუმეტეს %(max)d სიმბოლოსაგან (ახლა " +"მისი სიგრძეა %(length)d)." + +#: newforms/fields.py:124 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "" +"დარწმუნდით, რომ მნიშვნელობა შედგება არანაკლებ %(min)d სიმბოლოსაგან (ახლა " +"მისი სიგრძეა %(length)d)." + +#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "დარწმუნდით, რომ მნიშვნელობა ნაკლებია ან ტოლია %s-ზე." + +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "დარწმუნდით, რომ მნიშვნელობა მეტია ან ტოლია %s-ზე." + +#: newforms/fields.py:180 newforms/fields.py:209 +msgid "Enter a number." +msgstr "შეიყვანეთ რიცხვი." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "დარწმუნდით, რომ მნიშვნელობა %s თანრიგს არ აღემატება." + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "დარწმუნდით, რომ წილადი ნაწილი %s თანრიგს არ აღემატება." + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "დარწმუნდით, რომ მთელი ნაწილი %s თანრიგს არ აღემატება." + +#: newforms/fields.py:262 newforms/fields.py:723 +msgid "Enter a valid date." +msgstr "შეიყვანეთ სწორი თარიღი." + +#: newforms/fields.py:295 newforms/fields.py:724 +msgid "Enter a valid time." +msgstr "შეიყვანეთ სწორი დრო." + +#: newforms/fields.py:334 +msgid "Enter a valid date/time." +msgstr "შეიყვანეთ სწორი თარიღი და დრო." + +#: newforms/fields.py:433 +msgid "No file was submitted." +msgstr "ფაილი არ იყო გამოგზავნილი." + +#: newforms/fields.py:434 oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "გამოგზავნილი ფაილი ცარიელია." + +#: newforms/fields.py:496 +msgid "Enter a valid URL." +msgstr "შეიყვანეთ სწორი URL." + +#: newforms/fields.py:497 +msgid "This URL appears to be a broken link." +msgstr "როგორც ჩანს, URL არის გაწყვეტილი ბმული." + +#: newforms/fields.py:559 newforms/models.py:300 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. ეს არჩევანი დასაშვები არ არის." + +#: newforms/fields.py:598 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %(value)s დასაშვები არ არის." + +#: newforms/fields.py:599 newforms/fields.py:661 newforms/models.py:360 +msgid "Enter a list of values." +msgstr "შეიყვანეთ მნიშვნელობების სია." + +#: newforms/fields.py:752 +msgid "Enter a valid IPv4 address." +msgstr "შეიყვანეთ სწორი IPv4 მისამართი." + +#: newforms/models.py:361 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %s დასაშვები არ არის." + +#: oldforms/__init__.py:409 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "დარწმუნდით, რომ თქვენს მიერ შეყვანილი ტექსტი %s სიმბოლოზე ნაკლებია." +msgstr[1] "დარწმუნდით, რომ თქვენს მიერ შეყვანილი ტექსტი %s სიმბოლოზე ნაკლებია." + +#: oldforms/__init__.py:414 +msgid "Line breaks are not allowed here." +msgstr "ახალ ხაზზე გადასვლა აქ დაუშვებელია." + +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" +"აირჩიეთ დასაშვები მნიშვნელობა; '%(data)s' არ არის %(choices)s მნიშვნელობების " +"სიაში." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "შეიყვანეთ მთელი რიცხვი -32,768-დან 32,767-მდე." + +#: oldforms/__init__.py:755 +msgid "Enter a positive number." +msgstr "შეიყვანეთ დადებითი რიცხვი." + +#: oldforms/__init__.py:765 +msgid "Enter a whole number between 0 and 32,767." +msgstr "შეიყვანეთ მთელი რიცხვი 0-დან 32,767-მდე." + +#: template/defaultfilters.py:691 +msgid "yes,no,maybe" +msgstr "კი,არა,შესაძლოა" + +#: template/defaultfilters.py:722 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ბაიტი" +msgstr[1] "%(size)d ბაიტი" + +#: template/defaultfilters.py:724 +#, python-format +msgid "%.1f KB" +msgstr "%.1f კბაიტი" + +#: template/defaultfilters.py:726 +#, python-format +msgid "%.1f MB" +msgstr "%.1f მბაიტი" + +#: template/defaultfilters.py:727 +#, python-format +msgid "%.1f GB" +msgstr "%.1f გბაიტი" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "შუაღამე" + +#: utils/dateformat.py:99 +msgid "noon" +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:10 +msgid "Mon" +msgstr "ორშ" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "სამ" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "ოთხ" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "ხუთ" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "პარ" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "შაბ" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "კვრ" + +#: utils/dates.py:18 +msgid "January" +msgstr "იანვარი" + +#: utils/dates.py:18 +msgid "February" +msgstr "თებერვალი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "მარტი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "აპრილი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "მაისი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "ივნისი" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "ივლისი" + +#: utils/dates.py:19 +msgid "August" +msgstr "აგვისტო" + +#: utils/dates.py:19 +msgid "September" +msgstr "სექტემბერი" + +#: utils/dates.py:19 +msgid "October" +msgstr "ოქტომბერი" + +#: utils/dates.py:19 +msgid "November" +msgstr "ნოემბერი" + +#: utils/dates.py:20 +msgid "December" +msgstr "დეკემბერი" + +#: utils/dates.py:23 +msgid "jan" +msgstr "იან" + +#: utils/dates.py:23 +msgid "feb" +msgstr "თებ" + +#: utils/dates.py:23 +msgid "mar" +msgstr "მარ" + +#: utils/dates.py:23 +msgid "apr" +msgstr "აპრ" + +#: utils/dates.py:23 +msgid "may" +msgstr "მაი" + +#: utils/dates.py:23 +msgid "jun" +msgstr "ივნ" + +#: utils/dates.py:24 +msgid "jul" +msgstr "ივლ" + +#: utils/dates.py:24 +msgid "aug" +msgstr "აგვ" + +#: utils/dates.py:24 +msgid "sep" +msgstr "სექ" + +#: utils/dates.py:24 +msgid "oct" +msgstr "ოქტ" + +#: utils/dates.py:24 +msgid "nov" +msgstr "ნოე" + +#: utils/dates.py:24 +msgid "dec" +msgstr "დეკ" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "იან." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "თებ." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "აგვ." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "სექტ." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "ოქტ." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "ნოემ." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "დეკ." + +#: utils/text.py:127 +msgid "or" +msgstr "ან" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "წელი" +msgstr[1] "წელი" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "თვე" +msgstr[1] "თვე" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "კვირა" +msgstr[1] "კვირა" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "დღე" +msgstr[1] "დღე" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "საათი" +msgstr[1] "საათი" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "წუთი" +msgstr[1] "წუთი" + +#: utils/timesince.py:46 +msgid "minutes" +msgstr "წუთი" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:404 +msgid "DATE_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:405 +msgid "DATETIME_FORMAT" +msgstr "d.m.Y H:i" + +#: utils/translation/trans_real.py:406 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:422 +msgid "YEAR_MONTH_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:423 +msgid "MONTH_DAY_FORMAT" +msgstr "d.m.Y" + +#: 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 წაიშალა." diff --git a/django/conf/locale/ka/LC_MESSAGES/djangojs.mo b/django/conf/locale/ka/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..37251461891b7643fe134ac938183f041a4852f2 GIT binary patch literal 2222 zcmZvaNpBoQ6vrC~O9lubtYVQ0q)0(gJ7Z&vJ%o_KOXA35N1h3hxs|7jnNE7Tt?r%y zOSui?#32reNP-h3tU*Ef3f%Y%91t)kuDNhPT=>1JwjCLlRP}%Lmj7F-e&4t2vd4On z{R;ax_I~#I101aKgP!*YI1D}nj)PBthr!3d*}}dEKFNIvEP*X>H<%W94t$vVd2ko_ zId}?O1BK_WLVpjGJb#0d_a9JrMX7*2pu`^n$H7rhcsro*WT50d2fjxS=RxW17lK{} z{{UYD|1IvX5-j~pfUkoy-~liMCGH|P3f=*q0{<-Z_rSgI@21G-(7*Jk=j{W_pzuwC z5`PkuydgLNepcvz2JdkH6%_wZDPC|5lsq>;=xuMJm-Q@LW-Gih6PXWgcJ1MOo(={+}>LxPHT&*VER5ja4*fa;SH@H+gx0$> zx~gi4g+|w8ay@N=*h!6cH?^vnG!#o+=iL;+Yb5UMBxwrIlF4#o4JXs&42k{O!2iIc zS(wBX6`av=D^ca4iMLCOW+h2;zm~Paz<Xz{vMt3S|t~!70 zRQ1@jIy^UbGzy23v~{FZo2^Z6wKqIeE=?wJZelX7u26bzKFJTQL^_P$VfZ@DO#bev z#*9C{CUIm}Dmp#R07e`V0WX3tw{Obz%gH81EK?nV-)&}jRL4Vz5!SyC)Y~NU0adA0dYwr@$Yp)3+^XLIclfuod7i>_EV z4cLomP#Ffgbi<;AE6PSu#+oe#m9yEBHs*fbC&f@s6p5VqS$h<1k{rh%4c-fr^-{o5OF{Jm`r&P(@e z3B@2P`o6pQdVC}|U&0Z#=6h9YWZx?AE_j1|+p~^ze{l0Y(B hem7q!hkV=JJ=>v-5??Oxx~8si;Tw>I5XQ6a{RbDMZvg-R literal 0 HcmV?d00001 diff --git a/django/conf/locale/ka/LC_MESSAGES/djangojs.po b/django/conf/locale/ka/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..61aaf1070a --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/djangojs.po @@ -0,0 +1,118 @@ +# Translation of Django Java-script part to Georgian. +# Copyright (C) 2008 +# This file is distributed under the same license as the PACKAGE package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django 0.97\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-16 22:31+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: David Avsajanishvili \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "მისაწვდომი %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/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "იანვარი თებერვალი მარტი აპრილი მაისი ივნისი ივლისი აგვისტო სექტემბერი " +"ოქტომბერი ნოემბერი დეკემბერი" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "კ ო ს ო ხ პ შ" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "კვირა ორშაბათი სამშაბათი ოთხშაბათი ხუთშაბათი პარასკევი შაბათი" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "ვაჩვენოთ" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "დავმალოთ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "ახლა" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "საათი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "ავირჩიოთ დრო" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "შუაღამე" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "დილის 6 სთ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Noon" +msgstr "შუადღე" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Cancel" +msgstr "უარი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +msgid "Today" +msgstr "დღეს" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +msgid "Calendar" +msgstr "კალენდარი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +msgid "Yesterday" +msgstr "გუშინ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Tomorrow" +msgstr "ხვალ" diff --git a/django/conf/locale/nl/LC_MESSAGES/django.mo b/django/conf/locale/nl/LC_MESSAGES/django.mo index b49be6a3e38528c70d6d3e99d7fd4be235788999..09889e7c818904f3b9c26fd2b28f05ca0b8d6428 100644 GIT binary patch delta 14476 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 F|1U*mvJe0O delta 10826 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 sp0np|A5-<%zuJCRO+9k+-0#}aF?w><8aU5h\n" "Language-Team: \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" - -#: db/models/manipulators.py:305 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" -"%(object)s van het type %(type)s bestaat al voor het gegeven %(field)s." - -#: 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 "en" - -#: db/models/fields/related.py:51 -#, python-format -msgid "Please enter a valid %s." -msgstr "Geef een geldig %s veld." - -#: db/models/fields/related.py:618 -msgid "Separate multiple IDs with commas." -msgstr "Scheid meerdere ID's door komma's." - -#: db/models/fields/related.py:620 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Houd \"Control\", of \"Command\" op een Mac, ingedrukt om meerdere te " -"selecteren." - -#: db/models/fields/related.py:664 -#, 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] "Geef een geldig %(self)s IDs. De waarde %(value)r is ongeldig." -msgstr[1] "Geef een geldig %(self)s IDs. De waarden %(value)r zijn ongeldig." - -#: db/models/fields/__init__.py:41 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s met deze %(fieldname)s bestaat al." - -#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266 -#: db/models/fields/__init__.py:560 db/models/fields/__init__.py:571 -#: forms/__init__.py:352 newforms/fields.py:60 newforms/fields.py:288 -msgid "This field is required." -msgstr "Dit veld is verplicht." - -#: db/models/fields/__init__.py:349 -msgid "This value must be an integer." -msgstr "De waarde moet een geheel getal zijn." - -#: db/models/fields/__init__.py:381 -msgid "This value must be either True or False." -msgstr "De waarde moet of True (Waar) of False (Onwaar) zijn." - -#: db/models/fields/__init__.py:397 -msgid "This field cannot be null." -msgstr "Dit veld mag niet leeg zijn." - -#: db/models/fields/__init__.py:424 core/validators.py:147 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Geef een geldige datum in JJJJ-MM-DD formaat." - -#: db/models/fields/__init__.py:486 core/validators.py:156 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Geef geldige datum/tijd in JJJJ-MM-DD UU:MM formaat." - -#: db/models/fields/__init__.py:580 -msgid "Enter a valid filename." -msgstr "Geef een geldige bestandsnaam." +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: conf/global_settings.py:39 msgid "Arabic" @@ -91,638 +20,186 @@ msgid "Bengali" msgstr "Bengaals" #: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "Bulgaars" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "Catalaans" + +#: conf/global_settings.py:43 msgid "Czech" msgstr "Tjechisch" -#: conf/global_settings.py:42 +#: conf/global_settings.py:44 msgid "Welsh" msgstr "Wels" -#: conf/global_settings.py:43 +#: conf/global_settings.py:45 msgid "Danish" msgstr "Deens" -#: conf/global_settings.py:44 +#: conf/global_settings.py:46 msgid "German" msgstr "Duits" -#: conf/global_settings.py:45 +#: conf/global_settings.py:47 msgid "Greek" msgstr "Grieks" -#: conf/global_settings.py:46 +#: conf/global_settings.py:48 msgid "English" msgstr "Engels" -#: conf/global_settings.py:47 +#: conf/global_settings.py:49 msgid "Spanish" msgstr "Spaans" -#: conf/global_settings.py:48 +#: conf/global_settings.py:50 msgid "Argentinean Spanish" msgstr "Argentijns Spaans" -#: conf/global_settings.py:49 +#: conf/global_settings.py:51 +msgid "Basque" +msgstr "Baskisch" + +#: conf/global_settings.py:52 +msgid "Persian" +msgstr "Perzisch" + +#: conf/global_settings.py:53 msgid "Finnish" msgstr "Fins" -#: conf/global_settings.py:50 +#: conf/global_settings.py:54 msgid "French" msgstr "Frans" -#: conf/global_settings.py:51 +#: conf/global_settings.py:55 +msgid "Irish" +msgstr "Iers" + +#: conf/global_settings.py:56 msgid "Galician" msgstr "Galicisch" -#: conf/global_settings.py:52 +#: conf/global_settings.py:57 msgid "Hungarian" msgstr "Hongaars" -#: conf/global_settings.py:53 +#: conf/global_settings.py:58 msgid "Hebrew" msgstr "Hebreews" -#: conf/global_settings.py:54 +#: conf/global_settings.py:59 +msgid "Croatian" +msgstr "Kroatisch" + +#: conf/global_settings.py:60 msgid "Icelandic" msgstr "IJslands" -#: conf/global_settings.py:55 +#: conf/global_settings.py:61 msgid "Italian" msgstr "Italiaans" -#: conf/global_settings.py:56 +#: conf/global_settings.py:62 msgid "Japanese" msgstr "Japans" -#: conf/global_settings.py:57 +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "Georgisch" + +#: conf/global_settings.py:64 +msgid "Korean" +msgstr "Koreaans" + +#: conf/global_settings.py:65 +msgid "Khmer" +msgstr "Khmer" + +#: conf/global_settings.py:66 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:67 +msgid "Latvian" +msgstr "Lets" + +#: conf/global_settings.py:68 +msgid "Macedonian" +msgstr "Macedonisch" + +#: conf/global_settings.py:69 msgid "Dutch" msgstr "Nederlands" -#: conf/global_settings.py:58 +#: conf/global_settings.py:70 msgid "Norwegian" msgstr "Noors" -#: conf/global_settings.py:59 +#: conf/global_settings.py:71 msgid "Polish" msgstr "Pools" -#: conf/global_settings.py:60 +#: conf/global_settings.py:72 +msgid "Portugese" +msgstr "Portugees" + +#: conf/global_settings.py:73 msgid "Brazilian" msgstr "Braziliaans" -#: conf/global_settings.py:61 +#: conf/global_settings.py:74 msgid "Romanian" msgstr "Roemeens" -#: conf/global_settings.py:62 +#: conf/global_settings.py:75 msgid "Russian" msgstr "Russisch" -#: conf/global_settings.py:63 +#: conf/global_settings.py:76 msgid "Slovak" msgstr "Slovaaks" -#: conf/global_settings.py:64 +#: conf/global_settings.py:77 msgid "Slovenian" msgstr "Sloveens" -#: conf/global_settings.py:65 +#: conf/global_settings.py:78 msgid "Serbian" msgstr "Servisch" -#: conf/global_settings.py:66 +#: conf/global_settings.py:79 msgid "Swedish" msgstr "Zweeds" -#: conf/global_settings.py:67 +#: conf/global_settings.py:80 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:68 +#: conf/global_settings.py:81 +msgid "Telugu" +msgstr "Telegu" + +#: conf/global_settings.py:82 msgid "Turkish" msgstr "Turks" -#: conf/global_settings.py:69 +#: conf/global_settings.py:83 msgid "Ukrainian" -msgstr "Oekraïens" +msgstr "Oekraïens" -#: conf/global_settings.py:70 +#: conf/global_settings.py:84 msgid "Simplified Chinese" msgstr "Vereenvoudigd Chinees" -#: conf/global_settings.py:71 +#: conf/global_settings.py:85 msgid "Traditional Chinese" msgstr "Traditioneel Chinees" -#: core/validators.py:64 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Deze waarde mag alleen letters, getallen en liggende strepen bevatten." - -#: core/validators.py:68 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Deze waarde mag alleen letters, cijfers, liggende strepen en schuine strepen " -"bevatten." - -#: core/validators.py:72 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "" -"Deze waarde mag alleen letters, cijfers, liggende strepen en verbindingsstrepen " -"bevatten." - -#: core/validators.py:76 -msgid "Uppercase letters are not allowed here." -msgstr "Hoofdletters zijn hier niet toegestaan." - -#: core/validators.py:80 -msgid "Lowercase letters are not allowed here." -msgstr "Kleine letters zijn hier niet toegestaan." - -#: core/validators.py:87 -msgid "Enter only digits separated by commas." -msgstr "Geef alleen cijfers op, gescheiden door komma's." - -#: core/validators.py:99 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Geef geldige e-mailadressen op, gescheiden door komma's." - -#: core/validators.py:103 -msgid "Please enter a valid IP address." -msgstr "Geef een geldig IP adres op." - -#: core/validators.py:107 -msgid "Empty values are not allowed here." -msgstr "Lege waarden zijn hier niet toegestaan." - -#: core/validators.py:111 -msgid "Non-numeric characters aren't allowed here." -msgstr "Niet-numerieke karakters zijn hier niet toegestaan." - -#: core/validators.py:115 -msgid "This value can't be comprised solely of digits." -msgstr "Deze waarde kan niet alleen uit cijfers bestaan." - -#: core/validators.py:120 newforms/fields.py:103 -msgid "Enter a whole number." -msgstr "Geef een geheel getal op." - -#: core/validators.py:124 -msgid "Only alphabetical characters are allowed here." -msgstr "Alleen alfabetische karakters zijn toegestaan" - -#: core/validators.py:139 -msgid "Year must be 1900 or later." -msgstr "Het jaartal moet 1900 of later zijn." - -#: core/validators.py:143 -#, python-format -msgid "Invalid date: %s." -msgstr "Ongeldige datum: %s" - -#: core/validators.py:152 -msgid "Enter a valid time in HH:MM format." -msgstr "Geef een geldige tijd in UU:MM formaat." - -#: core/validators.py:161 newforms/fields.py:207 -msgid "Enter a valid e-mail address." -msgstr "Geef een geldig e-mailadres op." - -#: core/validators.py:173 core/validators.py:442 forms/__init__.py:667 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Er was geen bestand verstuurd. Controleer het coderings type van het formulier." - -#: core/validators.py:177 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Bestand ongeldig. Het bestand dat is gegeven is geen afbeelding of is " -"beschadigd." - -#: core/validators.py:184 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "De URL %s wijst niet naar een geldige afbeelding." - -#: core/validators.py:188 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefoonnummers moeten volgens het XXX-XXX-XXXX formaat zijn. \"%s\" is " -"ongeldig." - -#: core/validators.py:196 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "De URL %s wijst niet naar een geldige QuickTime video." - -#: core/validators.py:200 -msgid "A valid URL is required." -msgstr "Een geldige URL is vereist." - -#: core/validators.py:214 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Geldige HTML is vereist. De specifieke fouten zijn:\n" -"%s" - -#: core/validators.py:221 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Foute XML: %s" - -#: core/validators.py:238 -#, python-format -msgid "Invalid URL: %s" -msgstr "Ongeldige URL: %s" - -#: core/validators.py:243 core/validators.py:245 -#, python-format -msgid "The URL %s is a broken link." -msgstr "De URL %s is niet een werkende link." - -#: core/validators.py:251 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Geef een geldige afkorting van een staat in de VS." - -#: 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] "Pas op uw taalgebruik! Gebruik van %s niet toegestaan." -msgstr[1] "Pas op uw taalgebruik! Gebruik van de woorden %s is niet toegestaan." - -#: core/validators.py:272 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Dit veld moet overeenkomen met het '%s' veld." - -#: core/validators.py:291 -msgid "Please enter something for at least one field." -msgstr "Voer tenminste één veld in." - -#: core/validators.py:300 core/validators.py:311 -msgid "Please enter both fields or leave them both empty." -msgstr "Voer waarden in beide velden in of laat beide leeg." - -#: core/validators.py:318 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Dit veld moet opgegeven worden indien %(field)s %(value)s is" - -#: core/validators.py:330 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Dit veld moet worden opgegeven indien %(field)s niet %(value)s is" - -#: core/validators.py:349 -msgid "Duplicate values are not allowed." -msgstr "Dubbele waarden zijn niet toegestaan." - -#: core/validators.py:364 -#, python-format -msgid "This value must be between %s and %s." -msgstr "De waarde moet tussen %s en %s zijn." - -#: core/validators.py:366 -#, python-format -msgid "This value must be at least %s." -msgstr "De waarde moet minimaal %s zijn." - -#: core/validators.py:368 -#, python-format -msgid "This value must be no more than %s." -msgstr "De waarde mag niet meer zijn dan %s." - -#: core/validators.py:404 -#, python-format -msgid "This value must be a power of %s." -msgstr "De waarde moet een macht van %s zijn." - -#: core/validators.py:415 -msgid "Please enter a valid decimal number." -msgstr "Geef een geldig decimaal getal." - -#: 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." -msgstr[0] "Geef een geldig decimaal getal met hooguit %s cijfer." -msgstr[1] "Geef een geldig decimaal getal met hooguit %s cijfers." - -#: 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." -msgstr[0] "Geef een geldig decimaal getal waarbij het gehele getal minimaal %s cijfer heeft." -msgstr[1] "Geef een geldig decimaal getal waarbij het gehele getal minimaal %s cijfers heeft." - -#: 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] "Geef een decimaal getal met hooguit %s cijfer achter de komma." -msgstr[1] "Geef een decimaal getal met hooguit %s cijfers achter de komma." - -#: core/validators.py:435 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Zorg ervoor dat het bestand minstens %s bytes groot is." - -#: core/validators.py:436 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Zorg ervoor dat het bestand hoogstens %s bytes groot is." - -#: core/validators.py:453 -msgid "The format for this field is wrong." -msgstr "Het formaat van dit veld is foutief." - -#: core/validators.py:468 -msgid "This field is invalid." -msgstr "Dit veld is ongeldig." - -#: core/validators.py:504 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Kan niks ophalen van %s." - -#: core/validators.py:507 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"De geretourneerde URL %(url)s bevat een ongeldige Content-Type '%" -"(contenttype)s." - -#: core/validators.py:540 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Sluit de niet gesloten %(tag)s tag op regel %(line)s. (Regel start met \"%" -"(start)s\".)" - -#: core/validators.py:544 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Tekst beginnend op regel %(line)s is in deze context niet toegestaan. (Regel " -"start met \"%(start)s\".)" - -#: core/validators.py:549 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" op regel %(line)s is een ongeldig attribuut. (Regel start met " -"\"%(start)s\".)" - -#: core/validators.py:554 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" op regel %(line)s is een ongeldige tag. (Regel start met \"%" -"(start)s\".)" - -#: core/validators.py:558 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Een of meerdere attributen ontbreken bij een tag op regel %(line)s. (Regel " -"start met \"%(start)s\".)" - -#: core/validators.py:563 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"De \"%(attr)s\" attribuut op regel %(line)s heeft een ongeldige waarde. " -"(Regel start met \"%(start)s\".)" - -#: contrib/auth/forms.py:16 -msgid "The two password fields didn't match." -msgstr "De twee ingevulde wachtwoorden zijn niet gelijk." - -#: contrib/auth/forms.py:24 -msgid "A user with that username already exists." -msgstr "Een gebruiker met deze gebruikersnaam bestaat al." - -#: contrib/auth/forms.py:52 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Het lijkt erop dat uw browser geen cookies accepteert. Om aan te melden " -"moeten cookies worden geaccepteerd." - -#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Voer een correcte gebruikersnaam en wachtwoord in. Let op, de velden zijn " -"hoofdletter-gevoelig." - -#: contrib/auth/forms.py:61 -msgid "This account is inactive." -msgstr "Dit account is inactief." - -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "Dat e-mailadres heeft geen gerelateerd gebruikersaccount. Weet u zeker dat u zich heeft geregistreerd?" - -#: contrib/auth/forms.py:116 -msgid "The two 'new password' fields didn't match." -msgstr "De twee 'nieuw wachtwoord' velden zijn niet gelijk." - -#: contrib/auth/forms.py:123 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Uw oude wachtwoord was niet correct ingevoerd. Voert u het alstublieft opnieuw in." - -#: contrib/auth/models.py:38 contrib/auth/models.py:57 -msgid "name" -msgstr "naam" - -#: contrib/auth/models.py:40 -msgid "codename" -msgstr "codenaam" - -#: contrib/auth/models.py:42 -msgid "permission" -msgstr "recht" - -#: contrib/auth/models.py:43 contrib/auth/models.py:58 -msgid "permissions" -msgstr "rechten" - -#: contrib/auth/models.py:60 -msgid "group" -msgstr "groep" - -#: contrib/auth/models.py:61 contrib/auth/models.py:100 -msgid "groups" -msgstr "groepen" - -#: contrib/auth/models.py:90 -msgid "username" -msgstr "gebruikersnaam" - -#: contrib/auth/models.py:90 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "Verplicht. 30 tekens of minder. Alleen alfanumerieke tekens (letters, cijfers en liggende strepen)." - -#: contrib/auth/models.py:91 -msgid "first name" -msgstr "voornaam" - -#: contrib/auth/models.py:92 -msgid "last name" -msgstr "achternaam" - -#: contrib/auth/models.py:93 -msgid "e-mail address" -msgstr "e-mailadres" - -#: contrib/auth/models.py:94 -msgid "password" -msgstr "wachtwoord" - -#: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Gebruik '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:95 -msgid "staff status" -msgstr "staf status" - -#: contrib/auth/models.py:95 -msgid "Designates whether the user can log into this admin site." -msgstr "Bepaalt of de gebruiker kan inloggen op deze admin site." - -#: contrib/auth/models.py:96 -msgid "active" -msgstr "actief" - -#: contrib/auth/models.py:96 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "Bepaalt of de gebruiker kan inloggen op deze admin site. U kunt dit uitvinken in plaats van een gebruiker te verwijderen." - -#: contrib/auth/models.py:97 -msgid "superuser status" -msgstr "supergebruiker status" - -#: contrib/auth/models.py:97 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "Bepaalt dat deze gebruiker alle rechten heeft, zonder deze expliciet toe te wijzen." - -#: contrib/auth/models.py:98 -msgid "last login" -msgstr "laatste aanmelding" - -#: contrib/auth/models.py:99 -msgid "date joined" -msgstr "datum toegetreden" - -#: 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 "" -"Bovenop de rechten welke handmatig zijn toegekend, krijgt deze gebruiker ook " -"alle rechten van de groepen waar hij of zij deel van uitmaakt." - -#: contrib/auth/models.py:102 -msgid "user permissions" -msgstr "gebruikersrechten" - -#: contrib/auth/models.py:105 -msgid "user" -msgstr "gebruiker" - -#: contrib/auth/models.py:106 -msgid "users" -msgstr "gebruikers" - -#: contrib/auth/models.py:111 -msgid "Personal info" -msgstr "Persoonlijke informatie" - -#: contrib/auth/models.py:112 -msgid "Permissions" -msgstr "Rechten" - -#: contrib/auth/models.py:113 -msgid "Important dates" -msgstr "Belangrijke datums" - -#: contrib/auth/models.py:114 -msgid "Groups" -msgstr "Groepen" - -#: contrib/auth/models.py:258 -msgid "message" -msgstr "bericht" - -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "Afmelden" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "actie tijd" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "object id" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "object repr" - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "actie vlag" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "wijzig bericht" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "log ingave" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "log ingaves" - -#: contrib/admin/filterspecs.py:40 +#: contrib/admin/filterspecs.py:44 #, python-format msgid "" "

          By %s:

          \n" @@ -731,414 +208,78 @@ msgstr "" "

          Door %s:

          \n" "
            \n" -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +#: contrib/admin/filterspecs.py:74 +#: contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 +#: contrib/admin/filterspecs.py:173 msgid "All" msgstr "Alle" -#: contrib/admin/filterspecs.py:109 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "Elke datum" -#: contrib/admin/filterspecs.py:110 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "Vandaag" -#: contrib/admin/filterspecs.py:113 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "Laatste 7 dagen" -#: contrib/admin/filterspecs.py:115 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "Deze maand" -#: contrib/admin/filterspecs.py:117 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "Dit jaar" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:147 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Yes" msgstr "Ja" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:147 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "No" msgstr "Nee" -#: contrib/admin/filterspecs.py:150 +#: contrib/admin/filterspecs.py:154 +#: newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Unknown" msgstr "Onbekend" -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Aanmelden" +#: contrib/admin/models.py:18 +msgid "action time" +msgstr "actie tijd" -#: 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 "" -"Uw sessie is verlopen, meld u opnieuw aan. Maakt u zich geen zorgen: Uw bijdrage " -"is opgeslagen." +#: contrib/admin/models.py:21 +msgid "object id" +msgstr "object id" -#: 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 "" -"Het lijkt erop dat uw browser geen cookies accepteert. Zet het gebruik van " -"cookies aan in uw browser, laad deze pagina nogmaals en probeer het opnieuw." +#: contrib/admin/models.py:22 +msgid "object repr" +msgstr "object repr" -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "Gebruikersnamen mogen geen '@' bevatten." +#: contrib/admin/models.py:23 +msgid "action flag" +msgstr "actie vlag" -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Uw e-mailadres is niet uw gebruikersnaam. Probeer '%s' eens." +#: contrib/admin/models.py:24 +msgid "change message" +msgstr "wijzig bericht" -#: contrib/admin/views/main.py:223 -msgid "Site administration" -msgstr "Site beheer" +#: contrib/admin/models.py:27 +msgid "log entry" +msgstr "log ingave" -#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "De %(name)s \"%(obj)s\" is toegevoegd." - -#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 -#: contrib/admin/views/auth.py:23 -msgid "You may edit it again below." -msgstr "U kunt dit hieronder weer bewerken." - -#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 -#, python-format -msgid "You may add another %s below." -msgstr "U kunt hieronder de volgende %s toevoegen." - -#: contrib/admin/views/main.py:289 -#, python-format -msgid "Add %s" -msgstr "Toevoegen %s" - -#: contrib/admin/views/main.py:335 -#, python-format -msgid "Added %s." -msgstr "%s toegevoegd." - -#: contrib/admin/views/main.py:337 -#, python-format -msgid "Changed %s." -msgstr "Gewijzigd %s" - -#: contrib/admin/views/main.py:339 -#, python-format -msgid "Deleted %s." -msgstr "%s verwijderd." - -#: contrib/admin/views/main.py:342 -msgid "No fields changed." -msgstr "Geen velden gewijzigd." - -#: contrib/admin/views/main.py:345 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "Het wijzigen van %(name)s \"%(obj)s\" is geslaagd." - -#: contrib/admin/views/main.py:353 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "De %(name)s \"%(obj)s\" was toegevoegd. U kunt het hieronder wijzigen." - -#: contrib/admin/views/main.py:391 -#, python-format -msgid "Change %s" -msgstr "Wijzig %s" - -#: contrib/admin/views/main.py:473 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Een of meer %(fieldname)s in %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:478 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Een of meer %(fieldname)s in %(name)s:" - -#: contrib/admin/views/main.py:511 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "De verwijdering van %(name)s \"%(obj)s\" is geslaagd." - -#: contrib/admin/views/main.py:514 -msgid "Are you sure?" -msgstr "Weet u het zeker?" - -#: contrib/admin/views/main.py:536 -#, python-format -msgid "Change history: %s" -msgstr "Wijzigingsgeschiedenis: %s" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s" -msgstr "Selecteer %s" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s to change" -msgstr "Selecteer %s om te wijzigen" - -#: contrib/admin/views/main.py:758 -msgid "Database error" -msgstr "Database fout" - -#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 -#: contrib/admin/views/doc.py:50 -msgid "tag:" -msgstr "tag:" - -#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 -#: contrib/admin/views/doc.py:81 -msgid "filter:" -msgstr "filter:" - -#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 -#: contrib/admin/views/doc.py:139 -msgid "view:" -msgstr "view:" - -#: contrib/admin/views/doc.py:164 -#, python-format -msgid "App %r not found" -msgstr "App %r niet gevonden" - -#: contrib/admin/views/doc.py:171 -#, python-format -msgid "Model %r not found in app %r" -msgstr "Model %r niet gevonden in app %r" - -#: contrib/admin/views/doc.py:183 -#, python-format -msgid "the related `%s.%s` object" -msgstr "het gerelateerde `%s.%s` object" - -#: 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 "model:" - -#: contrib/admin/views/doc.py:214 -#, python-format -msgid "related `%s.%s` objects" -msgstr "de gerelateerde `%s.%s` objecten" - -#: contrib/admin/views/doc.py:219 -#, python-format -msgid "all %s" -msgstr "alle %s" - -#: contrib/admin/views/doc.py:224 -#, python-format -msgid "number of %s" -msgstr "aantal %s" - -#: contrib/admin/views/doc.py:229 -#, python-format -msgid "Fields on %s objects" -msgstr "Velden van %s objecten" - -#: 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 "Geheel getal" - -#: contrib/admin/views/doc.py:292 -msgid "Boolean (Either True or False)" -msgstr "Boolean (True of False)" - -#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Karakterreeks (hooguit %(maxlength)s)" - -#: contrib/admin/views/doc.py:294 -msgid "Comma-separated integers" -msgstr "Komma-gescheiden gehele getallen" - -#: contrib/admin/views/doc.py:295 -msgid "Date (without time)" -msgstr "Datum (zonder tijd)" - -#: contrib/admin/views/doc.py:296 -msgid "Date (with time)" -msgstr "Datum (met tijd)" - -#: contrib/admin/views/doc.py:297 -msgid "E-mail address" -msgstr "E-mailadres" - -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 -#: contrib/admin/views/doc.py:302 -msgid "File path" -msgstr "Bestandspad" - -#: contrib/admin/views/doc.py:300 -msgid "Decimal number" -msgstr "Decimaal getal" - -#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 -msgid "IP address" -msgstr "IP adres" - -#: contrib/admin/views/doc.py:306 -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False of None)" - -#: contrib/admin/views/doc.py:307 -msgid "Relation to parent model" -msgstr "Relatie tot ouder model" - -#: contrib/admin/views/doc.py:308 -msgid "Phone number" -msgstr "Telefoonnummer" - -#: contrib/admin/views/doc.py:313 -msgid "Text" -msgstr "Tekst" - -#: contrib/admin/views/doc.py:314 -msgid "Time" -msgstr "Tijd" - -#: 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 "Staat van de VS (twee hoofdletters)" - -#: contrib/admin/views/doc.py:317 -msgid "XML text" -msgstr "XML Tekst" - -#: contrib/admin/views/doc.py:343 -#, python-format -msgid "%s does not appear to be a urlpattern object" -msgstr "%s lijkt geen urlpattern object te zijn" - -#: contrib/admin/views/auth.py:29 -msgid "Add user" -msgstr "Gebruiker toevoegen" - -#: contrib/admin/templatetags/admin_list.py:230 -msgid "All dates" -msgstr "Alle data" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Alles tonen" - -#: 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_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 "Documentatie" - -#: 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_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 "Wachtwoord wijzigen" - -#: 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_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 "Afmelden" - -#: 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_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 "Voorpagina" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Verwijderen" - -#: 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 "" -"Het verwijderen van %(object_name)s '%(escaped_object)s' zal ook gerelateerde " -"objecten verwijderen. Echter u heeft geen rechten om de volgende typen " -"objecten te verwijderen:" - -#: 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 "" -"Weet u zeker dat u %(object_name)s \"%(escaped_object)s\" wilt verwijderen? Alle " -"volgende objecten worden verwijderd:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Ja, ik weet het zeker" +#: contrib/admin/models.py:28 +msgid "log entries" +msgstr "log ingaves" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -1149,13 +290,74 @@ msgstr "Pagina niet gevonden" msgid "We're sorry, but the requested page could not be found." msgstr "Onze excuses, maar de gevraagde pagina bestaat niet." -#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Voorpagina" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Server fout" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Server fout (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Server Fout (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 "Er is een fout opgetreden. Dit is inmiddels doorgegeven aan de sitebeheerder via e-mail en zal spoedig worden gerepareerd. Bedankt voor uw geduld." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Welkom," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentatie" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Wachtwoord wijzigen" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Afmelden" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django site beheer" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django beheer" + +#: contrib/admin/templates/admin/change_form.html:14 #: contrib/admin/templates/admin/index.html:28 msgid "Add" msgstr "Toevoegen" #: contrib/admin/templates/admin/change_form.html:20 -#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/object_history.html:4 msgid "History" msgstr "Geschiedenis" @@ -1163,45 +365,53 @@ msgstr "Geschiedenis" msgid "View on site" msgstr "Toon op site" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Herstel de fout hieronder." msgstr[1] "Herstel de fouten hieronder." -#: contrib/admin/templates/admin/change_form.html:48 +#: contrib/admin/templates/admin/change_form.html:49 msgid "Ordering" msgstr "Sortering" -#: contrib/admin/templates/admin/change_form.html:51 +#: contrib/admin/templates/admin/change_form.html:52 msgid "Order:" msgstr "Sortering:" +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s toevoegen" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Verwijderen" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, 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 "Het verwijderen van %(object_name)s '%(escaped_object)s' zal ook gerelateerde objecten verwijderen. Echter u heeft geen rechten om de volgende typen objecten te verwijderen:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, 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 "Weet u zeker dat u %(object_name)s \"%(escaped_object)s\" wilt verwijderen? Alle volgende objecten worden verwijderd:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "Ja, ik weet het zeker" + #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(filter_title)s " msgstr " Op %(filter_title)s " -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Opslaan als nieuw item" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Opslaan en nieuw item" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Opslaan en opnieuw bewerken" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Opslaan" - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s toevoegen" +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filter" #: contrib/admin/templates/admin/index.html:17 #, python-format @@ -1233,64 +443,49 @@ msgstr "Mijn acties" msgid "None available" msgstr "Geen beschikbaar" -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Django site beheer" +#: 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 "Er is iets mis met de database. Verzeker u ervan dat de benodigde tabellen zijn aangemaakt en dat de database toegankelijk is voor de juiste gebruiker." -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Django beheer" +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Gebruikersnaam:" -#: contrib/admin/templates/admin/object_history.html:18 +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Wachtwoord:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:31 +msgid "Log in" +msgstr "Aanmelden" + +#: contrib/admin/templates/admin/object_history.html:17 msgid "Date/time" msgstr "Datum/tijd" -#: contrib/admin/templates/admin/object_history.html:19 +#: contrib/admin/templates/admin/object_history.html:18 msgid "User" msgstr "Gebruiker" -#: contrib/admin/templates/admin/object_history.html:20 +#: contrib/admin/templates/admin/object_history.html:19 msgid "Action" msgstr "Actie" -#: contrib/admin/templates/admin/object_history.html:26 +#: contrib/admin/templates/admin/object_history.html:25 msgid "DATE_WITH_TIME_FULL" msgstr "d-n-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 "" -"Dit object heeft geen wijzigingsgeschiedenis. Het is mogelijk niet via de " -"admin site toegevoegd." +#: contrib/admin/templates/admin/object_history.html:35 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Dit object heeft geen wijzigingsgeschiedenis. Het is mogelijk niet via de admin site toegevoegd." -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Server fout" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Server fout (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Server Fout (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 "" -"Er is een fout opgetreden. Dit is inmiddels doorgegeven aan de sitebeheerder " -"via e-mail en zal spoedig worden gerepareerd. Bedankt voor uw geduld." - -#: 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 "Er is iets mis met de database. Verzeker u ervan dat de benodigde tabellen zijn aangemaakt en dat de database toegankelijk is voor de juiste gebruiker." +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Alles tonen" #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" @@ -1308,29 +503,24 @@ msgstr[1] "%(counter)s resultaten" msgid "%(full_result_count)s total" msgstr "%(full_result_count)s totaal" -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filter" +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Opslaan als nieuw item" -#: contrib/admin/templates/admin/login.html:17 -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -msgid "Username:" -msgstr "Gebruikersnaam:" +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Opslaan en nieuw item" -#: contrib/admin/templates/admin/login.html:20 -#: contrib/comments/templates/comments/form.html:8 -msgid "Password:" -msgstr "Wachtwoord:" +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Opslaan en opnieuw bewerken" -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Welkom," +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Opslaan" #: 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." +msgid "First, enter a username and password. Then, you'll be able to edit more user options." msgstr "Vul allereerst een gebruikersnaam en wachtwoord in. Vervolgens kunt u de andere opties instellen." #: contrib/admin/templates/admin/auth/user/add_form.html:12 @@ -1338,26 +528,34 @@ msgid "Username" msgstr "Gebruikersnaam" #: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 msgid "Password" msgstr "Wachtwoord" #: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 msgid "Password (again)" msgstr "Wachtwoord (nogmaals)" #: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 msgid "Enter the same password as above, for verification." msgstr "Vul hetzelfde wachtwoord als hierboven in, ter bevestiging." +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Geef een nieuw passwoord voor gebruiker %(username)s." + #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" msgstr "Bookmarklets" -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 msgid "Documentation bookmarklets" msgstr "Documentatie bookmarklets" -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 msgid "" "\n" "

            To install bookmarklets, drag the link to your bookmarks\n" @@ -1368,95 +566,103 @@ msgid "" "your computer is \"internal\").

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

            Om bookmarklets te installeren, sleep de link naar uw " -"bladwijzers\n" -"werkbalk, of rechtermuis klik op de link en voeg het toe aan de bladwijzer. " -"Nu kan\n" -"de bookmarklet vanuit elke pagina op de site worden gekozen. Let erop dat " -"het soms\n" -"noodzakelijk is dat de computer van waaruit de pagina wordt bekeken intern " -"is.\n" -"(Raadpleeg uw systeembeheerder of uw computer zich op het interne netwerk " -"bevind).

            \n" +"

            Om bookmarklets te installeren, sleep de link naar uw bladwijzers\n" +"werkbalk, of rechtermuis klik op de link en voeg het toe aan de bladwijzer. Nu kan\n" +"de bookmarklet vanuit elke pagina op de site worden gekozen. Let erop dat het soms\n" +"noodzakelijk is dat de computer van waaruit de pagina wordt bekeken intern is.\n" +"(Raadpleeg uw systeembeheerder of uw computer zich op het interne netwerk bevind).

            \n" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" msgstr "Documentatie voor deze pagina" -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" -"Springt vanuit elke pagina naar de documentatie voor de view die gegenereerd " -"wordt door die pagina" +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Springt vanuit elke pagina naar de documentatie voor de view die gegenereerd wordt door die pagina" -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "Toon object ID" -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Toont de content-type en unieke ID voor pagina's die een enkel object " -"voorstellen." +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Toont de content-type en unieke ID voor pagina's die een enkel object voorstellen." -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" msgstr "Bewerk dit object (huidig venster)" -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." msgstr "Gaat naar de beheerpagina voor pagina's die een enkel object weergeven." -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" msgstr "Bewerk dit object (nieuwe pagina)" -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." msgstr "Zoals hierboven, maar opent de beheerpagina in een nieuw venster." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Datum:" +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Bedankt voor de aanwezigheid op de site vandaag." -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Tijd:" +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Meld u opnieuw aan" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Huidige:" +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Wachtwoord wijziging" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Wijziging:" +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Wachtwoord wijzigen is geslaagd" +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "Uw wachtwoord is gewijzigd." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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 "Vanwege de beveiliging moet u uw oude en twee keer een nieuw wachtwoord invoeren, zodat we kunnen controleren of er geen typefouten zijn gemaakt." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Oud wachtwoord:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Nieuw wachtwoord:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Bevestig wachtwoord:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Wijzig mijn wachtwoord" + +#: contrib/admin/templates/registration/password_reset_done.html:4 #: 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 "Wachtwoord hersteld" -#: 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 "" -"Uw wachtwoord vergeten? Geef uw e-mailadres op en er zal een nieuw " -"wachtwoord worden toegekend en aan u worden toegezonden." +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Wachtwoord herstel geslaagd" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "E-mailadres:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Herstel mijn wachtwoord" +#: 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 "Een nieuw wachtwoord is per e-mail verstuurd. U zult het spoedig ontvangen." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -1489,240 +695,572 @@ msgstr "Bedankt voor het gebruik van onze site!" msgid "The %(site_name)s team" msgstr "Het %(site_name)s team" -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Bedankt voor de aanwezigheid op de site vandaag." +#: 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 "Uw wachtwoord vergeten? Geef uw e-mailadres op en er zal een nieuw wachtwoord worden toegekend en aan u worden toegezonden." -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Meld u opnieuw aan" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-mailadres:" -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Wachtwoord herstel geslaagd" +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Herstel mijn wachtwoord" -#: 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 "" -"Een nieuw wachtwoord is per e-mail verstuurd. U zult het spoedig ontvangen." +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" -#: 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 "Wachtwoord wijziging" +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Tijd:" -#: 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 "" -"Vanwege de beveiliging moet u uw oude en twee keer een nieuw " -"wachtwoord invoeren, zodat we kunnen controleren of er geen typefouten zijn " -"gemaakt." +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Huidige:" -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Oud wachtwoord:" +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Wijziging:" -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Nieuw wachtwoord:" +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Alle data" -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Bevestig wachtwoord:" +#: contrib/admin/views/auth.py:20 +#: contrib/admin/views/main.py:267 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "De %(name)s \"%(obj)s\" is toegevoegd." -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Wijzig mijn wachtwoord" +#: contrib/admin/views/auth.py:25 +#: contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +msgid "You may edit it again below." +msgstr "U kunt dit hieronder weer bewerken." -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Gebruiker toevoegen" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." msgstr "Wachtwoord wijzigen is geslaagd" -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Uw wachtwoord is gewijzigd." +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Wijzig wachtwoord: %s" -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "domeinnaam" +#: contrib/admin/views/decorators.py:17 +#: contrib/auth/forms.py:60 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Voer een correcte gebruikersnaam en wachtwoord in. Let op, de velden zijn hoofdletter-gevoelig." -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "weergavenaam" +#: contrib/admin/views/decorators.py:69 +msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." +msgstr "Uw sessie is verlopen, meld u opnieuw aan. Maakt u zich geen zorgen: Uw bijdrage is opgeslagen." -#: contrib/sites/models.py:15 -msgid "site" -msgstr "site" +#: contrib/admin/views/decorators.py:76 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Het lijkt erop dat uw browser geen cookies accepteert. Zet het gebruik van cookies aan in uw browser, laad deze pagina nogmaals en probeer het opnieuw." -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "sites" +#: contrib/admin/views/decorators.py:90 +msgid "Usernames cannot contain the '@' character." +msgstr "Gebruikersnamen mogen geen '@' bevatten." -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Voorbeeld: '/about/contact/'. Zorg voor slashes aan het begin en eind." +#: contrib/admin/views/decorators.py:92 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Uw e-mailadres is niet uw gebruikersnaam. Probeer '%s' eens." -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "titel" +#: contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 +msgid "tag:" +msgstr "tag:" -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "inhoud" +#: contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 +msgid "filter:" +msgstr "filter:" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "opmerkingen toestaan" +#: contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 +msgid "view:" +msgstr "view:" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "sjabloonnaam" +#: contrib/admin/views/doc.py:166 +#, python-format +msgid "App %r not found" +msgstr "App %r niet gevonden" -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Voorbeeld: 'flatpages/contact_page.html'. Als deze niet is opgegeven, dan wordt " -"'flatpages/default.html' gebruikt." +#: contrib/admin/views/doc.py:173 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Model %(name)r niet gevonden in app %(label)r" -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registratie verplicht" +#: contrib/admin/views/doc.py:185 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "het gerelateerde `%(label)s.%(type)s` object" -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Indien dit is aangekruist kunnen alleen ingelogde gebruikers deze pagina " -"bekijken." +#: contrib/admin/views/doc.py:185 +#: contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 +#: contrib/admin/views/doc.py:226 +msgid "model:" +msgstr "model:" -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "platte pagina" +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "de gerelateerde `%(label)s.%(name)s` objecten" -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "platte pagina's" +#: contrib/admin/views/doc.py:221 +#, python-format +msgid "all %s" +msgstr "alle %s" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "omgeleid via" +#: contrib/admin/views/doc.py:226 +#, python-format +msgid "number of %s" +msgstr "aantal %s" -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Dit moet een absoluut pad zijn, zonder de domein naam. Bijvoorbeeld: '/" -"events/search/'." +#: contrib/admin/views/doc.py:231 +#, python-format +msgid "Fields on %s objects" +msgstr "Velden van %s objecten" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "omleiden naar" +#: contrib/admin/views/doc.py:293 +#: 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 "Geheel getal" -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Dit kan een absoluut pad (zoals hierboven) zijn of een volledige URL " -"beginnend met 'http://'." +#: contrib/admin/views/doc.py:294 +msgid "Boolean (Either True or False)" +msgstr "Boolean (True of False)" -#: contrib/redirects/models.py:13 -msgid "redirect" -msgstr "omleiding" +#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Karakterreeks (hooguit %(max_length)s)" -#: contrib/redirects/models.py:14 -msgid "redirects" -msgstr "omleidingen" +#: contrib/admin/views/doc.py:296 +msgid "Comma-separated integers" +msgstr "Komma-gescheiden gehele getallen" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: contrib/admin/views/doc.py:297 +msgid "Date (without time)" +msgstr "Datum (zonder tijd)" + +#: contrib/admin/views/doc.py:298 +msgid "Date (with time)" +msgstr "Datum (met tijd)" + +#: contrib/admin/views/doc.py:299 +msgid "Decimal number" +msgstr "Decimaal getal" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "E-mailadres" + +#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Bestandspad" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "Decimaal getal" + +#: contrib/admin/views/doc.py:307 +#: contrib/comments/models.py:89 +msgid "IP address" +msgstr "IP adres" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False of None)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Relatie tot ouder model" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Telefoonnummer" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Tekst" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Tijd" + +#: contrib/admin/views/doc.py:318 +#: contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "Staat van de VS (twee hoofdletters)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "XML Tekst" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s lijkt geen urlpattern object te zijn" + +#: contrib/admin/views/main.py:233 +msgid "Site administration" +msgstr "Site beheer" + +#: contrib/admin/views/main.py:280 +#: contrib/admin/views/main.py:365 +#, python-format +msgid "You may add another %s below." +msgstr "U kunt hieronder de volgende %s toevoegen." + +#: contrib/admin/views/main.py:298 +#, python-format +msgid "Add %s" +msgstr "Toevoegen %s" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Added %s." +msgstr "%s toegevoegd." + +#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 +#: core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "en" + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Changed %s." +msgstr "Gewijzigd %s" + +#: contrib/admin/views/main.py:348 +#, python-format +msgid "Deleted %s." +msgstr "%s verwijderd." + +#: contrib/admin/views/main.py:351 +msgid "No fields changed." +msgstr "Geen velden gewijzigd." + +#: contrib/admin/views/main.py:354 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Het wijzigen van %(name)s \"%(obj)s\" is geslaagd." + +#: contrib/admin/views/main.py:362 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "De %(name)s \"%(obj)s\" was toegevoegd. U kunt het hieronder wijzigen." + +#: contrib/admin/views/main.py:400 +#, python-format +msgid "Change %s" +msgstr "Wijzig %s" + +#: contrib/admin/views/main.py:487 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Een of meer %(fieldname)s in %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:492 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Een of meer %(fieldname)s in %(name)s:" + +#: contrib/admin/views/main.py:524 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "De verwijdering van %(name)s \"%(obj)s\" is geslaagd." + +#: contrib/admin/views/main.py:527 +msgid "Are you sure?" +msgstr "Weet u het zeker?" + +#: contrib/admin/views/main.py:549 +#, python-format +msgid "Change history: %s" +msgstr "Wijzigingsgeschiedenis: %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s" +msgstr "Selecteer %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s to change" +msgstr "Selecteer %s om te wijzigen" + +#: contrib/admin/views/main.py:784 +msgid "Database error" +msgstr "Database fout" + +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "De twee ingevulde wachtwoorden zijn niet gelijk." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Een gebruiker met deze gebruikersnaam bestaat al." + +#: contrib/auth/forms.py:53 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Het lijkt erop dat uw browser geen cookies accepteert. Om aan te melden moeten cookies worden geaccepteerd." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Dit account is inactief." + +#: contrib/auth/forms.py:84 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Dat e-mailadres heeft geen gerelateerd gebruikersaccount. Weet u zeker dat u zich heeft geregistreerd?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "Wachtwoord hersteld op %s" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "De twee 'nieuw wachtwoord' velden zijn niet gelijk." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Uw oude wachtwoord was niet correct ingevoerd. Voert u het alstublieft opnieuw in." + +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:93 +msgid "name" +msgstr "naam" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "codenaam" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "recht" + +#: contrib/auth/models.py:79 +#: contrib/auth/models.py:94 +msgid "permissions" +msgstr "rechten" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "groep" + +#: contrib/auth/models.py:98 +#: contrib/auth/models.py:141 +msgid "groups" +msgstr "groepen" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "gebruikersnaam" + +#: contrib/auth/models.py:131 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "Verplicht. 30 tekens of minder. Alleen alfanumerieke tekens (letters, cijfers en liggende strepen)." + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "voornaam" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "achternaam" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "e-mailadres" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "wachtwoord" + +#: contrib/auth/models.py:135 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Gebruik '[algo]$[salt]$[hexdigest]' of gebruik hetwijzig passwoord formulier ." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "staf status" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Bepaalt of de gebruiker kan inloggen op deze admin site." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "actief" + +#: contrib/auth/models.py:137 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "Bepaalt of de gebruiker kan inloggen op deze admin site. U kunt dit uitvinken in plaats van een gebruiker te verwijderen." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "supergebruiker status" + +#: contrib/auth/models.py:138 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Bepaalt dat deze gebruiker alle rechten heeft, zonder deze expliciet toe te wijzen." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "laatste aanmelding" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "datum toegetreden" + +#: contrib/auth/models.py:142 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Bovenop de rechten welke handmatig zijn toegekend, krijgt deze gebruiker ook alle rechten van de groepen waar hij of zij deel van uitmaakt." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "gebruikersrechten" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "gebruiker" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "gebruikers" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Persoonlijke informatie" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "Rechten" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Belangrijke datums" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Groepen" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "bericht" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Afmelden" + +#: contrib/comments/models.py:71 +#: contrib/comments/models.py:176 msgid "object ID" msgstr "object ID" -#: contrib/comments/models.py:68 +#: contrib/comments/models.py:72 msgid "headline" msgstr "kop" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 +#: contrib/comments/models.py:73 +#: contrib/comments/models.py:95 +#: contrib/comments/models.py:177 msgid "comment" msgstr "opmerking" -#: contrib/comments/models.py:70 +#: contrib/comments/models.py:74 msgid "rating #1" msgstr "waardering #1" -#: contrib/comments/models.py:71 +#: contrib/comments/models.py:75 msgid "rating #2" msgstr "waardering #2" -#: contrib/comments/models.py:72 +#: contrib/comments/models.py:76 msgid "rating #3" msgstr "waardering #3" -#: contrib/comments/models.py:73 +#: contrib/comments/models.py:77 msgid "rating #4" msgstr "waardering #4" -#: contrib/comments/models.py:74 +#: contrib/comments/models.py:78 msgid "rating #5" msgstr "waardering #5" -#: contrib/comments/models.py:75 +#: contrib/comments/models.py:79 msgid "rating #6" msgstr "waardering #6" -#: contrib/comments/models.py:76 +#: contrib/comments/models.py:80 msgid "rating #7" msgstr "waardering #7" -#: contrib/comments/models.py:77 +#: contrib/comments/models.py:81 msgid "rating #8" msgstr "waardering #8" -#: contrib/comments/models.py:82 +#: contrib/comments/models.py:86 msgid "is valid rating" msgstr "is een geldige waardering" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:87 +#: contrib/comments/models.py:179 msgid "date/time submitted" msgstr "datum/tijd toegevoegd" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:88 +#: contrib/comments/models.py:180 msgid "is public" msgstr "is openbaar" -#: contrib/comments/models.py:86 +#: contrib/comments/models.py:90 msgid "is removed" msgstr "is verwijderd" -#: 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 "" -"Kruis deze box aan indien de opmerking niet gepast is. Een \"Dit commentaar " -"is verwijderd\" bericht wordt dan getoond" +#: contrib/comments/models.py:90 +msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." +msgstr "Kruis deze box aan indien de opmerking niet gepast is. Een \"Dit commentaar is verwijderd\" bericht wordt dan getoond" -#: contrib/comments/models.py:91 +#: contrib/comments/models.py:96 msgid "comments" msgstr "opmerkingen" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:140 +#: contrib/comments/models.py:222 msgid "Content object" msgstr "Inhoud object" -#: contrib/comments/models.py:159 +#: contrib/comments/models.py:168 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1737,48 +1275,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:168 +#: contrib/comments/models.py:178 msgid "person's name" msgstr "naam van persoon" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:181 msgid "ip address" msgstr "ip adres" -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:183 msgid "approved by staff" msgstr "goedgekeurd door de staf" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:187 msgid "free comment" msgstr "vrije opmerking" -#: contrib/comments/models.py:177 +#: contrib/comments/models.py:188 msgid "free comments" msgstr "vrije opmerkingen" -#: contrib/comments/models.py:233 +#: contrib/comments/models.py:250 msgid "score" msgstr "score" -#: contrib/comments/models.py:234 +#: contrib/comments/models.py:251 msgid "score date" msgstr "score datum" -#: contrib/comments/models.py:237 +#: contrib/comments/models.py:255 msgid "karma score" msgstr "karma score" -#: contrib/comments/models.py:238 +#: contrib/comments/models.py:256 msgid "karma scores" msgstr "karma scores" -#: contrib/comments/models.py:242 +#: contrib/comments/models.py:260 #, python-format msgid "%(score)d rating by %(user)s" msgstr "%(score)d waardering door %(user)s" -#: contrib/comments/models.py:258 +#: contrib/comments/models.py:277 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -1789,122 +1327,40 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:265 +#: contrib/comments/models.py:285 msgid "flag date" msgstr "markeerdatum" -#: contrib/comments/models.py:268 +#: contrib/comments/models.py:289 msgid "user flag" msgstr "gebruikersmarkering" -#: contrib/comments/models.py:269 +#: contrib/comments/models.py:290 msgid "user flags" msgstr "gebruikersmarkeringen" -#: contrib/comments/models.py:273 +#: contrib/comments/models.py:294 #, python-format msgid "Flag by %r" msgstr "Gemarkeerd door %r" -#: contrib/comments/models.py:278 +#: contrib/comments/models.py:300 msgid "deletion date" msgstr "datum verwijdering" -#: contrib/comments/models.py:280 +#: contrib/comments/models.py:303 msgid "moderator deletion" msgstr "verwijderd door moderator" -#: contrib/comments/models.py:281 +#: contrib/comments/models.py:304 msgid "moderator deletions" msgstr "verwijderd door moderator" -#: contrib/comments/models.py:285 +#: contrib/comments/models.py:308 #, python-format msgid "Moderator deletion by %r" msgstr "Verwijderd door moderator %r" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Anonieme gebruikers kunnen niet stemmen" - -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "Ongeldige opmerkingen ID" - -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Niet op uzelf stemmen" - -#: contrib/comments/views/comments.py:27 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "" -"Deze waardering is verplicht omdat u tenminste één andere waardering hebt " -"ingevoerd." - -#: 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] "" -"Deze opmerking is gepost door een gebruiker die minder dan %(count)s " -"opmerking heeft gepost:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Deze opmerking is gepost door een gebruiker die minder dan %(count)s " -"opmerkingen heeft gepost:\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 "" -"Deze opmerking is gepost door een \"fijne\" gebruiker:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:188 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Alleen POSTs zijn toegestaan" - -#: contrib/comments/views/comments.py:192 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "Een of meerdere verplichte velden zijn niet ingevuld" - -#: contrib/comments/views/comments.py:196 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Iemand heeft het opmerkingenformulier gewijzigd (beveilingsinbreuk)" - -#: 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 "" -"Het opmerkingenformulier heeft een ongeldig 'target' parameter -- het object " -"ID was ongeldig" - -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Het opmerkingenformulier heeft geen 'voorbeeld' of 'post'" - #: contrib/comments/templates/comments/form.html:8 msgid "Forgotten your password?" msgstr "Uw wachtwoord vergeten?" @@ -1941,84 +1397,2569 @@ msgstr "Concept opmerking" msgid "Your name:" msgstr "Uw gebruikersnaam:" -#: contrib/sessions/models.py:51 -msgid "session key" -msgstr "sessiesleutel" +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Deze waardering is verplicht omdat u tenminste één andere waardering hebt ingevoerd." -#: contrib/sessions/models.py:52 -msgid "session data" -msgstr "sessiegegevens" +#: 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] "" +"Deze opmerking is gepost door een gebruiker die minder dan %(count)s opmerking heeft gepost:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Deze opmerking is gepost door een gebruiker die minder dan %(count)s opmerkingen heeft gepost:\n" +"\n" +"%(text)s" -#: contrib/sessions/models.py:53 -msgid "expire date" -msgstr "verloopdatum" +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Deze opmerking is gepost door een \"fijne\" gebruiker:\n" +"\n" +"%(text)s" -#: contrib/sessions/models.py:57 -msgid "session" -msgstr "sessie" +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "Alleen POSTs zijn toegestaan" -#: contrib/sessions/models.py:58 -msgid "sessions" -msgstr "sessies" +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "Een of meerdere verplichte velden zijn niet ingevuld" -#: contrib/contenttypes/models.py:20 +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Iemand heeft het opmerkingenformulier gewijzigd (beveilingsinbreuk)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "Het opmerkingenformulier heeft een ongeldig 'target' parameter -- het object ID was ongeldig" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Het opmerkingenformulier heeft geen 'voorbeeld' of 'post'" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "Anonieme gebruikers kunnen niet stemmen" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "Ongeldige opmerkingen ID" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "Niet op uzelf stemmen" + +#: contrib/contenttypes/models.py:37 msgid "python model class name" msgstr "python model-class-naam" -#: contrib/contenttypes/models.py:23 +#: contrib/contenttypes/models.py:40 msgid "content type" msgstr "inhoudstype" -#: contrib/contenttypes/models.py:24 +#: contrib/contenttypes/models.py:41 msgid "content types" msgstr "inhoudstypen" -#: forms/__init__.py:387 +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Voorbeeld: '/about/contact/'. Zorg voor slashes aan het begin en eind." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "titel" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "inhoud" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "opmerkingen toestaan" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "sjabloonnaam" + +#: contrib/flatpages/models.py:13 +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Voorbeeld: 'flatpages/contact_page.html'. Als deze niet is opgegeven, dan wordt 'flatpages/default.html' gebruikt." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "registratie verplicht" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Indien dit is aangekruist kunnen alleen ingelogde gebruikers deze pagina bekijken." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "platte pagina" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "platte pagina's" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f miljoen" +msgstr[1] "%(value).1f miljoen" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f biljoen" +msgstr[1] "%(value).1f biljoen" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f triljoen" +msgstr[1] "%(value).1f triljoen" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "een" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "twee" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "drie" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "vier" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "vijf" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "zes" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "zeven" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "acht" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "negen" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "vandaag" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "morgen" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "gisteren" + +#: contrib/localflavor/ar/forms.py:27 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "" + +#: contrib/localflavor/ar/forms.py:49 +#: contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 +#: contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +msgid "This field requires only numbers." +msgstr "" + +#: contrib/localflavor/ar/forms.py:50 +msgid "This field requires 7 or 8 digits." +msgstr "" + +#: contrib/localflavor/ar/forms.py:79 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Invalid CUIT." +msgstr "" + +#: contrib/localflavor/au/forms.py:16 +msgid "Enter a 4 digit post code." +msgstr "" + +#: contrib/localflavor/br/forms.py:21 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "" + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" + +#: contrib/localflavor/br/forms.py:58 +msgid "Select a valid brazilian state. That state is not one of the available states." +msgstr "" + +#: contrib/localflavor/br/forms.py:94 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" + +#: contrib/localflavor/br/forms.py:134 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "" + +#: contrib/localflavor/ca/forms.py:17 +msgid "Enter a postal code in the format XXX XXX." +msgstr "" + +#: contrib/localflavor/ca/forms.py:88 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:16 +#: contrib/localflavor/no/forms.py:12 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/ch/forms.py:64 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:29 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: contrib/localflavor/de/forms.py:14 +#: contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:41 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:19 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:39 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:142 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:28 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/in_/forms.py:14 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:17 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:43 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:17 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 +msgid "Enter a valid postal code" +msgstr "Geef een geldige postcode" + +#: contrib/localflavor/nl/forms.py:52 +msgid "Enter a valid phone number" +msgstr "Geef een geldig telefoonnummer" + +#: contrib/localflavor/nl/forms.py:78 +msgid "Enter a valid SoFi number" +msgstr "Geef een geldig SoFi nummer" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:24 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:156 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:54 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "omgeleid via" + +#: contrib/redirects/models.py:8 +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Dit moet een absoluut pad zijn, zonder de domein naam. Bijvoorbeeld: '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "omleiden naar" + +#: contrib/redirects/models.py:10 +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Dit kan een absoluut pad (zoals hierboven) zijn of een volledige URL beginnend met 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "omleiding" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "omleidingen" + +#: contrib/sessions/models.py:41 +msgid "session key" +msgstr "sessiesleutel" + +#: contrib/sessions/models.py:42 +msgid "session data" +msgstr "sessiegegevens" + +#: contrib/sessions/models.py:43 +msgid "expire date" +msgstr "verloopdatum" + +#: contrib/sessions/models.py:48 +msgid "session" +msgstr "sessie" + +#: contrib/sessions/models.py:49 +msgid "sessions" +msgstr "sessies" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "domeinnaam" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "weergavenaam" + +#: contrib/sites/models.py:37 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "sites" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Deze waarde mag alleen letters, getallen en liggende strepen bevatten." + +#: core/validators.py:76 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Deze waarde mag alleen letters, cijfers, liggende strepen en schuine strepen bevatten." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Deze waarde mag alleen letters, cijfers, liggende strepen en verbindingsstrepen bevatten." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "Hoofdletters zijn hier niet toegestaan." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "Kleine letters zijn hier niet toegestaan." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "Geef alleen cijfers op, gescheiden door komma's." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Geef geldige e-mailadressen op, gescheiden door komma's." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "Geef een geldig IP adres op." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "Lege waarden zijn hier niet toegestaan." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "Niet-numerieke karakters zijn hier niet toegestaan." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "Deze waarde kan niet alleen uit cijfers bestaan." + +#: core/validators.py:128 +#: newforms/fields.py:151 +msgid "Enter a whole number." +msgstr "Geef een geheel getal op." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "Alleen alfabetische karakters zijn toegestaan" + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "Het jaartal moet 1900 of later zijn." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "Ongeldige datum: %s" + +#: core/validators.py:156 +#: db/models/fields/__init__.py:522 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Geef een geldige datum in JJJJ-MM-DD formaat." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "Geef een geldige tijd in UU:MM formaat." + +#: core/validators.py:165 +#: db/models/fields/__init__.py:599 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Geef geldige datum/tijd in JJJJ-MM-DD UU:MM formaat." + +#: core/validators.py:170 +#: newforms/fields.py:402 +msgid "Enter a valid e-mail address." +msgstr "Geef een geldig e-mailadres op." + +#: core/validators.py:182 +#: core/validators.py:474 +#: newforms/fields.py:432 +#: oldforms/__init__.py:687 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Er was geen bestand verstuurd. Controleer het coderings type van het formulier." + +#: core/validators.py:193 +#: newforms/fields.py:458 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Bestand ongeldig. Het bestand dat is gegeven is geen afbeelding of is beschadigd." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "De URL %s wijst niet naar een geldige afbeelding." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Telefoonnummers moeten volgens het XXX-XXX-XXXX formaat zijn. \"%s\" is ongeldig." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "De URL %s wijst niet naar een geldige QuickTime video." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "Een geldige URL is vereist." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Geldige HTML is vereist. De specifieke fouten zijn:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Foute XML: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "Ongeldige URL: %s" + +#: core/validators.py:259 +#: core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "De URL %s is niet een werkende link." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Geef een geldige afkorting van een staat in de VS." + +#: core/validators.py:281 +#, 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] "Pas op uw taalgebruik! Gebruik van %s niet toegestaan." +msgstr[1] "Pas op uw taalgebruik! Gebruik van de woorden %s is niet toegestaan." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Dit veld moet overeenkomen met het '%s' veld." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "Voer tenminste 1 veld in." + +#: core/validators.py:316 +#: core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "Voer waarden in beide velden in of laat beide leeg." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Dit veld moet opgegeven worden indien %(field)s %(value)s is" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Dit veld moet worden opgegeven indien %(field)s niet %(value)s is" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "Dubbele waarden zijn niet toegestaan." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "De waarde moet tussen %(lower)s en %(upper)s zijn." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "De waarde moet minimaal %s zijn." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "De waarde mag niet meer zijn dan %s." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "De waarde moet een macht van %s zijn." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "Geef een geldig decimaal getal." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Geef een geldig decimaal getal met hooguit %s cijfer." +msgstr[1] "Geef een geldig decimaal getal met hooguit %s cijfers." + +#: core/validators.py:447 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Geef een geldig decimaal getal waarbij het gehele getal minimaal %s cijfer heeft." +msgstr[1] "Geef een geldig decimaal getal waarbij het gehele getal minimaal %s cijfers heeft." + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Geef een decimaal getal met hooguit %s cijfer achter de komma." +msgstr[1] "Geef een decimaal getal met hooguit %s cijfers achter de komma." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "Geef een geldig decimaal getal." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Zorg ervoor dat het bestand minstens %s bytes groot is." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Zorg ervoor dat het bestand hoogstens %s bytes groot is." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "Het formaat van dit veld is foutief." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "Dit veld is ongeldig." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Kan niks ophalen van %s." + +#: core/validators.py:539 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "De geretourneerde URL %(url)s bevat een ongeldige Content-Type '%(contenttype)s." + +#: core/validators.py:572 +#, python-format +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Sluit de niet gesloten %(tag)s tag op regel %(line)s. (Regel start met \"%(start)s\".)" + +#: core/validators.py:576 +#, python-format +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "Tekst beginnend op regel %(line)s is in deze context niet toegestaan. (Regel start met \"%(start)s\".)" + +#: core/validators.py:581 +#, python-format +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "\"%(attr)s\" op regel %(line)s is een ongeldig attribuut. (Regel start met \"%(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "\"<%(tag)s>\" op regel %(line)s is een ongeldige tag. (Regel start met \"%(start)s\".)" + +#: core/validators.py:590 +#, python-format +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "Een of meerdere attributen ontbreken bij een tag op regel %(line)s. (Regel start met \"%(start)s\".)" + +#: core/validators.py:595 +#, python-format +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "De \"%(attr)s\" attribuut op regel %(line)s heeft een ongeldige waarde. (Regel start met \"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s van het type %(type)s bestaat al voor het gegeven %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s met deze %(fieldname)s bestaat al." + +#: db/models/fields/__init__.py:161 +#: db/models/fields/__init__.py:322 +#: db/models/fields/__init__.py:754 +#: db/models/fields/__init__.py:765 +#: newforms/fields.py:45 +#: oldforms/__init__.py:374 +msgid "This field is required." +msgstr "Dit veld is verplicht." + +#: db/models/fields/__init__.py:422 +msgid "This value must be an integer." +msgstr "De waarde moet een geheel getal zijn." + +#: db/models/fields/__init__.py:461 +msgid "This value must be either True or False." +msgstr "De waarde moet of True (Waar) of False (Onwaar) zijn." + +#: db/models/fields/__init__.py:485 +msgid "This field cannot be null." +msgstr "Dit veld mag niet leeg zijn." + +#: db/models/fields/__init__.py:663 +msgid "This value must be a decimal number." +msgstr "De waarde moet een getal zijn." + +#: db/models/fields/__init__.py:774 +msgid "Enter a valid filename." +msgstr "Geef een geldige bestandsnaam." + +#: db/models/fields/__init__.py:945 +msgid "This value must be either None, True or False." +msgstr "De waarde moet of None (leeg), True (Waar) of False (Onwaar) zijn." + +#: db/models/fields/related.py:93 +#, python-format +msgid "Please enter a valid %s." +msgstr "Geef een geldig %s veld." + +#: db/models/fields/related.py:694 +msgid "Separate multiple IDs with commas." +msgstr "Scheid meerdere ID's door komma's." + +#: db/models/fields/related.py:696 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Houd \"Control\", of \"Command\" op een Mac, ingedrukt om meerdere te selecteren." + +#: db/models/fields/related.py:743 +#, 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] "Geef een geldig %(self)s IDs. De waarde %(value)r is ongeldig." +msgstr[1] "Geef een geldig %(self)s IDs. De waarden %(value)r zijn ongeldig." + +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "Geef een geldige waarde." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "Zorg ervoor de waarde korter is dan %(max)d tekens (huidige lengte %(length)d)." + +#: newforms/fields.py:124 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "Zorg ervoor dat uw tekst langer is dan %(min)d tekens (huidige lengte %(length)d)." + +#: newforms/fields.py:152 +#: newforms/fields.py:181 +#: newforms/fields.py:210 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Zorg ervoor dat de waarde kleiner of gelijk is aan %s." + +#: newforms/fields.py:153 +#: newforms/fields.py:182 +#: newforms/fields.py:211 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Zorg ervoor de waarde groter of gelijk is aan %s." + +#: newforms/fields.py:180 +#: newforms/fields.py:209 +msgid "Enter a number." +msgstr "Geef een getal op." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Zorg dat er minder dan %s cijfers zijn." + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Zorg dat er minder dan %s cijfers na de komma zijn." + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Zorg dat er minder dan %s cijfers voor de komma zijn." + +#: newforms/fields.py:262 +#: newforms/fields.py:723 +msgid "Enter a valid date." +msgstr "Geef een geldige datum op." + +#: newforms/fields.py:295 +#: newforms/fields.py:724 +msgid "Enter a valid time." +msgstr "Geef een geldige datum op." + +#: newforms/fields.py:334 +msgid "Enter a valid date/time." +msgstr "Geef een geldige datum/tijd op." + +#: newforms/fields.py:433 +msgid "No file was submitted." +msgstr "Geen file werd aangeboden." + +#: newforms/fields.py:434 +#: oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "Het gegeven bestand is leeg." + +#: newforms/fields.py:496 +msgid "Enter a valid URL." +msgstr "Geef een geldige URL op." + +#: newforms/fields.py:497 +msgid "This URL appears to be a broken link." +msgstr "Deze URL schijnt niet te werken." + +#: newforms/fields.py:559 +#: newforms/models.py:300 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Selecteer een geldige keuze. Deze keuze is niet beschikbaar." + +#: newforms/fields.py:598 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Selecteer een geldige keuze. %(value)s is geen beschikbare keuze." + +#: newforms/fields.py:599 +#: newforms/fields.py:661 +#: newforms/models.py:360 +msgid "Enter a list of values." +msgstr "Geef een lijst op met waardes." + +#: newforms/fields.py:752 +msgid "Enter a valid IPv4 address." +msgstr "Geef een geldig IPv4 adres op." + +#: newforms/models.py:361 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Selecteer een geldige keuze. %s is geen beschikbare keuze." + +#: oldforms/__init__.py:409 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." msgstr[0] "Zorg ervoor dat uw tekst korter is dan %s karakter." msgstr[1] "Zorg ervoor dat uw tekst korter is dan %s karakters." -#: forms/__init__.py:392 +#: oldforms/__init__.py:414 msgid "Line breaks are not allowed here." msgstr "Regeleindes zijn niet toegestaan." -#: forms/__init__.py:493 forms/__init__.py:566 forms/__init__.py:605 +#: oldforms/__init__.py:512 +#: oldforms/__init__.py:586 +#: oldforms/__init__.py:625 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Selecteer een geldige keuze; '%(data)s is niet in %(choices)s." -#: forms/__init__.py:669 -msgid "The submitted file is empty." -msgstr "Het gegeven bestand is leeg." - -#: forms/__init__.py:725 +#: oldforms/__init__.py:745 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Geef een geheel getal op tussen -32.768 en 32.767." -#: forms/__init__.py:735 +#: oldforms/__init__.py:755 msgid "Enter a positive number." msgstr "Geef een geheel getal op." -#: forms/__init__.py:745 +#: oldforms/__init__.py:765 msgid "Enter a whole number between 0 and 32,767." msgstr "Geef een geheel getal op tussen 0 en 32.767." -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "De %(verbose_name)s is succesvol aangemaakt." +#: template/defaultfilters.py:695 +msgid "yes,no,maybe" +msgstr "ja,nee,misschien" -#: views/generic/create_update.py:117 +#: template/defaultfilters.py:726 #, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "De %(verbose_name)s is succesvol aangepast." +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" -#: views/generic/create_update.py:184 +#: template/defaultfilters.py:728 #, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "De %(verbose_name)s is verwijderd." +msgid "%.1f KB" +msgstr "" + +#: template/defaultfilters.py:730 +#, python-format +msgid "%.1f MB" +msgstr "" + +#: template/defaultfilters.py:731 +#, python-format +msgid "%.1f GB" +msgstr "" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "middernacht" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "middag" #: utils/dates.py:6 msgid "Monday" @@ -2048,226 +3989,254 @@ msgstr "zaterdag" msgid "Sunday" msgstr "zondag" -#: utils/dates.py:14 +#: utils/dates.py:10 +msgid "Mon" +msgstr "ma" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "di" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "woe" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "don" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "vrij" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "zat" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "zon" + +#: utils/dates.py:18 msgid "January" msgstr "januari" -#: utils/dates.py:14 +#: utils/dates.py:18 msgid "February" msgstr "februari" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "March" msgstr "maart" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "April" msgstr "april" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "May" msgstr "mei" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "June" msgstr "juni" -#: utils/dates.py:15 utils/dates.py:27 +#: utils/dates.py:19 +#: utils/dates.py:31 msgid "July" msgstr "juli" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "August" msgstr "augustus" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "September" msgstr "september" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "October" msgstr "oktober" -#: utils/dates.py:15 +#: utils/dates.py:19 msgid "November" msgstr "november" -#: utils/dates.py:16 +#: utils/dates.py:20 msgid "December" msgstr "december" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "jan" msgstr "jan" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "feb" msgstr "feb" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "mar" msgstr "mar" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "apr" msgstr "apr" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "may" msgstr "mei" -#: utils/dates.py:19 +#: utils/dates.py:23 msgid "jun" msgstr "jun" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "jul" msgstr "jul" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "aug" msgstr "aug" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "sep" msgstr "sep" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "oct" msgstr "okt" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "nov" msgstr "nov" -#: utils/dates.py:20 +#: utils/dates.py:24 msgid "dec" msgstr "dec" -#: utils/dates.py:27 +#: utils/dates.py:31 msgid "Jan." msgstr "jan." -#: utils/dates.py:27 +#: utils/dates.py:31 msgid "Feb." msgstr "feb." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Aug." msgstr "aug." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Sept." msgstr "sept." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Oct." msgstr "okt." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Nov." msgstr "nov." -#: utils/dates.py:28 +#: utils/dates.py:32 msgid "Dec." msgstr "dec." -#: utils/timesince.py:12 +#: utils/text.py:127 +msgid "or" +msgstr "of" + +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "jaar" msgstr[1] "jaren" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "maand" msgstr[1] "maanden" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "week" msgstr[1] "weken" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "dag" msgstr[1] "dagen" -#: utils/timesince.py:16 # In the timesince context it is stilistically wrong to use the plural for hour in Dutch. +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "uur" msgstr[1] "uur" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "minuut" msgstr[1] "minuten" -#: utils/translation/trans_real.py:362 +# In the timesince context it is stilistically wrong to use the plural for hour in Dutch. +#: utils/timesince.py:46 +msgid "minutes" +msgstr "minuut" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:404 msgid "DATE_FORMAT" msgstr "j-n-Y" -#: utils/translation/trans_real.py:363 +#: utils/translation/trans_real.py:405 msgid "DATETIME_FORMAT" msgstr "j-n-Y H:i" -#: utils/translation/trans_real.py:364 +#: utils/translation/trans_real.py:406 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:380 +#: utils/translation/trans_real.py:422 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:381 +#: utils/translation/trans_real.py:423 msgid "MONTH_DAY_FORMAT" msgstr "j F" -#: template/defaultfilters.py:401 -msgid "yes,no,maybe" -msgstr "ja,nee,misschien" - -#: newforms/fields.py:82 +#: views/generic/create_update.py:43 #, python-format -msgid "Ensure this value has at most %d characters." -msgstr "Zorg ervoor de waarde korter is dan %d tekens." +msgid "The %(verbose_name)s was created successfully." +msgstr "De %(verbose_name)s is succesvol aangemaakt." -#: newforms/fields.py:84 +#: views/generic/create_update.py:117 #, python-format -msgid "Ensure this value has at least %d characters." -msgstr "Zorg ervoor dat uw tekst langer is dan %d tekens." +msgid "The %(verbose_name)s was updated successfully." +msgstr "De %(verbose_name)s is succesvol aangepast." -#: newforms/fields.py:135 -msgid "Enter a valid date." -msgstr "Geef een geldige datum op." - -#: newforms/fields.py:171 -msgid "Enter a valid date/time." -msgstr "Geef een geldige datum/tijd op." - -#: newforms/fields.py:184 -msgid "Enter a valid value." -msgstr "Geef een geldige waarde." - -#: newforms/fields.py:225 newforms/fields.py:245 -msgid "Enter a valid URL." -msgstr "Geef een geldige URL op." - -#: newforms/fields.py:247 -msgid "This URL appears to be a broken link." -msgstr "Deze URL schijnt niet te werken." - -#: newforms/fields.py:276 newforms/fields.py:301 +#: views/generic/create_update.py:184 #, python-format -msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Selecteer een geldige keuze. %s is niet onderdeel van de beschikbare keuzes ." +msgid "The %(verbose_name)s was deleted." +msgstr "De %(verbose_name)s is verwijderd." + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Gebruik '[algo]$[salt]$[hexdigest]'" -#: newforms/fields.py:292 -msgid "Enter a list of values." -msgstr "Geef een lijst op met waardes." diff --git a/django/conf/locale/nl/LC_MESSAGES/djangojs.mo b/django/conf/locale/nl/LC_MESSAGES/djangojs.mo index 6b3dfaf035f77891483da6472b9d183e5635831a..96e43fac68be279b4d8b67af7f4c3702e8847eab 100644 GIT binary patch delta 766 zcmZ9}ziSjh6u|Mx-JT|w7%%Z>5o8O~81|gq9C$2;S_Fw0P>zja6*gvEFWl{hy;Bha z*QE-GETV;=SXo&KX|(n~uu&AT&=i7=h@IbuV+x0x`OMDDy*F?7%lNB_;m2v`p`sn9 z&(J^6XX#Hy7-+hr)IRjFj7^-t7LMXYyWhqGJYUBuCOC$s&OSQcHFLYd&A zgpz32`U|C!3egW^4OvpND1lDlHEiHGZlhfIF>+`1)UH2AiTe^y;A`Zk-ZO;cSD%^e z#~J=D0ZuYVC37fWK@Q6+mnIjHOUdVwpmJW$N|UON(k0ga?TB5d;UPPhV*FzaydgDh z7v<&$=~MPuDwXQ?TJe2k#aZmEnc`CES@~9Wx7aNu)rIvqO)}T7>tdx`A2vN5c)=Oh z*Wr9)PWxI{uUz)p=1!;I$x?429+=P#wB9@Che7c7+)~^hcu^jw{cb$S^3YvhGlSUN zGj8kO?EKB#Y;1H*{YKV1TU{da?Km-BWa3`vrd_vH)SPqW<>*4ub{>sgHTkN^6O$I- OoEMcSOPSrTM1KJL8)BjW delta 696 zcmY+>O=uHA6u|LmKB`T>G=4xqWx#_-*^pKn?GmI*nrgA>hBR9AwwP@!q={}eJr#2E ztPH_h3nH}O#Y6Gp)r%;2@a91fy|kzH=D~yix2*?}WrY!@Q4S3a{V*P9B@bB=2*04;PU0UG<7d zf`vCI3ErY4+(ila9yNZ%o4Ah>=rSKm0ar0fgwqt2N7-K|sH|_`2tGskzIVL7iNoYq zJJCd`cPN#Az_a)TdDJh4W!%F-bcikmmXKOh6=i)HrQk<+37?{k&+!C)LOJ&prI2sf zNB$_uIsDh;SFrbA8|Cd3oy$eHN~0u`KoVREk>4T-!VHkCn}f*p``!`=e#2aM!tA)c1>(rFnPJypCtOIV(G5P2}{%4g1>kcy=g#30I6syfoL7+vZ1d=`Y%y BUfuuz diff --git a/django/conf/locale/nl/LC_MESSAGES/djangojs.po b/django/conf/locale/nl/LC_MESSAGES/djangojs.po index 0a4ccd5145..1279fe5623 100644 --- a/django/conf/locale/nl/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/nl/LC_MESSAGES/djangojs.po @@ -5,33 +5,16 @@ # msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 17:39+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Rudolph Froger \n" +"POT-Creation-Date: 2008-02-27 10:34+0100\n" +"PO-Revision-Date: 2008-02-27 11:22+0100\n" +"Last-Translator: jdetaeye \n" "Language-Team: nl \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" -#: 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 "" -"januari februari maart april mei juni juli augustus september oktober " -"november december" - -#: contrib/admin/media/js/calendar.js:25 -msgid "S M T W T F S" -msgstr "Z M D W D V Z" - -#: contrib/admin/media/js/dateparse.js:33 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "zondag maandag dinsdag woensdag donderdag vrijdag zaterdag" - #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format msgid "Available %s" @@ -62,49 +45,72 @@ msgstr "Selecteer uw keuze(s) en klik " msgid "Clear all" msgstr "Allemaal verwijderen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: 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 "januari februari maart april mei juni juli augustus september oktober november december" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "Z M D W D V Z" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "zondag maandag dinsdag woensdag donderdag vrijdag zaterdag" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Tonen" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Verbergen" + +#: 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 "Klok" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" msgstr "Kies een tijd" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Middernacht" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "6 uur" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "12 uur" -#: 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 "Annuleren" -#: 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 "Vandaag" -#: 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 "Gisteren" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Morgen" + diff --git a/django/conf/locale/pl/LC_MESSAGES/django.mo b/django/conf/locale/pl/LC_MESSAGES/django.mo index e0f61d1a62c4b810fe7337048ed4f94d1f1c45a9..59f5b0d9774da21502eecd4c4b27ee2f64d15339 100644 GIT binary patch literal 66225 zcmcG%2Vfk<-T%FGu)%aNeKFXwz>*urAdEro!j^3;xl+vPZY7;`x)WC{p8`qfkkAtd z1V{)iB(xCIG2MpHLJuv30HKqF66!;FKi`?zyOS&%=Xw6`!Rj-;?bP4Qj{mmR`saE4 z9$U}zc8167>Umpk;CX)?CsWV!5B0pCuj6^U!)?*uGRN~8;bU+X+`Yl`c7jL4jo}$^ zYj{4K41W(t!w;dt-xJSbEv$e?I-U$G(O(ZYf-gA!-SHhb4D%16(y_~28_sAb{cNcC zn_&}7LxuM=90%wj4dESO_pyO_ktb0S?rf@H3J{Bsx@o*D36%K%hLW;*b%CQ+L zy-6tdIjHcCh4Octv;V2n{|u_UE`f4?J5+k^hg-mh;dbyPxGnq$D!z^8TX&l|ZUbe$ z6Fe5~4mX3phFinypvwI|sCYhw>%(uM;#+Tl_1_OF{ae7T;6S(y+#7BV4~7bFHdOlJ z&OYz#e*%@>Upo66q4Iq{RJ@PDe(*WiAO0Px96x}H_kW^cqc=J-{{Pbgeu1tsQ8ych4T|Acjr3$i=pDV4l3Sd z&i)Rl_q4+Cd8l;02lbx5f(mcIVYWQBgE{nrpwjgVDEmvH!oM0S-s_>t?>1+?0?Pd( zQ1L$l2f~+}`6p26{~9Wv0}i+0?gG`m2SdG|2~h8$#W4>R&k0cFa28a4E_L?HpyIs` zD&9w+()$!tJ$ex;-T#0l-%#Ow1(p8|kFfrBgi6=$Q1Og_vaf~8?_8*G7DKg*5Gvj_ zD1TX~_>YGQ|1@|#JP#@zla8cKz*%sAcqwdwFF}PnVX@^jsQ70>wdci9<(7vkms8-5 z@I1H^`~y^ck3q%%g5#@D{@;Si_t$WDxam>0e5#?`?+X?GfsPZQ@>2)pZvj;Jtx)YG z2Nlk7a2I$vl>htSAovhe`M>A*F&u;bD>wy?2#6DQLFuoDli{auBs`$W^QvJ7q^Wxs zL*@5VxINq=Mjr!*LZvSORnH1=G&~np!Uy4A@IyEX?i9E2&V)12p9BwpPea8&Ahhu` zLZvSatKd~|4ty4>yepb18#oaThiAYY;9YPqeBSXJSb=^IUb6Br9Ucs?fJ5M$Q1y7z zR_lK^I28TA2RJ-wYMra;W?~2o>*R&iq-Y z|C{4mj{kxR=QF4O4l2Hl($@c0Q1R~QxI0unhdO+sBj;Fa`z0BzgHaJfQs*3$B&@geF+ub zdY!g^>IbDC2<3h^sBkNw+>dbPHO_p3<8(L)`$nj8xDYCwUpZb072dT_;oJn3zPq8) zzrxu+;q0G>Q!#%H%3bBrHhsh4=I9TE$HIE3a36)LZ_hxrlXu`|@M|dd{W7+F?dZ6V z<4jnIeJk7wo(s2tS3>3c7O3#=fl9|iQ2Be@nLq9HFFF0IQ2yR_<{!dZ^q;~8I5unj z|J3npsB$_Fs$4FH@_!Xnyf;9_cdIjB4wa6Tj*mjQdkQL?7oqa|cc^eagbMddsB&J9 z$$|6(pvq?;l>Z@6?yKRJaICYhgNkoH+zK86<*pMdyn^G2P~n^fRgZrGmF}yc;<*MY zeYZQ_3+4VH$0y*X=%0tX!+$`fW5c}lHxMek-JE_;DEE6qg|i=2dJcwU)tm0j?}2jn z5L7yzg%$91sPy!sGZD9h3TL3B4;9}~sQOR^75;cA_jPbzI2(?Er$G6?3(9^aRJlFo z^iMnc7oqy8*PzCOH=)wEUYGU11yno(9ru8;uZBwh0Z{(ypyH{AdLNBY_4o)_1y6zM zFK>o&|7R%oPeY~iMW}dQbLJm7{U=WUt>XquZTOo))thahc@JK{LVs%QU(+rf1UcAVb;kCpf9rTN zR5~7ja{nk)K3|7w7ypEMpWi_F8_;d_J41z61(oh`Q0}Kd<#!(31|9|#UMEz!{{SkS z6QRoYTxWhEl)uZM((_xVzrpEma$FAOe+3)@pN7@&OE?-1{ejKL;ZWvTsB*guD*mgX z;=R%7Z-dImeNgV6go^(!Q0e{~)VT33RC#|2<^Bt(@HRTe+HV1+-x;dB21Av{zHmo4 z1?~z1DE~i(Dxb694)6-7a=aTVzCSrW3zeR~L*@G&r~eG99()U{V1GLI@o;~rbS#An z;c@U__%fUicmAQR=Q-%3Kg02QsPcRQPKTet^WlUav1WuX!sFplKeqFvH=yd(#>d(D z<~~s6-2zX5=fhLrj(Cc}%b?P=A(krt%^kOc%J(i%+HTq4GHqPKL9g`nmI= z-q+Po;av|^J~u;^`vXwnJ_85BSD@T|=J*X%xa*&2xg}IN?+W#PhCsc?F;M=eK&5{% z3}7o%Iv#-v_peaz^9`u@zkqVT@kut^Egg4&%IEG-_QRa{7`Q(A1D$??(;otrk6BRd zd?8djO~Uoy2~gpj0_Fc~sC1kMRj+;zRi9QsrSnOsa(W&r|8GKt`?0g%;A9)#rcmXv zEi~^3ZjHVI&V&cR$?zv|JbV&Pg`4xz_k;7{2JmdSAv_-rf|oe+d!fR85N-sYgge0( zpwjgpsC2D!sV51C6>gO?9}PD~e}Lm8sP|V7mCnPV%KI9qcy56T_im?u3MyYO zI{iPP()%e?`o4yWZ^P4Exj>n33uACMI1ZiwH-`7Z8{orG;S_#i{r?!MUYzWBK2&is<8_yW}XdkgLYKZc5Di=SHa9iYM)3{@YhpyD0rxSz8>$Z;xE`OJd- z;gQa~4faEyfy(c(a1(ffvp)kW-18hShN^FuL%sj2q58SE;o)%I(`hSkF|3C7!0GT` za0IM5!?GQ!K3@#wZW-JizV7tvpK0?w8ji&LP^fTDfEq`ifP2FY&a!fqk+25+OgIak z2KRt3!kytaQ0{j;+pg=Tz?0D@o&FQ3cC*7dcAYgE4o80)+y~wc{|NsDmEYf-Ytz3R zZjb&MI10WG_l3Lu%*Hbp?uz~gQ0?HCQ1A0DI0U{7$HH}gZu4IQ^*#=V3t$VZgZD!9 z1u*|qCXd^+-`-6=S8?1`~r@K1L@4G;S4ww{s5|6u7G-fe}YrsM!&G_W+v48 zzXYmY{T8a8UE|D`LDj>%pz6hgQ1#()sQUA?vws1~-)qkNU8r#X?et$l`Tx$DZ+L-q zzXg=}K)5yB4Jy9T&VC#mfPNB`y9T%!Tm+TgR;YNBa4VQ|`ct67ISb1D1yJwfDky&s zL#6L=DF4qxjiax^3b_A;)?EM>pbw$)eK%CN4?y{U462^}1uC3%e`(X%56az^Q2E*s zs(w{Nz3(HT!b`yZFa_nl8*U0ufLp?|o%v-@<$VoQdE5x)?q1jeABSV%n2V78!w#r? zJ`0u37ofs_9V(pnp~CqHs(ieQt$qMhdUkR8N~n1DgK{?+D!c|~e*~;WpM?9u>)}xN zCRBU_F0uL89!g&c<$sjpIJgt~DNyNcf{LdZs$6q$7kDY$8Qu*i!k6I@aJOICdGN7N z<$60D0#`t#>wUN*topT0*EA@1M?M?;gj; zq0;>_R5`s01%Kr^e;ok=3ZaI{{N1)t44;9}VQ1#_wsB-uM%6{YD zSpVBVrDGsex%yD~-5aWWM>y6v`$=#J=Ch#OErE*n2Tbp^7Xdk`;PyHO7|yF@qGss-lmt?aJGlC-`(k}pu!pJcmPyB4}wb1 zRH*Wq?aUWLrMCsDA4)-$_i<41od=cQ%iy~3w@&|i#~YyHy9vtuZBY4J>G%Xx`d)-` z_om~!a9#BOgbM#dsPugbmA`MH{B3f%E#Gb7_UQM33jYAd$&Rxe7dplqI~=rl&fYTog<$nrPdJci|Uk|r{i{SdO9V&gDQ0{&RE8uZZ;r`C?2FIJB;=L0p{1tG0 z_$R1*Jr0%r=b_?x9m@SDP~m;;xbBtK-NuevL#1z5sBrd%E7l=j@J{&ERkpvo-4U$??h@KLxI{1)y8D}Qg-i*@iI^j&Zqyw&kPQ1yA_HJ1B3 z){4$BEb4e!Ly7kNy;>@K1*uz@Iz*5~|%?3Kh-` zQ0?V5xCwmJ**^#6?;nouLAn3X@k_^bue0Ixhl+1UsBi|sz2PvpDO>>6K0~-COv3Hp zIZ*k$8p_|@P~rRuD!wP7((xkffUiRJGxgWo_2Lmw`CkI%?^jUnuYwBiTBpCo*)NCN zV7>zG0$+rxKc7R5ZyVoW!x;?at_o^Am;jaDMyT>?hYJ6PQ0Y7s4uI!4UJ8}(8=%s) z-04?9`FjegJYI%M@9R+R-f{LH!hO(x1yz5B|G}m+4L3voW5+Y0;=LGd4zF?gJDvR_ zQ0aXE_J{97#rHW>{NF(NTmMGePPTzE-wn#$5U6wwbLRUv9srf^32;j|9V%Z(IJQ8g z^Ju8}e*_i(xz7Gqa0~QTL&bADRJ`{%`v;-?JqZ=g8;&2rEzy4mm98!SXv=vAm`6VZ zDqR;t*=fLgJE`zo3QK)*f*_}2$J41zg5F89U z;ShK}tcG{N(eMLU1O4STJ%_LFIQ1nMajXS46mG8B1FZhh(w@~p_uCVpuNT_-gheyH;Ou?t1>fOOBZF`#GcqmkU z=RvirCC>a*sP=gV+yGt*RgbTN3h#QTeqfgeZM_=;mERFi?hb)!4|CvL*a`>0yP?|m z<8WR0Je2#F9AAeUqJIx6-jAI5=TQE>gNk>PhpfM?9Cw6j_k*0i%5jY2fpA0YCqsoZ z1FjF}IrGCDo1ofn!s!c8@%i9KOcv`Z}n5&V!2Y2q^cV)2E@_b-`iqM5uJ!2<2}Dl>0}a z+&u@C&)1#)6R7g>{%qyI{h{J%he}V@@pw2G{W(zK-3pbT`=IHsPw-A*MqM^ zmET)X>G>FrglLVSc^eLeAHY4}woln`_jjy?a$g6PzXqp2%GtL;)vFBL0xpG0=V?&m*BMaZ zUJVa|k3qHHO`o>*!=TbJ6>6R}1FGEzQ2EP4jkCu>mBU4Fb9e_-e2>80;mc6|zJUYa zme1Jy`cUpGq2k#eDxUFB<<XJs%Go~#RS%zsO4l1u zO|-tvl_f1CqV zzu$(+&qt15IP>qI(!I&wto=4n`QHhu{3_rfa6h;;JOS!`{Q~MeTmn_DS2_JHQ1RUZ zRbCH6#ru@w3(o#ksB(Q5D!k92%Jpj~_x)eB?`bQjc!t5l;25|KJO|3%Rd6eK9aK8* zg^K@4sQ6!k^8Y$iKHqoz%-OH=cU#{#fpR~<>9>OlXD6s|2gB{)7^wN%45;{LInIMB zpCh39g`=U$?{sL&37T?(isu%%CA=FdoF}2opLcu}D!p&R?cv984(#`u-G@2?PDOt$ zoDTm3C%}VWx8->PRJf->^-pI*wd}Nswn-5hVj)EJ&qn&*hR5|?!%H2<( z!ugrAzXWcG{z}Jdq5Lm{d%)YF4_|@v;kPgb=e=#yeFvO{{_k)k9Py4F51XLs^H1S$ zcp2OiKJE0M!%FlO@7jL;P&fnqN$?=KgJa-U@7ex-8mvX%1{c6X$e8z{+8FgVpHk;W&5%2KK2$yqgi~Q7R6DsC zs(k(pcY|C1+vaaH+!g%-xHs&A2gA!@1^frx6mI$U4w-{~XU?@oq_ zCj%AU`HuI)vFQH=XTu>M+xFQ709()jP3?FfP#__Lk zL(JcV>%$MA>cvOS{&T2sy#H8k3^zf$1(drTq5S)>AFP0KKgyZcz^&2OLd8GV@kqEO z`W7hv1*mrOW2km;rZYbWZiW5=sBo`=if0*=`@7-J@G+=-zU%D&2^HTLunDg7seLbT zD0inr)$_AqfA|hmJpX}8??#{5dbtx+yoW-ib0Ji?M>!^-%0B~@t{b4r@eZhP?}2jv zC{%u*b$rX2e*smF>wIqewT+4F2WPe7H= zQmA~L43(Y>o&A;2M}HGkexHMSukSkhPoUcIx?kG%R{_<&>Y?0qLZzb{D&8MD^HUtp zfvTSuLAiSfs(c=Wd%?fJ!El|gT>k)T&>spH!PA}oZK(1X^gp)U4~LV`&x2}@7eU$I z3H6@-1eLxgq2AX^PXC(Y`%vlq6mAZ`h4MGxYpdT5s@#S^rF$Q^4creZym~12jZp9T zaHw((pz_z@?3Y5N>&KAp#ybNl+_RwkUE+8d)cg4@l>0lN(*F=tcuzrv|5vE=z5};_ zUqHRLO}?@9Y8R;YJ{&6DJq-|%m3{QE+=n*tTie8(f8!imA{U<&HJoCKAxGoi}iGPo_g z7Ajx&J3a^%-Xl=qKM57@Yf%2*fePAxN-zT2GsE@%IclG+>A47%rIaGMx zK)tth_)qB>0F~Zt9d~!Ef=bW+Q2ChWxY)7P@o2|x#}gb+cRUX&-d{oG<1(oDuY>Bp z?trRik3psTWmo|}gnADH*ICEZqe`g!On}PIRH*Rkq0+y=na82>)#iA#<5H-0_9Lip zPJt@V)1m6i`Of@0sPz01YTURF4uLD2{rgbie+U)c=TPbS4l17;u-H+0Hi2p<+d2+~ zY7YlE`$nj8I0`Df4!8r%IrB52+V@3J@%#>|-Ji$v2cF*$*;ou}QJ;zW0n{Zj+hAK1sHh{Nbue_^0Z-~E%vf%f3>=vNE2QJ5r3gAZc_n};d`cBNw<@pI_ zyP_YDn&Hj+G5Qfa+wokA`6A5UK>Y=ees5xS1AGJ?%<}@~ZMc~OFN6AR0-wQdOQ-)2 zb~o`nh1pZ^KA!t|DzUGJBQQUM=Mv{$VO+s;uc@BnVYfc+ABDd{KLxx0pg$OX0I%lJ z??)EiKhdjB{>kZ2gzMw?O!xz5_84x45Y~9O4tAq?D$swz^Bhm_->aB4;N~Y-?AXil z2iX0KXFktw3GZ#5CAirL{Z^>;YsK##=y&Gn;5iTTKVbG5cDouE%)KyQpXWQCnb^OC z`H`^7g>f|QXJB_2)NgCl>pHuGP(OoNrLjRyfw^<$OqieJM!y4j7COt3@Cn@R#d9m> zqu`a!E{=P(P5snoG^4*3{)4B0dQaSK2LFYA7#xn@4KN$Pb17y=@bp7Hl_&ajqSm;k z-wNDc1TTjnoQd80vf#HhX8H|tlzJPd9wZIF&&%vCz;74NR-|JR&xX$K7pSA(>zHlK zvoG%SI}7!6r`8D$bbAM*@Ae|bXVi0D81k|W>T7Vj16;z>kLPCG>32RH;^My?{XwX|!aike?VqE- z$+`os}2ffUXLjMEo_U6g++{kkYX8RM)ayY{UvN!4*c>dzT*VuOwPb2yt zVXog_QLl&pD|ia1b38GgpQEpX`n`_ZM|e`0>GzWJJH~NKN7>!v{9KLtDxSIcIoSET zt<0U=&cOUo=U(~;oI9xxMg698zaQKVv*DP%gZetS9{!eNb{^`}FuMiyV?57e-h$b0 zdCuWE7dxg2-oIQt>tc2<>P5JHkw?GZVL!>){|5bR)EPJdcJRzceJuVa!!vlI--Xy+ zhUTaE?}xe?^-*vN`rUbsM1L>-u7Me--zfMw9Bp)zHSV6}(XT&t%Xof^{!_v^4fU0n z7odL2c#d^$-@v}xm@-eqKEV89^z$)KqJPZ!k&}C|I|QET{9c5cR-W?TRP1UnTj0!p z2p=kQ)8_o{1P{Y}9=snmm&KDre<9{^%yvZmCucXv`Bi)aG1u>H%r58owbNTu<~8_v z1I>w;e}jF-**}5VBRsP(yA?MLs1I^>XQ4h0^;Jv{F_yMfN^Z0F`-oQ z7qe4k>3&Nvf6b{+M13sb-bxs^yYQcP;cWsx!|WQK-{O7=91P=dd!BExzaRhCqaMqn z-yh&DF5Z`2I5KZ`_E*BwG0*Vio&6PX1D=hX8@WFa{d^ZrE#_JqoR0o>S(g2_#cqPr z?_TD=-I-k~F#ECh#llyHS__ zK6d(1@Cw}g(&-;XJr#!w(bp2zB-9C>CKs;4_!7JGVI$8<+(*B|P&|&E)=sl{{-?}t z9n?o-_apcUPX*6w=r6=wE6-J^_rt9G_oUNQW4;aX`#jll2dI-gf91IgyM3MiyV37} z{si>Hpni+t(ddssy(w`W=*)fezry?g^v9u&ehX2gF`tOrY0m9+s25|t8$5^S1fFp` z`h5xy!ToW#^`U+Tz<)b?Yf}1qIOaFuc6)d+?(T9{1JU1xdOBu1@wD;0g8ppG`}646 z1dnoQl74@loYT)ny%o>vJTLRSi~o8a{RZ$HhTq>A9bvdbsU?ce-#6L7zi?IA;0{cK#ng{ZH&ZL?1Z2?~Du9TF%YQ=&!;qh5iKRMov!S z`3HWF!0aXG_GhSn;MDWvh~F!?S%LWxP`?IezZd#VQGX7nVLlu_4l8hb5$Y!F&O+UV z`YfI^Q16M^T%Ol>p2O`On2+Y!6}$fE^*aK)-OwM6`WDpxgZ=ZU=kjcU`A;#^?{5~x zznkOkcg}7*_*BuxDvrZmzs<4R)~TicMt|Jz&)EIOg|UO<3hXZ7`LlC#0bGvV-{BO} zvjbdAcyj)4=VvF(1JsM;4!iw%W@5iF&t5$GJ&0X19L7`NX~4~AJg4IKPuPvY>|0p= zyA=EA_aodT(eHzsJy7eHKtI{}`KZk87npToe-qCOsHosGCUuB-r3)S`epq6+Ud`6JRP&sc>accH-4T&y%Bal zLqDG9B%UKNAA;G{s2}FJhG!@A^Kg4A>QA74=fJI9{EwpVMt>R4p}6^}Gw(uwJdb`; zVGZUlVz1vyo^5yrV7@0Dhu!hmo#fmfi&^wL--Y)R?A~+s`(q|q(l2;MWA*^g9G;6Y zpGi0^nAgG(vr|wn#r$%f(@|H$y)oY#wSMQ}?n<5&JjY=Ed+hc5w}tmJ%QPX?Y*{$F;a9)OxO*RUCv4>T0<*hu zH`ciwgWdg@?TX#)&TMDr_b$w~$83QD;`g01w>s(!`Vjly@eJkp2#c@rqu=2?zjo>u zP=Dn7ekn_Szs9|Ozl0;;ld|tOuG5btgKYM|L9Jo3bI|z4w4X?2b3rocH>K0<9YLl& z8RoLX{CFm4@pG-ApG>6M{ao5Fr1P1gn{2;aI-P6^GQ<3I#?K^LT60ygWFm&k$V-rl z`$0VJCvvO$uJ&i9yA+}y3sU{EVKR*23ZG?Z@S8K~4nIg0{LY{yB$dWNHjxXfeZ1#F z^g+(graMAE-7L#&*ssig*3X1T=M$OG#6t#}LVrmj>`J6;z7&#+!;hsqI`g?Okmq#FiZu>LHCHODWx~-%RPMcC;jxgehD#C&FaBGFwf^>CT*urAIKvfiv$J zmi%O6=}bsscx|c-O)C9-mh>s9*+jSOnhLqFr%slXcRsAF9@*?SC6dWRI`zF~9eud# z%ZxX;YJep}MLBhXH&~qRSP!#)JRN5JR66Geoty;mD#T7tY+ z8_VgP)yCs`R2;T~8co)iDR?PDtf^qNE%_iDqm_m91h`1VxWcZsJ&_~x$$-u)2b+Re zNNuT2CiVDnx(}QtJHku?XQ?=qCTmpbRG}lC&zd}B)%EGUEukyJRl)f4YSWYzQFM0t zgEQv6Hq)p`FK;*19TI$PK1&)it?773R*J@TsZ^OMwaKf^1Wk#U(4tIdf+eKJb%&;R zQvcgU7F1{A^ueY}RWD;J%wpGo=s`ltpfijwj@s;?gM8)GcDppsWHN2~)l8UF-$|bz zcBo-%R0&WW%qlq{%c z=^(ue>SxsOzAY=B4wx}vP|BW z5YI_{bUvgh(&uIhXqS*GyoGTRAJ4Wj@}Wt!kQf9PZe zjWFXkW(b>>J0(bF!^%FbhgnOxnn^pCBT}59Kr*B?Of}_I%<5z*s3n14*F)1w*Hb&M z+-VO@RBoA|JCRHTuLwH?~T*3eAS=pmcZOEqUv^J0ENA?DO?CQ=L}nRF)^)`X(gAJnL!Idaj; zw5Ta$6sFi|r}064N0`lOf>vzpiEL*wD5w`;V#zRGO#(vuIwrOz0+NhDqDfg#wB`f; z_a-LtaazxukZHrjWLJUwrLj;Go|sN1I)sjnpeh@722>~$b}npDWs?O-Czt6|b0X7G zEFxo)Q?A_j$DkEYD_YuimnOV=eKcamPdc)O7`;^i%X~6!`rS-O%MF+4Ef<)bFqoMM zsYV6U<_dl-FEr6n)MYw?mexo&Dc!}(SKBQ3Q$nm#WtKD2^jtKN4DHsrX)I)DL*B$p zn)af4lMhp>noOKb)yrp?R_2lga@9>O^(NIePHwELpS*a=tU2|yjYi)?J-@DT+G6Ws z?u;4UB-_7EqFOf5pZLU`&R|NPKh#dZ63o@g4AS(!xuV%{DUEH7Hz|x&>yPP3rQrP} zeLKZNt8v7^Rykv&@>5OgJ-Ae?I=EE$UFId&d5I?eW^hsn(fDHDD615W5@v=S#9}IJ zGab_OyEWj=byDz}h%kTdImDGlEKNtv`*%Sqdzq$!t*(=z)qn;e<{oB}YUU$q2C71( z80G>uGu1V=k zHq3dG)CRE0cQn&9wFZj&Q+W;PuAqQvDrnP~+mOqIaq^JYYfuF@vvyoF_c0S?c?jv2 zCgmBZTGAo|2FR&l6`I4iH@T`KNYF#XM(76@`uK3%XPDr%066_<}%o}s+~>l=%m}|JJ~*?b6D+7PPLdpMAXD-a>`8UTs6gs z%dVYzW6ZjV#e!?BbkMPox4o9W5-kZ%7shKU|Vv{%PHow81!1WHR(_i z1AiYst{3HZD%&xZ2MWhpQAHRAn_ZPEnXBqWQ;6a!+jJ@8X!_|?%Xqsowkv^g!<}JS z0A^ud(i3+g$12?o2R$r!=O$U|(N&44O&z@Knfz3?wNlj9)~=181q-ScELgC1E*JP~ z?{vWer3CjpYZ*F@BTq_GnYUc9)D?qoojA9y zQ2|&_iVkNk$wsF?u3$^)cYc|I#F<+74e3~dS5c=PgUM?2u57p_TBT@pp|mp3C6GCD z8&`>-%*t;py%w;rfW(frKKN&Jd>6)p9E(1hje#(S?C9Wn*b+ec36ZQ1HqpM>v#wf#T&&JrS5k>O}m%3H*S&XrF zNHf!!F4lY$-P&ceAw4DGVktIbTVU?}HLSUy8kmZ-`n3#{npo6LT3uM>uGDk5M%p{h zF6L3CQm2uq+vrSZ=xKVrfsvy|?=xoKvExRlUOLTw`;S;n;m@sZsE%r6uN;*squY&Ie6RnQ#f~7G6;A;zugf+h|^GWAqw(8&D>E}) z?iIqcX*KorYY4~q=^a?uV;<7m7LjqNuDQ2)XRG9HZblxB0k-m#TPcA?KxY?$wm;7L z`1 zUZ;4eXh8g;o*5^M$N*)UiO^c{FYCF1n!A2{Lu-z`nV(%$5y zh+>yBG@2Z z#ju(Ye`@iPje=V&U3F`&BT2Y*YG;gwiL6$r2w9desKkevX5n^}j1Ywhm|sx}Djqfm z2ONkyxP!lL#q7lWt~{YG@|HV(Ib%T9~r46n9HZC9lSt zqWu(>EM|@17Qz@dhy0-(u#eCx6>~{oMr)YK=7#xNk7@3yIiq?aQ$kU6)fydB!?ZxJ zu#(`QiQtGk)H2Cz3Yf_zn>cjYl;o5o`w7~QA)+K}P_x9Dl9Wt@M4Qz{)U8cPOPD6< zPd=rI0JGbf5`iN1#HuBYpf_bj15t7gTCIg|`$#k0?pd*D{45rSnQV21$_4Ae(8(O4 zfQ_y5ry8wUwfa>uN|5AAuLPkjOIMVL2SGv)6%P?9ia6_65E_ZHHznVm$DY6GcHS{W z9DxjMY7i!ptc+RmN+u~HXDBj-0h@rS7H=xA6NxXiRZ1gQo*Je?7WQ`f3k>g<_S58+@0!-nl*f$-BgrFsKSgCiOzg?ds?onVW&;^G+IO0PY>ec;L})@5#=-rI>~~68vE6zbf!@Rwrr5#lSN#yw};iuiu$a-}hn$KxJNK+W} zWGhZX)pXbN7v%!AtWVxq3>Sr5wj-l=GcDTmV{9Fy{T5nFZ%J7T^+`fp^#nnzm1QNlQnqQM3bqGbybosIYHxL2>MITj zsIrG(!hSVmO3NS9(I0{kJw-p{9g;_6eMp|VAHAWnjWXp>Z`%nkGhwItE?#foYj2jG z*mm`VYeJx}>UHMAz4dqx0iJ?YFXw6$D|lKn;z6nm=4fpVJ0wrtK174m^q@tV1Fo%2 zr1oW^*O`vwiGrDqc!33Lm7i{BTOf?| zbwx#)s-&D3S-Z`n>6v^d+Z_BWIvqhrn$Bi=z7Vi(sG3bHrE1cpPVWj9<&*iUncBwj zrWcH>LYCd7kj*aS8};;YX^;J$If-;zfC6c~?SN)5g_#{BndM-bBiNKTBP7+OuGMTA z%}|$=@m=RQgLO+R#Nm=OUBiro?bTpsx|3)UsTk5w7rst-(8mSstB5q6Y;Z=RGnZbH zZ7=xsiS|6R6mLc{r0er$q~qQEk&M~F=S4UTlOP$=i}+TVCW2&w44ZMWDU+#uAW_JUe$b4tx{B@sOHv(adt+T)3T3@ z(KSI-fKAgK*&qf7@e=ET1th6J+oB<+Ed64J@K5VRx=x-|;bvqVZF zdNsnpva<6F8MYFPdfBv4zo}8aLC*k%rEhJayL0O6qeei-p-98f#X-Zb?&J3Z%{m zqM|iQ6hgVrkt54|*$L{*pumWq^Ja#5UIu&0s7iv^8gFJI&IYAsSu+!f7P=tFvcvwR z8JVL4Gs#cdN*0amm`N3T8pepq*+nmu%{O%nVD5_G@yxj zfYUL};=RVvW!Rl-7m;7hVdFJ4wY-yB%j>qrs`gH~Fr8_)9iy>g9+=~`nbQx(ptv-2?Svp5FtDV}w#C8@37c@@JV!9cvENZ-26da{) zrjzdAn`wXAs4upswRMIEhJ22>m50j0N$)y3FBR1&Dv&+K=;{!DnCs1+)zE0WT=#;l zaggNoASXfAh>X9qU!yIzo;6`sCz2I!mRayIvd+?p5t1)ZA5tj#L1msYK6aJIK$AA#4%P0k<7JiLJW;wH9HGYF<+ zmNk7?BGsHm*PTc)ahhE&_AA#gS?5d?YgttqClT){Q(c4W;*LOZOMo+_97>fS!%niv zH^V+Fhl1xu{uq6=WDjg@r;J*M?aaATb7IgOq+ob1ooN03gMd-UX_kfVu&_D9U{~lQ z!Ol52+S$`y`<5)>iw>A-($fcY?$+UIBp37n$^Zj=6O)ptQK&v^^1(qAh6ZhPtrD(X zc4&XFI1927T8q-^ZZ!^O)=g1^Hw%zHL%_i>S(`ine?0qK2((N+jR}gM_3U$T3@s1RBk0jNI@4VNk0p%RZA;mW*hVTASVf zO>$Nf#Q!oGX0zK)0seQ1C<|cilCYX+n){NY^>SNY*{OxJDMmfoaffXNp$;bW@}dLy zOxxY`pg1Geh;Oz%dpURQW2oj3m08xqtQQ*TC@|;5VRXb=>x{DQC0b9YC9N?49Stxc zRno?3tfd~RJP0$HmslqnXNQ@oO|K9U0 zUR}@}$=5u}eEdM8bA62&A#6JAK_9#B;S^IC3+RXJLMzKqBaw^FIdGJSW1R77e^Oe5 zF(?0YB5GtrpR=7M+nSxPYbq+;xC^0`-PNU&~N|0iio=$snj2JoV&Ef1CVvuOrpy@y5%{<60 zDdy-Dvy6~`(7nlRht@uLG#`}2i;8N0^oa8L4o#*xWbMkiNzI7*m>wHp9j8~!+Lf%8*1wa}W=+;OFd9nih;B z-hf%h&PjKtv?iLvStU&z=H$E6nx!&ZXb1u;B5vTAc#86C(5kZ`U{1t$_+@{+N|M(nQE`%G6gj z#*n2FnV{)wPe4;ZYr{7UNO7GAz@n-)#TtOnnWi;2x2naYq(Lyym1wDA0YPPDt&CAu zp&Ph!whdv6Svxma$t+W_qDpVrP5PW!;QAMiaoYpN`j|!sVH-6UFlu#8YmNpET&mp^4|X@SvbM&Uwu49rcANc{ zhSqeK7A=^daL4%SCK;_HoH{K{_nFF7nWeIAx(OY{=a7X~$ZIEaZD{3?wOyw+IN4SM z;yyk-NYLYQG};Jw8))AQ+g^h{Rx`3)1QHY?y_46_PFJXMMVb@Po&g1|(qe}N<1}@c z<2@*nw7Gl+3q}CnoIRtOO0LxR$2+Rr(W;F%YG%PE&r5UPKTlU2O=-T}q8s6KEO~L? zca=_=YYyr&0dNO>mL%99QjRK30?kQJg<>WZjKy6#h-O1EBe3dRQ^0WPK3p_@d+gfs zj>-fm5cu;#`X$O&=ULUS<>=#zOI&oBfDV|QalKj9 zfYw;DfH)7eUgJ>qPw2}yG8rsgjDMYt%u=3gS9P|lZ_hVzPKS+LB`;6NNLU*3M8l|~ zep-iA0RwF+fepuFHF0R@N`$#|d#1aPMX>9YpEqw*iLx)z$Y7CAGAd`K(V-{g3WA)l0B&(TMZ9w>!$S*<0@H$F!2qCjGswvD7&}RB zNm!t{S~kkQl)EE-oBRBh}gtg_EM?I8%-dNfmEiW_Th)Ojc! zCrPiRF9tmhrkK)qG0@Ki>?@_)S?^Gp+pVRWh8wv7v(vwWr;paZ6U!?_5{fuP9%?RYYHd-C7)>S5CcrpVCSu=AE z4*BFFGd5gVRq4&^uno(^USl}lH1NuTVsFI|lx;O%z96V;PApYbZ6ySnx?k2|nlVs4 zIU-K;1}Oo(LIx$iOEeq7_+RB!>h-#BWKc3eVADk6t45tj(%KbI?uDWWnzHF6he;>{ zWIaP^j^zi*AXK@-~y6OtI0yH&Op}IY9wPubpnXSdLrDToPkD86JM6{_W zbFXSd0pOh7>h_TLQZSwMT6;1*J0dF66}!;P+KhKW2Hn@rmBm#4{}ym|m5^=4rOY+a zqS#Xur+X2_I$ac8n35?PM^gG8&LiQj{XCve`ifu3t8a<~BCe2aP;2(0bgkZ7hgylL z(G`Q4`kMfIq{k&P>z8ePm1U!7ZT8gmEAEc<DB zo%C+foZMR)OXls4AAOS**|4+4ky*cVo^d!*qEs$BJWJ0KYvpXD&AOGc(ok zN2hw(wN^xQ1X=?yYSWFP>oZK(KWaB~SkEt{*W|p%r__BqOr`AxpY56Yh+7i_L~6`4 zDcz#*$W={~@G|Mqs!^=b`>=A!lUhb=p%aN*HCK2Wwg0>j_#!$x^WR+>x`l)dVUmUYQ@fta;XkOENW#4@Bz|hI?I#lxvQ{~Ff zv{ZTw=-%9RP8yp9{oGW0O5YRDHRn$l5zXw>w{tjOQyVke(bA=OL`8$HtFLA~PixVX z&ko=cNaqokievum;(b;N>12% z^V!fgb#Xo^%cA8A<)ErQV97}nK+BGTJI^rRjI(CC$E_i`*4@pU*4O{~l#}7XyjS}% zt9w1G_rg5DWTY=oVFl~nto9b{2h}Q84L!V0YKX*Hlz8-6JpH}7k)+z2ADXeqthF^5 znRCy@*Xky{y_VvtqQyCSwONvu1}WZLm{?-QK18i<>Ps|nJ&429+UAEzhMRDh6tplM z1SvbVWVD=QlAMpim1Swy!)V<{yGC7-$Vgi}C=zMR)d1dn&b?bP-FzLXk~^n0VyPad zMpbZYeY}VQ{GJf{JX^F{Z;ipy==hQO(6HL$Rud!b^A=97owL{;cXQVTEJSQ$4i*^& z`zHxcsuaC8Dmtm+iGh*(k1$_yCF!mZbS1)?7*`{v%r z8lnpn@a;qpWjg_?mu`nXvh7nqfu*Wxsg9V*ldE23^P{qw%Py8X^MRqhA192AFJV%2 zm@%5X*|n1vYGxYePAs|ujBLM6v?m))r¥X(6g(*QUa9deMa5tG>HdT2RDvil%3) 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 delta 15536 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\n" +"POT-Creation-Date: 2008-02-25 12:45+0100\n" +"PO-Revision-Date: 2008-02-25 15:53+0100\n" +"Last-Translator: Łukasz Czyżykowki \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -490,7 +490,7 @@ msgstr "Akcja" #: contrib/admin/templates/admin/object_history.html:25 msgid "DATE_WITH_TIME_FULL" -msgstr "" +msgstr "j F Y H:i:s" #: contrib/admin/templates/admin/object_history.html:35 msgid "" @@ -703,7 +703,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 "Otrzymałeś email gdyż zarządałeś zresetowania hasła" +msgstr "Otrzymałeś email gdyż zażądałeś zresetowania hasła" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -1759,107 +1759,107 @@ msgstr "" #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" -msgstr "" +msgstr "Argowia" #: contrib/localflavor/ch/ch_states.py:6 msgid "Appenzell Innerrhoden" -msgstr "" +msgstr "Appenzell Innerrhoden" #: contrib/localflavor/ch/ch_states.py:7 msgid "Appenzell Ausserrhoden" -msgstr "" +msgstr "Appenzell Ausserrhoden" #: contrib/localflavor/ch/ch_states.py:8 msgid "Basel-Stadt" -msgstr "" +msgstr "Bazylea-miasto" #: contrib/localflavor/ch/ch_states.py:9 msgid "Basel-Land" -msgstr "" +msgstr "Bazylea-okręg" #: contrib/localflavor/ch/ch_states.py:10 msgid "Berne" -msgstr "" +msgstr "Berno" #: contrib/localflavor/ch/ch_states.py:11 msgid "Fribourg" -msgstr "" +msgstr "Fryburg" #: contrib/localflavor/ch/ch_states.py:12 msgid "Geneva" -msgstr "" +msgstr "Genewa" #: contrib/localflavor/ch/ch_states.py:13 msgid "Glarus" -msgstr "" +msgstr "Glarus" #: contrib/localflavor/ch/ch_states.py:14 msgid "Graubuenden" -msgstr "" +msgstr "Gryzonia" #: contrib/localflavor/ch/ch_states.py:15 msgid "Jura" -msgstr "" +msgstr "Jura" #: contrib/localflavor/ch/ch_states.py:16 msgid "Lucerne" -msgstr "" +msgstr "Lucerna" #: contrib/localflavor/ch/ch_states.py:17 msgid "Neuchatel" -msgstr "" +msgstr "Neuchatel" #: contrib/localflavor/ch/ch_states.py:18 msgid "Nidwalden" -msgstr "" +msgstr "Nidwalden" #: contrib/localflavor/ch/ch_states.py:19 msgid "Obwalden" -msgstr "" +msgstr "Obwalden" #: contrib/localflavor/ch/ch_states.py:20 msgid "Schaffhausen" -msgstr "" +msgstr "Szafuza" #: contrib/localflavor/ch/ch_states.py:21 msgid "Schwyz" -msgstr "" +msgstr "Schwyz" #: contrib/localflavor/ch/ch_states.py:22 msgid "Solothurn" -msgstr "" +msgstr "Solura" #: contrib/localflavor/ch/ch_states.py:23 msgid "St. Gallen" -msgstr "" +msgstr "Sankt Gallen" #: contrib/localflavor/ch/ch_states.py:24 msgid "Thurgau" -msgstr "" +msgstr "Turgowia" #: contrib/localflavor/ch/ch_states.py:25 msgid "Ticino" -msgstr "" +msgstr "Ticino" #: contrib/localflavor/ch/ch_states.py:26 msgid "Uri" -msgstr "" +msgstr "Uri" #: contrib/localflavor/ch/ch_states.py:27 msgid "Valais" -msgstr "" +msgstr "Valais" #: contrib/localflavor/ch/ch_states.py:28 msgid "Vaud" -msgstr "" +msgstr "Vaud" #: contrib/localflavor/ch/ch_states.py:29 msgid "Zug" -msgstr "" +msgstr "Zug" #: contrib/localflavor/ch/ch_states.py:30 msgid "Zurich" -msgstr "" +msgstr "Zurych" #: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 msgid "Enter a zip code in the format XXXX." @@ -1943,7 +1943,7 @@ msgstr "Saksonia-Anhalt" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "" +msgstr "Szlezwik-Holsztyn" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" @@ -1964,71 +1964,71 @@ msgstr "" #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" -msgstr "" +msgstr "Arawa" #: contrib/localflavor/es/es_provinces.py:6 msgid "Albacete" -msgstr "" +msgstr "Albacete" #: contrib/localflavor/es/es_provinces.py:7 msgid "Alacant" -msgstr "" +msgstr "Alicante" #: contrib/localflavor/es/es_provinces.py:8 msgid "Almeria" -msgstr "" +msgstr "Almeria" #: contrib/localflavor/es/es_provinces.py:9 msgid "Avila" -msgstr "" +msgstr "Avila" #: contrib/localflavor/es/es_provinces.py:10 msgid "Badajoz" -msgstr "" +msgstr "Badajoz" #: contrib/localflavor/es/es_provinces.py:11 msgid "Illes Balears" -msgstr "" +msgstr "Baleary" #: contrib/localflavor/es/es_provinces.py:12 msgid "Barcelona" -msgstr "" +msgstr "Barcelona" #: contrib/localflavor/es/es_provinces.py:13 msgid "Burgos" -msgstr "" +msgstr "Burgos" #: contrib/localflavor/es/es_provinces.py:14 msgid "Caceres" -msgstr "" +msgstr "Caceres" #: contrib/localflavor/es/es_provinces.py:15 msgid "Cadiz" -msgstr "" +msgstr "Kadyks" #: contrib/localflavor/es/es_provinces.py:16 msgid "Castello" -msgstr "" +msgstr "Castellon" #: contrib/localflavor/es/es_provinces.py:17 msgid "Ciudad Real" -msgstr "" +msgstr "Ciudad Real" #: contrib/localflavor/es/es_provinces.py:18 msgid "Cordoba" -msgstr "" +msgstr "Kordowa" #: contrib/localflavor/es/es_provinces.py:19 msgid "A Coruna" -msgstr "" +msgstr "A Coruna" #: contrib/localflavor/es/es_provinces.py:20 msgid "Cuenca" -msgstr "" +msgstr "Cuenca" #: contrib/localflavor/es/es_provinces.py:21 msgid "Girona" -msgstr "" +msgstr "Girona" #: contrib/localflavor/es/es_provinces.py:22 msgid "Granada" @@ -2036,182 +2036,174 @@ msgstr "Granada" #: contrib/localflavor/es/es_provinces.py:23 msgid "Guadalajara" -msgstr "" +msgstr "Guadalajara" #: contrib/localflavor/es/es_provinces.py:24 msgid "Guipuzkoa" -msgstr "" +msgstr "Gipuzkoa" #: contrib/localflavor/es/es_provinces.py:25 msgid "Huelva" -msgstr "" +msgstr "Huelva" #: contrib/localflavor/es/es_provinces.py:26 -#, fuzzy msgid "Huesca" -msgstr "Wtorek" +msgstr "Huesca" #: contrib/localflavor/es/es_provinces.py:27 -#, fuzzy msgid "Jaen" -msgstr "Sty." +msgstr "Jaen" #: contrib/localflavor/es/es_provinces.py:28 -#, fuzzy msgid "Leon" -msgstr "Zaloguj się" +msgstr "Leon" #: contrib/localflavor/es/es_provinces.py:29 msgid "Lleida" -msgstr "" +msgstr "Lleida" #: contrib/localflavor/es/es_provinces.py:30 #: contrib/localflavor/es/es_regions.py:17 msgid "La Rioja" -msgstr "" +msgstr "La Rioja" #: contrib/localflavor/es/es_provinces.py:31 msgid "Lugo" -msgstr "" +msgstr "Lugo" #: contrib/localflavor/es/es_provinces.py:32 #: contrib/localflavor/es/es_regions.py:18 msgid "Madrid" -msgstr "" +msgstr "Madryt" #: contrib/localflavor/es/es_provinces.py:33 msgid "Malaga" -msgstr "" +msgstr "Malaga" #: contrib/localflavor/es/es_provinces.py:34 msgid "Murcia" -msgstr "" +msgstr "Murcja" #: contrib/localflavor/es/es_provinces.py:35 msgid "Navarre" -msgstr "" +msgstr "Nawarra" #: contrib/localflavor/es/es_provinces.py:36 msgid "Ourense" -msgstr "" +msgstr "Ourense" #: contrib/localflavor/es/es_provinces.py:37 msgid "Asturias" -msgstr "" +msgstr "Asturia" #: contrib/localflavor/es/es_provinces.py:38 -#, fuzzy msgid "Palencia" -msgstr "Galicyjski" +msgstr "Palencia" #: contrib/localflavor/es/es_provinces.py:39 msgid "Las Palmas" -msgstr "" +msgstr "Las Palmas" #: contrib/localflavor/es/es_provinces.py:40 msgid "Pontevedra" -msgstr "" +msgstr "Pontevedra" #: contrib/localflavor/es/es_provinces.py:41 msgid "Salamanca" -msgstr "" +msgstr "Salamanka" #: contrib/localflavor/es/es_provinces.py:42 msgid "Santa Cruz de Tenerife" -msgstr "" +msgstr "Santa Cruz de Tenerife" #: contrib/localflavor/es/es_provinces.py:43 #: contrib/localflavor/es/es_regions.py:11 -#, fuzzy msgid "Cantabria" -msgstr "Kataloński" +msgstr "Kantabria" #: contrib/localflavor/es/es_provinces.py:44 -#, fuzzy msgid "Segovia" -msgstr "Słoweński" +msgstr "Segowia" #: contrib/localflavor/es/es_provinces.py:45 msgid "Seville" -msgstr "" +msgstr "Sewilla" #: contrib/localflavor/es/es_provinces.py:46 -#, fuzzy msgid "Soria" -msgstr "Serbski" +msgstr "Soria" #: contrib/localflavor/es/es_provinces.py:47 msgid "Tarragona" -msgstr "" +msgstr "Tarragona" #: contrib/localflavor/es/es_provinces.py:48 msgid "Teruel" -msgstr "" +msgstr "Teruel" #: contrib/localflavor/es/es_provinces.py:49 msgid "Toledo" -msgstr "" +msgstr "Toledo" #: contrib/localflavor/es/es_provinces.py:50 -#, fuzzy msgid "Valencia" -msgstr "Galicyjski" +msgstr "Walencja" #: contrib/localflavor/es/es_provinces.py:51 msgid "Valladolid" -msgstr "" +msgstr "Valladolid" #: contrib/localflavor/es/es_provinces.py:52 msgid "Bizkaia" -msgstr "" +msgstr "Vizcaya" #: contrib/localflavor/es/es_provinces.py:53 msgid "Zamora" -msgstr "" +msgstr "Zamora" #: contrib/localflavor/es/es_provinces.py:54 msgid "Zaragoza" -msgstr "" +msgstr "Saragossa" #: contrib/localflavor/es/es_provinces.py:55 msgid "Ceuta" -msgstr "" +msgstr "Ceuta" #: contrib/localflavor/es/es_provinces.py:56 msgid "Melilla" -msgstr "" +msgstr "Melilla" #: contrib/localflavor/es/es_regions.py:5 msgid "Andalusia" -msgstr "" +msgstr "Andaluzja" #: contrib/localflavor/es/es_regions.py:6 msgid "Aragon" -msgstr "" +msgstr "Aragonia" #: contrib/localflavor/es/es_regions.py:7 msgid "Principality of Asturias" -msgstr "" +msgstr "Asturia" #: contrib/localflavor/es/es_regions.py:8 msgid "Balearic Islands" -msgstr "" +msgstr "Baleary" #: contrib/localflavor/es/es_regions.py:9 msgid "Basque Country" -msgstr "" +msgstr "Kraj Basków" #: contrib/localflavor/es/es_regions.py:10 msgid "Canary Islands" -msgstr "" +msgstr "Wyspy Kanaryjskie" #: contrib/localflavor/es/es_regions.py:12 msgid "Castile-La Mancha" -msgstr "" +msgstr "Kastylia-La Mancha" #: contrib/localflavor/es/es_regions.py:13 msgid "Castile and Leon" -msgstr "" +msgstr "Kastylia-Leon" #: contrib/localflavor/es/es_regions.py:14 msgid "Catalonia" @@ -2219,7 +2211,7 @@ msgstr "Katalonia" #: contrib/localflavor/es/es_regions.py:15 msgid "Extremadura" -msgstr "" +msgstr "Estremadura" #: contrib/localflavor/es/es_regions.py:16 msgid "Galicia" @@ -2227,15 +2219,15 @@ msgstr "Galicja" #: contrib/localflavor/es/es_regions.py:19 msgid "Region of Murcia" -msgstr "" +msgstr "Murcja" #: contrib/localflavor/es/es_regions.py:20 msgid "Foral Community of Navarre" -msgstr "" +msgstr "Nawarra" #: contrib/localflavor/es/es_regions.py:21 msgid "Valencian Community" -msgstr "" +msgstr "Walencja" #: contrib/localflavor/es/forms.py:19 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." @@ -2314,324 +2306,319 @@ msgstr "Wpisz kod pocztowy w formacie XXXXXXX lub XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" -msgstr "" +msgstr "Hokkaido" #: contrib/localflavor/jp/jp_prefectures.py:5 msgid "Aomori" -msgstr "" +msgstr "Aomori" #: contrib/localflavor/jp/jp_prefectures.py:6 msgid "Iwate" -msgstr "" +msgstr "Iwate" #: contrib/localflavor/jp/jp_prefectures.py:7 msgid "Miyagi" -msgstr "" +msgstr "Miyagi" #: contrib/localflavor/jp/jp_prefectures.py:8 msgid "Akita" -msgstr "" +msgstr "Akita" #: contrib/localflavor/jp/jp_prefectures.py:9 msgid "Yamagata" -msgstr "" +msgstr "Yamagata" #: contrib/localflavor/jp/jp_prefectures.py:10 msgid "Fukushima" -msgstr "" +msgstr "Fukushima" #: contrib/localflavor/jp/jp_prefectures.py:11 msgid "Ibaraki" -msgstr "" +msgstr "Ibaraki" #: contrib/localflavor/jp/jp_prefectures.py:12 msgid "Tochigi" -msgstr "" +msgstr "Tochigi" #: contrib/localflavor/jp/jp_prefectures.py:13 msgid "Gunma" -msgstr "" +msgstr "Gunma" #: contrib/localflavor/jp/jp_prefectures.py:14 msgid "Saitama" -msgstr "" +msgstr "Saitama" #: contrib/localflavor/jp/jp_prefectures.py:15 msgid "Chiba" -msgstr "" +msgstr "Chiba" #: contrib/localflavor/jp/jp_prefectures.py:16 msgid "Tokyo" -msgstr "" +msgstr "Tokio" #: contrib/localflavor/jp/jp_prefectures.py:17 msgid "Kanagawa" -msgstr "" +msgstr "Kanagawa" #: contrib/localflavor/jp/jp_prefectures.py:18 msgid "Yamanashi" -msgstr "" +msgstr "Yamanashi" #: contrib/localflavor/jp/jp_prefectures.py:19 msgid "Nagano" -msgstr "" +msgstr "Nagano" #: contrib/localflavor/jp/jp_prefectures.py:20 msgid "Niigata" -msgstr "" +msgstr "Niigata" #: contrib/localflavor/jp/jp_prefectures.py:21 msgid "Toyama" -msgstr "" +msgstr "Toyama" #: contrib/localflavor/jp/jp_prefectures.py:22 msgid "Ishikawa" -msgstr "" +msgstr "Ishikawa" #: contrib/localflavor/jp/jp_prefectures.py:23 msgid "Fukui" -msgstr "" +msgstr "Fukui" #: contrib/localflavor/jp/jp_prefectures.py:24 msgid "Gifu" -msgstr "" +msgstr "Gifu" #: contrib/localflavor/jp/jp_prefectures.py:25 msgid "Shizuoka" -msgstr "" +msgstr "Shizuoka" #: contrib/localflavor/jp/jp_prefectures.py:26 msgid "Aichi" -msgstr "" +msgstr "Aichi" #: contrib/localflavor/jp/jp_prefectures.py:27 msgid "Mie" -msgstr "" +msgstr "Mie" #: contrib/localflavor/jp/jp_prefectures.py:28 msgid "Shiga" -msgstr "" +msgstr "Shiga" #: contrib/localflavor/jp/jp_prefectures.py:29 msgid "Kyoto" -msgstr "" +msgstr "Kyoto" #: contrib/localflavor/jp/jp_prefectures.py:30 msgid "Osaka" -msgstr "" +msgstr "Osaka" #: contrib/localflavor/jp/jp_prefectures.py:31 msgid "Hyogo" -msgstr "" +msgstr "Hyogo" #: contrib/localflavor/jp/jp_prefectures.py:32 msgid "Nara" -msgstr "" +msgstr "Nara" #: contrib/localflavor/jp/jp_prefectures.py:33 msgid "Wakayama" -msgstr "" +msgstr "Wakayama" #: contrib/localflavor/jp/jp_prefectures.py:34 msgid "Tottori" -msgstr "" +msgstr "Tottori" #: contrib/localflavor/jp/jp_prefectures.py:35 msgid "Shimane" -msgstr "" +msgstr "Shimane" #: contrib/localflavor/jp/jp_prefectures.py:36 msgid "Okayama" -msgstr "" +msgstr "Okayama" #: contrib/localflavor/jp/jp_prefectures.py:37 msgid "Hiroshima" -msgstr "" +msgstr "Hiroszima" #: contrib/localflavor/jp/jp_prefectures.py:38 msgid "Yamaguchi" -msgstr "" +msgstr "Yamaguchi" #: contrib/localflavor/jp/jp_prefectures.py:39 msgid "Tokushima" -msgstr "" +msgstr "Tokushima" #: contrib/localflavor/jp/jp_prefectures.py:40 msgid "Kagawa" -msgstr "" +msgstr "Kagawa" #: contrib/localflavor/jp/jp_prefectures.py:41 msgid "Ehime" -msgstr "" +msgstr "Ehime" #: contrib/localflavor/jp/jp_prefectures.py:42 msgid "Kochi" -msgstr "" +msgstr "Kochi" #: contrib/localflavor/jp/jp_prefectures.py:43 msgid "Fukuoka" -msgstr "" +msgstr "Fukuoka" #: contrib/localflavor/jp/jp_prefectures.py:44 msgid "Saga" -msgstr "" +msgstr "Saga" #: contrib/localflavor/jp/jp_prefectures.py:45 msgid "Nagasaki" -msgstr "" +msgstr "Nagasaki" #: contrib/localflavor/jp/jp_prefectures.py:46 msgid "Kumamoto" -msgstr "" +msgstr "Kumamoto" #: contrib/localflavor/jp/jp_prefectures.py:47 msgid "Oita" -msgstr "" +msgstr "Oita" #: contrib/localflavor/jp/jp_prefectures.py:48 msgid "Miyazaki" -msgstr "" +msgstr "Miyazaki" #: contrib/localflavor/jp/jp_prefectures.py:49 msgid "Kagoshima" -msgstr "" +msgstr "Kagoshima" #: contrib/localflavor/jp/jp_prefectures.py:50 msgid "Okinawa" -msgstr "" +msgstr "Okinawa" #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" -msgstr "" +msgstr "Aguascalientes" #: contrib/localflavor/mx/mx_states.py:13 msgid "Baja California" -msgstr "" +msgstr "Kalifornia Dolna" #: contrib/localflavor/mx/mx_states.py:14 msgid "Baja California Sur" -msgstr "" +msgstr "Kalifornia Dolna Południowa" #: contrib/localflavor/mx/mx_states.py:15 -#, fuzzy msgid "Campeche" -msgstr "Czeski" +msgstr "Campeche" #: contrib/localflavor/mx/mx_states.py:16 msgid "Chihuahua" -msgstr "" +msgstr "Chihuahua" #: contrib/localflavor/mx/mx_states.py:17 msgid "Chiapas" -msgstr "" +msgstr "Chiapas" #: contrib/localflavor/mx/mx_states.py:18 -#, fuzzy msgid "Coahuila" -msgstr "Horwacki" +msgstr "Coahuila" #: contrib/localflavor/mx/mx_states.py:19 msgid "Colima" -msgstr "" +msgstr "Colima" #: contrib/localflavor/mx/mx_states.py:20 msgid "Distrito Federal" -msgstr "" +msgstr "Meksyk (miasto)" #: contrib/localflavor/mx/mx_states.py:21 msgid "Durango" -msgstr "" +msgstr "Durango" #: contrib/localflavor/mx/mx_states.py:22 -#, fuzzy msgid "Guerrero" -msgstr "Błąd serwera" +msgstr "Guerrero" #: contrib/localflavor/mx/mx_states.py:23 msgid "Guanajuato" -msgstr "" +msgstr "Guanajuato" #: contrib/localflavor/mx/mx_states.py:24 msgid "Hidalgo" -msgstr "" +msgstr "Hidalgo" #: contrib/localflavor/mx/mx_states.py:25 msgid "Jalisco" -msgstr "" +msgstr "Jalisco" #: contrib/localflavor/mx/mx_states.py:26 -msgid "Estado de México" -msgstr "" +msgid "Estado de México" +msgstr "Meksyk (stan)" #: contrib/localflavor/mx/mx_states.py:27 -msgid "Michoacán" -msgstr "" +msgid "Michoacán" +msgstr "Michocan" #: contrib/localflavor/mx/mx_states.py:28 msgid "Morelos" -msgstr "" +msgstr "Morelos" #: contrib/localflavor/mx/mx_states.py:29 msgid "Nayarit" -msgstr "" +msgstr "Nayarit" #: contrib/localflavor/mx/mx_states.py:30 -msgid "Nuevo León" -msgstr "" +msgid "Nuevo León" +msgstr "Nuevo Leon" #: contrib/localflavor/mx/mx_states.py:31 msgid "Oaxaca" -msgstr "" +msgstr "Oaxaca" #: contrib/localflavor/mx/mx_states.py:32 msgid "Puebla" -msgstr "" +msgstr "Puebla" #: contrib/localflavor/mx/mx_states.py:33 -msgid "Querétaro" -msgstr "" +msgid "Querétaro" +msgstr "Queretaro" #: contrib/localflavor/mx/mx_states.py:34 msgid "Quintana Roo" -msgstr "" +msgstr "Quintana Roo" #: contrib/localflavor/mx/mx_states.py:35 -#, fuzzy msgid "Sinaloa" -msgstr "Słowacki" +msgstr "Sinaloa" #: contrib/localflavor/mx/mx_states.py:36 -msgid "San Luis Potosí" -msgstr "" +msgid "San Luis Potosí" +msgstr "San Luis Potasi" #: contrib/localflavor/mx/mx_states.py:37 -#, fuzzy msgid "Sonora" -msgstr "Serbski" +msgstr "Sonora" #: contrib/localflavor/mx/mx_states.py:38 msgid "Tabasco" -msgstr "" +msgstr "Tabasco" #: contrib/localflavor/mx/mx_states.py:39 msgid "Tamaulipas" -msgstr "" +msgstr "Tamaulipas" #: contrib/localflavor/mx/mx_states.py:40 msgid "Tlaxcala" -msgstr "" +msgstr "Tlaxcala" #: contrib/localflavor/mx/mx_states.py:41 msgid "Veracruz" -msgstr "" +msgstr "Veracruz" #: contrib/localflavor/mx/mx_states.py:42 -msgid "Yucatán" -msgstr "" +msgid "Yucatán" +msgstr "Jukatan" #: contrib/localflavor/mx/mx_states.py:43 msgid "Zacatecas" -msgstr "" +msgstr "Zacatecas" #: contrib/localflavor/nl/forms.py:21 msgid "Enter a valid postal code" @@ -2646,57 +2633,52 @@ msgid "Enter a valid SoFi number" msgstr "Wpisz poprawny numer SoFi." #: contrib/localflavor/nl/nl_provinces.py:4 -#, fuzzy msgid "Drente" -msgstr "Usuń" +msgstr "Drenthe" #: contrib/localflavor/nl/nl_provinces.py:5 msgid "Flevoland" -msgstr "" +msgstr "Flevoland" #: contrib/localflavor/nl/nl_provinces.py:6 msgid "Friesland" -msgstr "" +msgstr "Fryzja" #: contrib/localflavor/nl/nl_provinces.py:7 -#, fuzzy msgid "Gelderland" -msgstr "Niemiecki" +msgstr "Geldria" #: contrib/localflavor/nl/nl_provinces.py:8 -#, fuzzy msgid "Groningen" -msgstr "dziewięć" +msgstr "Groningen" #: contrib/localflavor/nl/nl_provinces.py:9 msgid "Limburg" -msgstr "" +msgstr "Limburgia" #: contrib/localflavor/nl/nl_provinces.py:10 msgid "Noord-Brabant" -msgstr "" +msgstr "Brabancja Północna" #: contrib/localflavor/nl/nl_provinces.py:11 msgid "Noord-Holland" -msgstr "" +msgstr "Holandia Północna" #: contrib/localflavor/nl/nl_provinces.py:12 msgid "Overijssel" -msgstr "" +msgstr "Overijssel" #: contrib/localflavor/nl/nl_provinces.py:13 -#, fuzzy msgid "Utrecht" -msgstr "Francuski" +msgstr "Utrecht" #: contrib/localflavor/nl/nl_provinces.py:14 -#, fuzzy msgid "Zeeland" -msgstr "Islandzki" +msgstr "Zelandia" #: contrib/localflavor/nl/nl_provinces.py:15 msgid "Zuid-Holland" -msgstr "" +msgstr "Holandia Południowa" #: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." @@ -2809,362 +2791,351 @@ msgstr "Wpisz kod pocztowy w formacie XXXXX or XXX XX." #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" -msgstr "" +msgstr "Bańska Bystrzyca" #: contrib/localflavor/sk/sk_districts.py:9 msgid "Banska Stiavnica" -msgstr "" +msgstr "Bańska Szczawnica" #: contrib/localflavor/sk/sk_districts.py:10 msgid "Bardejov" -msgstr "" +msgstr "Bardiów" #: contrib/localflavor/sk/sk_districts.py:11 msgid "Banovce nad Bebravou" -msgstr "" +msgstr "Banovce nad Bebravou" #: contrib/localflavor/sk/sk_districts.py:12 msgid "Brezno" -msgstr "" +msgstr "Brezno" #: contrib/localflavor/sk/sk_districts.py:13 msgid "Bratislava I" -msgstr "" +msgstr "Bratysława I" #: contrib/localflavor/sk/sk_districts.py:14 msgid "Bratislava II" -msgstr "" +msgstr "Bratysława II" #: contrib/localflavor/sk/sk_districts.py:15 msgid "Bratislava III" -msgstr "" +msgstr "Bratysława III" #: contrib/localflavor/sk/sk_districts.py:16 msgid "Bratislava IV" -msgstr "" +msgstr "Bratysława IV" #: contrib/localflavor/sk/sk_districts.py:17 msgid "Bratislava V" -msgstr "" +msgstr "Bratysława V" #: contrib/localflavor/sk/sk_districts.py:18 msgid "Bytca" -msgstr "" +msgstr "Bytca" #: contrib/localflavor/sk/sk_districts.py:19 msgid "Cadca" -msgstr "" +msgstr "Czadca" #: contrib/localflavor/sk/sk_districts.py:20 msgid "Detva" -msgstr "" +msgstr "Detva" #: contrib/localflavor/sk/sk_districts.py:21 msgid "Dolny Kubin" -msgstr "" +msgstr "Dolny Kubin" #: contrib/localflavor/sk/sk_districts.py:22 msgid "Dunajska Streda" -msgstr "" +msgstr "Dunajska Streda" #: contrib/localflavor/sk/sk_districts.py:23 -#, fuzzy msgid "Galanta" -msgstr "Galicyjski" +msgstr "Galanta" #: contrib/localflavor/sk/sk_districts.py:24 -#, fuzzy msgid "Gelnica" -msgstr "Galicyjski" +msgstr "Gelnica" #: contrib/localflavor/sk/sk_districts.py:25 msgid "Hlohovec" -msgstr "" +msgstr "Hlohovec" #: contrib/localflavor/sk/sk_districts.py:26 msgid "Humenne" -msgstr "" +msgstr "Humenne" #: contrib/localflavor/sk/sk_districts.py:27 msgid "Ilava" -msgstr "" +msgstr "Ilava" #: contrib/localflavor/sk/sk_districts.py:28 msgid "Kezmarok" -msgstr "" +msgstr "Kieżmarek" #: contrib/localflavor/sk/sk_districts.py:29 -#, fuzzy msgid "Komarno" -msgstr "Koreański" +msgstr "Komarno" #: contrib/localflavor/sk/sk_districts.py:30 msgid "Kosice I" -msgstr "" +msgstr "Koszyce I" #: contrib/localflavor/sk/sk_districts.py:31 msgid "Kosice II" -msgstr "" +msgstr "Koszyce II" #: contrib/localflavor/sk/sk_districts.py:32 msgid "Kosice III" -msgstr "" +msgstr "Koszyce III" #: contrib/localflavor/sk/sk_districts.py:33 msgid "Kosice IV" -msgstr "" +msgstr "Koszyce IV" #: contrib/localflavor/sk/sk_districts.py:34 msgid "Kosice - okolie" -msgstr "" +msgstr "Koszyce - okolie" #: contrib/localflavor/sk/sk_districts.py:35 msgid "Krupina" -msgstr "" +msgstr "Krupina" #: contrib/localflavor/sk/sk_districts.py:36 msgid "Kysucke Nove Mesto" -msgstr "" +msgstr "Kysucke Nove Mesto" #: contrib/localflavor/sk/sk_districts.py:37 msgid "Levice" -msgstr "" +msgstr "Levice" #: contrib/localflavor/sk/sk_districts.py:38 msgid "Levoca" -msgstr "" +msgstr "Lewocza" #: contrib/localflavor/sk/sk_districts.py:39 msgid "Liptovsky Mikulas" -msgstr "" +msgstr "Liptowski Mikulasz" #: contrib/localflavor/sk/sk_districts.py:40 msgid "Lucenec" -msgstr "" +msgstr "Łuczeniec" #: contrib/localflavor/sk/sk_districts.py:41 -#, fuzzy msgid "Malacky" -msgstr "Maj" +msgstr "Malacky" #: contrib/localflavor/sk/sk_districts.py:42 -#, fuzzy msgid "Martin" -msgstr "Łotewski" +msgstr "Martin" #: contrib/localflavor/sk/sk_districts.py:43 msgid "Medzilaborce" -msgstr "" +msgstr "Medzilaborce" #: contrib/localflavor/sk/sk_districts.py:44 msgid "Michalovce" -msgstr "" +msgstr "Michalovce" #: contrib/localflavor/sk/sk_districts.py:45 msgid "Myjava" -msgstr "" +msgstr "Myjava" #: contrib/localflavor/sk/sk_districts.py:46 msgid "Namestovo" -msgstr "" +msgstr "Namestovo" #: contrib/localflavor/sk/sk_districts.py:47 msgid "Nitra" -msgstr "" +msgstr "Nitra" #: contrib/localflavor/sk/sk_districts.py:48 msgid "Nove Mesto nad Vahom" -msgstr "" +msgstr "Nove Mesto nad Vahom" #: contrib/localflavor/sk/sk_districts.py:49 msgid "Nove Zamky" -msgstr "" +msgstr "Nove Zamky" #: contrib/localflavor/sk/sk_districts.py:50 msgid "Partizanske" -msgstr "" +msgstr "Partizanske" #: contrib/localflavor/sk/sk_districts.py:51 msgid "Pezinok" -msgstr "" +msgstr "Pezinok" #: contrib/localflavor/sk/sk_districts.py:52 msgid "Piestany" -msgstr "" +msgstr "Pieszczany" #: contrib/localflavor/sk/sk_districts.py:53 msgid "Poltar" -msgstr "" +msgstr "Poltar" #: contrib/localflavor/sk/sk_districts.py:54 msgid "Poprad" -msgstr "" +msgstr "Poprad" #: contrib/localflavor/sk/sk_districts.py:55 msgid "Povazska Bystrica" -msgstr "" +msgstr "Poważska Bystrzyca" #: contrib/localflavor/sk/sk_districts.py:56 msgid "Presov" -msgstr "" +msgstr "Preszów" #: contrib/localflavor/sk/sk_districts.py:57 msgid "Prievidza" -msgstr "" +msgstr "Prievidza" #: contrib/localflavor/sk/sk_districts.py:58 msgid "Puchov" -msgstr "" +msgstr "Puchov" #: contrib/localflavor/sk/sk_districts.py:59 msgid "Revuca" -msgstr "" +msgstr "Revuca" #: contrib/localflavor/sk/sk_districts.py:60 msgid "Rimavska Sobota" -msgstr "" +msgstr "Rimavska Sobota" #: contrib/localflavor/sk/sk_districts.py:61 msgid "Roznava" -msgstr "" +msgstr "Roznava" #: contrib/localflavor/sk/sk_districts.py:62 msgid "Ruzomberok" -msgstr "" +msgstr "Rużemberk" #: contrib/localflavor/sk/sk_districts.py:63 -#, fuzzy msgid "Sabinov" -msgstr "list" +msgstr "Sabinov" #: contrib/localflavor/sk/sk_districts.py:64 msgid "Senec" -msgstr "" +msgstr "Senec" #: contrib/localflavor/sk/sk_districts.py:65 -#, fuzzy msgid "Senica" -msgstr "Słoweński" +msgstr "Senica" #: contrib/localflavor/sk/sk_districts.py:66 -#, fuzzy msgid "Skalica" -msgstr "Galicyjski" +msgstr "Skalica" #: contrib/localflavor/sk/sk_districts.py:67 -#, fuzzy msgid "Snina" -msgstr "dziewięć" +msgstr "Snina" #: contrib/localflavor/sk/sk_districts.py:68 msgid "Sobrance" -msgstr "" +msgstr "Sobrance" #: contrib/localflavor/sk/sk_districts.py:69 msgid "Spisska Nova Ves" -msgstr "" +msgstr "Nowa Wieś Spiska" #: contrib/localflavor/sk/sk_districts.py:70 msgid "Stara Lubovna" -msgstr "" +msgstr "Stara Lubowla" #: contrib/localflavor/sk/sk_districts.py:71 msgid "Stropkov" -msgstr "" +msgstr "Stropkov" #: contrib/localflavor/sk/sk_districts.py:72 msgid "Svidnik" -msgstr "" +msgstr "Svidnik" #: contrib/localflavor/sk/sk_districts.py:73 -#, fuzzy msgid "Sala" -msgstr "Słowacki" +msgstr "Sala" #: contrib/localflavor/sk/sk_districts.py:74 msgid "Topolcany" -msgstr "" +msgstr "Topolczany" #: contrib/localflavor/sk/sk_districts.py:75 msgid "Trebisov" -msgstr "" +msgstr "Trebisov" #: contrib/localflavor/sk/sk_districts.py:76 -#, fuzzy msgid "Trencin" -msgstr "Francuski" +msgstr "Trenczyn" #: contrib/localflavor/sk/sk_districts.py:77 msgid "Trnava" -msgstr "" +msgstr "Trnawa" #: contrib/localflavor/sk/sk_districts.py:78 msgid "Turcianske Teplice" -msgstr "" +msgstr "Turcianske Teplice" #: contrib/localflavor/sk/sk_districts.py:79 msgid "Tvrdosin" -msgstr "" +msgstr "Twardoszyn" #: contrib/localflavor/sk/sk_districts.py:80 msgid "Velky Krtis" -msgstr "" +msgstr "Velky Krtis" #: contrib/localflavor/sk/sk_districts.py:81 msgid "Vranov nad Toplou" -msgstr "" +msgstr "Vranov nad Toplou" #: contrib/localflavor/sk/sk_districts.py:82 msgid "Zlate Moravce" -msgstr "" +msgstr "Zlate Moravce" #: contrib/localflavor/sk/sk_districts.py:83 msgid "Zvolen" -msgstr "" +msgstr "Zwoleń" #: contrib/localflavor/sk/sk_districts.py:84 msgid "Zarnovica" -msgstr "" +msgstr "Zarnovica" #: contrib/localflavor/sk/sk_districts.py:85 msgid "Ziar nad Hronom" -msgstr "" +msgstr "Ziar nad Hronom" #: contrib/localflavor/sk/sk_districts.py:86 msgid "Zilina" -msgstr "" +msgstr "Żylina" #: contrib/localflavor/sk/sk_regions.py:8 msgid "Banska Bystrica region" -msgstr "" +msgstr "Kraj bańskobystrzycki" #: contrib/localflavor/sk/sk_regions.py:9 msgid "Bratislava region" -msgstr "" +msgstr "Kraj bratysławski" #: contrib/localflavor/sk/sk_regions.py:10 msgid "Kosice region" -msgstr "" +msgstr "Kraj koszycki" #: contrib/localflavor/sk/sk_regions.py:11 msgid "Nitra region" -msgstr "" +msgstr "Kraj nitrzański" #: contrib/localflavor/sk/sk_regions.py:12 msgid "Presov region" -msgstr "" +msgstr "Kraj preszowski" #: contrib/localflavor/sk/sk_regions.py:13 msgid "Trencin region" -msgstr "" +msgstr "Kraj trenczyński" #: contrib/localflavor/sk/sk_regions.py:14 msgid "Trnava region" -msgstr "" +msgstr "Kraj trnawski" #: contrib/localflavor/sk/sk_regions.py:15 msgid "Zilina region" -msgstr "" +msgstr "Kraj żyliński" #: contrib/localflavor/uk/forms.py:21 msgid "Enter a valid postcode." @@ -3172,280 +3143,267 @@ msgstr "Wpisz poprawny kod pocztowy." #: contrib/localflavor/uk/uk_regions.py:11 msgid "Bedfordshire" -msgstr "" +msgstr "Bedfordshire" #: contrib/localflavor/uk/uk_regions.py:12 msgid "Buckinghamshire" -msgstr "" +msgstr "Buckinghamshire" #: contrib/localflavor/uk/uk_regions.py:14 msgid "Cheshire" -msgstr "" +msgstr "Cheshire" #: contrib/localflavor/uk/uk_regions.py:15 msgid "Cornwall and Isles of Scilly" -msgstr "" +msgstr "Kornwalia i wyspy Scilly" #: contrib/localflavor/uk/uk_regions.py:16 -#, fuzzy msgid "Cumbria" -msgstr "Kataloński" +msgstr "Cumbria" #: contrib/localflavor/uk/uk_regions.py:17 msgid "Derbyshire" -msgstr "" +msgstr "Derbyshire" #: contrib/localflavor/uk/uk_regions.py:18 -#, fuzzy msgid "Devon" -msgstr "Zaloguj się" +msgstr "Devon" #: contrib/localflavor/uk/uk_regions.py:19 -#, fuzzy msgid "Dorset" -msgstr "Usuń" +msgstr "Dorset" #: contrib/localflavor/uk/uk_regions.py:20 msgid "Durham" -msgstr "" +msgstr "Durham" #: contrib/localflavor/uk/uk_regions.py:21 msgid "East Sussex" -msgstr "" +msgstr "East Sussex" #: contrib/localflavor/uk/uk_regions.py:22 msgid "Essex" -msgstr "" +msgstr "Essex" #: contrib/localflavor/uk/uk_regions.py:23 msgid "Gloucestershire" -msgstr "" +msgstr "Gloucestershire" #: contrib/localflavor/uk/uk_regions.py:24 -#, fuzzy msgid "Greater London" -msgstr "Wielkopolskie" +msgstr "Wielki Londyn" #: contrib/localflavor/uk/uk_regions.py:25 -#, fuzzy msgid "Greater Manchester" -msgstr "Wielkopolskie" +msgstr "Greater Manchester" #: contrib/localflavor/uk/uk_regions.py:26 msgid "Hampshire" -msgstr "" +msgstr "Hampshire" #: contrib/localflavor/uk/uk_regions.py:27 msgid "Hertfordshire" -msgstr "" +msgstr "Hertfordshire" #: contrib/localflavor/uk/uk_regions.py:28 -#, fuzzy msgid "Kent" -msgstr "Koreański" +msgstr "Kent" #: contrib/localflavor/uk/uk_regions.py:29 msgid "Lancashire" -msgstr "" +msgstr "Lancashire" #: contrib/localflavor/uk/uk_regions.py:30 msgid "Leicestershire" -msgstr "" +msgstr "Leicestershire" #: contrib/localflavor/uk/uk_regions.py:31 msgid "Lincolnshire" -msgstr "" +msgstr "Lincolnshire" #: contrib/localflavor/uk/uk_regions.py:32 msgid "Merseyside" -msgstr "" +msgstr "Merseyside" #: contrib/localflavor/uk/uk_regions.py:33 msgid "Norfolk" -msgstr "" +msgstr "Norfolk" #: contrib/localflavor/uk/uk_regions.py:34 msgid "North Yorkshire" -msgstr "" +msgstr "North Yorkshire" #: contrib/localflavor/uk/uk_regions.py:35 msgid "Northamptonshire" -msgstr "" +msgstr "Northamptonshire" #: contrib/localflavor/uk/uk_regions.py:36 msgid "Northumberland" -msgstr "" +msgstr "Northumberland" #: contrib/localflavor/uk/uk_regions.py:37 msgid "Nottinghamshire" -msgstr "" +msgstr "Nottinghamshire" #: contrib/localflavor/uk/uk_regions.py:38 msgid "Oxfordshire" -msgstr "" +msgstr "Oxfordshire" #: contrib/localflavor/uk/uk_regions.py:39 msgid "Shropshire" -msgstr "" +msgstr "Shropshire" #: contrib/localflavor/uk/uk_regions.py:40 msgid "Somerset" -msgstr "" +msgstr "Somerset" #: contrib/localflavor/uk/uk_regions.py:41 msgid "South Yorkshire" -msgstr "" +msgstr "South Yorkshire" #: contrib/localflavor/uk/uk_regions.py:42 msgid "Staffordshire" -msgstr "" +msgstr "Staffordshire" #: contrib/localflavor/uk/uk_regions.py:43 msgid "Suffolk" -msgstr "" +msgstr "Suffolk" #: contrib/localflavor/uk/uk_regions.py:44 -#, fuzzy msgid "Surrey" -msgstr "Teraz:" +msgstr "Surrey" #: contrib/localflavor/uk/uk_regions.py:45 msgid "Tyne and Wear" -msgstr "" +msgstr "Tyne and Wear" #: contrib/localflavor/uk/uk_regions.py:46 msgid "Warwickshire" -msgstr "" +msgstr "Warwickshire" #: contrib/localflavor/uk/uk_regions.py:47 msgid "West Midlands" -msgstr "" +msgstr "West Midlands" #: contrib/localflavor/uk/uk_regions.py:48 msgid "West Sussex" -msgstr "" +msgstr "West Sussex" #: contrib/localflavor/uk/uk_regions.py:49 msgid "West Yorkshire" -msgstr "" +msgstr "West Yorkshire" #: contrib/localflavor/uk/uk_regions.py:50 msgid "Wiltshire" -msgstr "" +msgstr "Wiltshire" #: contrib/localflavor/uk/uk_regions.py:51 msgid "Worcestershire" -msgstr "" +msgstr "Worcestershire" #: contrib/localflavor/uk/uk_regions.py:55 msgid "County Antrim" -msgstr "" +msgstr "Hrabstwo Antrim" #: contrib/localflavor/uk/uk_regions.py:56 msgid "County Armagh" -msgstr "" +msgstr "Hrabstwo Armagh" #: contrib/localflavor/uk/uk_regions.py:57 msgid "County Down" -msgstr "" +msgstr "Hrabstwo Down" #: contrib/localflavor/uk/uk_regions.py:58 msgid "County Fermanagh" -msgstr "" +msgstr "Hrabstwo Fermanagh" #: contrib/localflavor/uk/uk_regions.py:59 msgid "County Londonderry" -msgstr "" +msgstr "Hrabstwo Londonderry" #: contrib/localflavor/uk/uk_regions.py:60 msgid "County Tyrone" -msgstr "" +msgstr "Hrabstwo Tyrone" #: contrib/localflavor/uk/uk_regions.py:64 msgid "Clwyd" -msgstr "" +msgstr "Clwyd" #: contrib/localflavor/uk/uk_regions.py:65 msgid "Dyfed" -msgstr "" +msgstr "Dyfed" #: contrib/localflavor/uk/uk_regions.py:66 msgid "Gwent" -msgstr "" +msgstr "Gwent" #: contrib/localflavor/uk/uk_regions.py:67 msgid "Gwynedd" -msgstr "" +msgstr "Gwynedd" #: contrib/localflavor/uk/uk_regions.py:68 msgid "Mid Glamorgan" -msgstr "" +msgstr "Mid Glamorgan" #: contrib/localflavor/uk/uk_regions.py:69 msgid "Powys" -msgstr "" +msgstr "Powys" #: contrib/localflavor/uk/uk_regions.py:70 msgid "South Glamorgan" -msgstr "" +msgstr "South Glamorgan" #: contrib/localflavor/uk/uk_regions.py:71 -#, fuzzy msgid "West Glamorgan" -msgstr "Zachodniopomorskie" +msgstr "West Glamorgan" #: contrib/localflavor/uk/uk_regions.py:75 -#, fuzzy msgid "Borders" -msgstr "Porządek:" +msgstr "Scottish Borders" #: contrib/localflavor/uk/uk_regions.py:76 -#, fuzzy msgid "Central Scotland" -msgstr "Wielkopolskie" +msgstr "Central Scotland" #: contrib/localflavor/uk/uk_regions.py:77 msgid "Dumfries and Galloway" -msgstr "" +msgstr "Dumfries and Galloway" #: contrib/localflavor/uk/uk_regions.py:78 -#, fuzzy msgid "Fife" -msgstr "Filtr" +msgstr "Fife" #: contrib/localflavor/uk/uk_regions.py:79 -#, fuzzy msgid "Grampian" -msgstr "Niemiecki" +msgstr "Grampian" #: contrib/localflavor/uk/uk_regions.py:80 msgid "Highland" -msgstr "" +msgstr "Highland" #: contrib/localflavor/uk/uk_regions.py:81 -#, fuzzy msgid "Lothian" -msgstr "Łotewski" +msgstr "Lothian" #: contrib/localflavor/uk/uk_regions.py:82 msgid "Orkney Islands" -msgstr "" +msgstr "Orkady" #: contrib/localflavor/uk/uk_regions.py:83 msgid "Shetland Islands" -msgstr "" +msgstr "Szetlandy" #: contrib/localflavor/uk/uk_regions.py:84 msgid "Strathclyde" -msgstr "" +msgstr "Strathclyde" #: contrib/localflavor/uk/uk_regions.py:85 msgid "Tayside" -msgstr "" +msgstr "Tayside" #: contrib/localflavor/uk/uk_regions.py:86 msgid "Western Isles" -msgstr "" +msgstr "Hebrydy Zewnętrzne" #: contrib/localflavor/uk/uk_regions.py:90 msgid "England" @@ -3480,45 +3438,40 @@ msgid "Enter a valid South African postal code" msgstr "Wpisz poprawny południowoafrykański kod pocztowy" #: contrib/localflavor/za/za_provinces.py:4 -#, fuzzy msgid "Eastern Cape" -msgstr "Nazwa użytkownika" +msgstr "Prowincja Przylądkowa Wshodnia" #: contrib/localflavor/za/za_provinces.py:5 -#, fuzzy msgid "Free State" -msgstr "data przyznania punktów" +msgstr "Wolne Państwo" #: contrib/localflavor/za/za_provinces.py:6 -#, fuzzy msgid "Gauteng" -msgstr "sier" +msgstr "Gauteng" #: contrib/localflavor/za/za_provinces.py:7 msgid "KwaZulu-Natal" -msgstr "" +msgstr "KwaZulu-Natal" #: contrib/localflavor/za/za_provinces.py:8 msgid "Limpopo" -msgstr "" +msgstr "Limpopo" #: contrib/localflavor/za/za_provinces.py:9 msgid "Mpumalanga" -msgstr "" +msgstr "Mpumalanga" #: contrib/localflavor/za/za_provinces.py:10 msgid "Northern Cape" -msgstr "" +msgstr "Prowincja Przylądkowa Północna" #: contrib/localflavor/za/za_provinces.py:11 -#, fuzzy msgid "North West" -msgstr "Nadrenia Północna-Westfalia" +msgstr "Prowincja Północno-Zachodnia" #: contrib/localflavor/za/za_provinces.py:12 -#, fuzzy msgid "Western Cape" -msgstr "Zachodniopomorskie" +msgstr "Prowincja Przylądkowa Zachodnia" #: contrib/redirects/models.py:7 msgid "redirect from" diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index 4f6662c970..b9fd9ab900 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -1,3 +1,11 @@ +import base64 +import md5 +import cPickle as pickle +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django import http, template from django.conf import settings from django.contrib.auth.models import User @@ -5,8 +13,6 @@ from django.contrib.auth import authenticate, login from django.shortcuts import render_to_response from django.utils.translation import ugettext_lazy, ugettext as _ from django.utils.safestring import mark_safe -import base64, datetime, md5 -import cPickle as pickle ERROR_MESSAGE = ugettext_lazy("Please enter a correct username and password. Note that both fields are case-sensitive.") LOGIN_FORM_KEY = 'this_is_the_login_form' @@ -104,4 +110,4 @@ def staff_member_required(view_func): else: return _display_login_form(request, ERROR_MESSAGE) - return _checklogin + return wraps(view_func)(_checklogin) diff --git a/django/contrib/auth/backends.py b/django/contrib/auth/backends.py index f79929e2d2..bd14c9b4b9 100644 --- a/django/contrib/auth/backends.py +++ b/django/contrib/auth/backends.py @@ -6,7 +6,7 @@ try: except NameError: from sets import Set as set # Python 2.3 fallback -class ModelBackend: +class ModelBackend(object): """ Authenticate against django.contrib.auth.models.User """ diff --git a/django/contrib/auth/decorators.py b/django/contrib/auth/decorators.py index f3f7f530ef..25bc20780e 100644 --- a/django/contrib/auth/decorators.py +++ b/django/contrib/auth/decorators.py @@ -1,3 +1,8 @@ +try: + from functools import wraps, update_wrapper +except ImportError: + from django.utils.functional import wraps, update_wrapper # Python 2.3, 2.4 fallback. + from django.contrib.auth import REDIRECT_FIELD_NAME from django.http import HttpResponseRedirect from django.utils.http import urlquote @@ -51,7 +56,7 @@ class _CheckLogin(object): self.test_func = test_func self.login_url = login_url self.redirect_field_name = redirect_field_name - self.__name__ = view_func.__name__ + update_wrapper(self, view_func) def __get__(self, obj, cls=None): view_func = self.view_func.__get__(obj, cls) diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py index e496ed1af8..25cef95acf 100644 --- a/django/contrib/contenttypes/generic.py +++ b/django/contrib/contenttypes/generic.py @@ -39,13 +39,19 @@ class GenericForeignKey(object): # content-type/object-id fields. if self.name in kwargs: value = kwargs.pop(self.name) - kwargs[self.ct_field] = self.get_content_type(value) + kwargs[self.ct_field] = self.get_content_type(obj=value) kwargs[self.fk_field] = value._get_pk_val() - def get_content_type(self, obj): + def get_content_type(self, obj=None, id=None): # Convenience function using get_model avoids a circular import when using this model ContentType = get_model("contenttypes", "contenttype") - return ContentType.objects.get_for_model(obj) + if obj: + return ContentType.objects.get_for_model(obj) + elif id: + return ContentType.objects.get_for_id(id) + else: + # This should never happen. I love comments like this, don't you? + raise Exception("Impossible arguments to GFK.get_content_type!") def __get__(self, instance, instance_type=None): if instance is None: @@ -55,8 +61,15 @@ class GenericForeignKey(object): return getattr(instance, self.cache_attr) except AttributeError: rel_obj = None - ct = getattr(instance, self.ct_field) - if ct: + + # Make sure to use ContentType.objects.get_for_id() to ensure that + # lookups are cached (see ticket #5570). This takes more code than + # the naive ``getattr(instance, self.ct_field)``, but has better + # performance when dealing with GFKs in loops and such. + f = self.model._meta.get_field(self.ct_field) + ct_id = getattr(instance, f.get_attname(), None) + if ct_id: + ct = self.get_content_type(id=ct_id) try: rel_obj = ct.get_object_for_this_type(pk=getattr(instance, self.fk_field)) except ObjectDoesNotExist: @@ -71,7 +84,7 @@ class GenericForeignKey(object): ct = None fk = None if value is not None: - ct = self.get_content_type(value) + ct = self.get_content_type(obj=value) fk = value._get_pk_val() setattr(instance, self.ct_field, ct) diff --git a/django/contrib/contenttypes/models.py b/django/contrib/contenttypes/models.py index 1413586254..4df1edcc75 100644 --- a/django/contrib/contenttypes/models.py +++ b/django/contrib/contenttypes/models.py @@ -2,25 +2,49 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ from django.utils.encoding import smart_unicode -CONTENT_TYPE_CACHE = {} class ContentTypeManager(models.Manager): + + # Cache to avoid re-looking up ContentType objects all over the place. + # This cache is shared by all the get_for_* methods. + _cache = {} + def get_for_model(self, model): """ - Returns the ContentType object for the given model, creating the - ContentType if necessary. + Returns the ContentType object for a given model, creating the + ContentType if necessary. Lookups are cached so that subsequent lookups + for the same model don't hit the database. """ opts = model._meta key = (opts.app_label, opts.object_name.lower()) try: - ct = CONTENT_TYPE_CACHE[key] + ct = self.__class__._cache[key] except KeyError: - # The smart_unicode() is needed around opts.verbose_name_raw because it might - # be a django.utils.functional.__proxy__ object. - ct, created = self.model._default_manager.get_or_create(app_label=key[0], - model=key[1], defaults={'name': smart_unicode(opts.verbose_name_raw)}) - CONTENT_TYPE_CACHE[key] = ct + # Load or create the ContentType entry. The smart_unicode() is + # needed around opts.verbose_name_raw because name_raw might be a + # django.utils.functional.__proxy__ object. + ct, created = self.get_or_create( + app_label = opts.app_label, + model = opts.object_name.lower(), + defaults = {'name': smart_unicode(opts.verbose_name_raw)}, + ) + self._add_to_cache(ct) + return ct - + + def get_for_id(self, id): + """ + Lookup a ContentType by ID. Uses the same shared cache as get_for_model + (though ContentTypes are obviously not created on-the-fly by get_by_id). + """ + try: + ct = self.__class__._cache[id] + except KeyError: + # This could raise a DoesNotExist; that's correct behavior and will + # make sure that only correct ctypes get stored in the cache dict. + ct = self.get(pk=id) + self._add_to_cache(ct) + return ct + def clear_cache(self): """ Clear out the content-type cache. This needs to happen during database @@ -28,14 +52,21 @@ class ContentTypeManager(models.Manager): django.contrib.contenttypes.management.update_contenttypes for where this gets called). """ - global CONTENT_TYPE_CACHE - CONTENT_TYPE_CACHE = {} + self.__class__._cache.clear() + + def _add_to_cache(self, ct): + """Insert a ContentType into the cache.""" + model = ct.model_class() + key = (model._meta.app_label, model._meta.object_name.lower()) + self.__class__._cache[key] = ct + self.__class__._cache[ct.id] = ct class ContentType(models.Model): name = models.CharField(max_length=100) app_label = models.CharField(max_length=100) model = models.CharField(_('python model class name'), max_length=100) objects = ContentTypeManager() + class Meta: verbose_name = _('content type') verbose_name_plural = _('content types') diff --git a/django/contrib/contenttypes/tests.py b/django/contrib/contenttypes/tests.py new file mode 100644 index 0000000000..148edfcbbb --- /dev/null +++ b/django/contrib/contenttypes/tests.py @@ -0,0 +1,47 @@ +""" +Make sure that the content type cache (see ContentTypeManager) works correctly. +Lookups for a particular content type -- by model or by ID -- should hit the +database only on the first lookup. + +First, let's make sure we're dealing with a blank slate (and that DEBUG is on so +that queries get logged):: + + >>> from django.conf import settings + >>> settings.DEBUG = True + + >>> from django.contrib.contenttypes.models import ContentType + >>> ContentType.objects.clear_cache() + + >>> from django import db + >>> db.reset_queries() + +At this point, a lookup for a ContentType should hit the DB:: + + >>> ContentType.objects.get_for_model(ContentType) + + + >>> len(db.connection.queries) + 1 + +A second hit, though, won't hit the DB, nor will a lookup by ID:: + + >>> ct = ContentType.objects.get_for_model(ContentType) + >>> len(db.connection.queries) + 1 + >>> ContentType.objects.get_for_id(ct.id) + + >>> len(db.connection.queries) + 1 + +Once we clear the cache, another lookup will again hit the DB:: + + >>> ContentType.objects.clear_cache() + >>> ContentType.objects.get_for_model(ContentType) + + >>> len(db.connection.queries) + 2 + +Don't forget to reset DEBUG! + + >>> settings.DEBUG = False +""" \ No newline at end of file diff --git a/django/contrib/databrowse/plugins/calendars.py b/django/contrib/databrowse/plugins/calendars.py index 5d5a020e6d..a798868b55 100644 --- a/django/contrib/databrowse/plugins/calendars.py +++ b/django/contrib/databrowse/plugins/calendars.py @@ -8,8 +8,6 @@ from django.utils.translation import get_date_formats from django.utils.encoding import force_unicode from django.utils.safestring import mark_safe from django.views.generic import date_based -import datetime -import time class CalendarPlugin(DatabrowsePlugin): def __init__(self, field_names=None): diff --git a/django/contrib/databrowse/plugins/fieldchoices.py b/django/contrib/databrowse/plugins/fieldchoices.py index dea6bac700..0a58e7a6ab 100644 --- a/django/contrib/databrowse/plugins/fieldchoices.py +++ b/django/contrib/databrowse/plugins/fieldchoices.py @@ -7,8 +7,6 @@ from django.utils.text import capfirst from django.utils.encoding import smart_str, force_unicode from django.utils.safestring import mark_safe from django.views.generic import date_based -import datetime -import time import urllib class FieldChoicePlugin(DatabrowsePlugin): diff --git a/django/contrib/databrowse/views.py b/django/contrib/databrowse/views.py index d493f9dad3..c17aad5d85 100644 --- a/django/contrib/databrowse/views.py +++ b/django/contrib/databrowse/views.py @@ -2,8 +2,6 @@ from django.db.models import FieldDoesNotExist, DateTimeField from django.http import Http404 from django.shortcuts import render_to_response from django.contrib.databrowse.datastructures import EasyModel, EasyChoice -import datetime -import time ########### # CHOICES # diff --git a/django/contrib/formtools/preview.py b/django/contrib/formtools/preview.py index bd0ce5cbb7..66583dde95 100644 --- a/django/contrib/formtools/preview.py +++ b/django/contrib/formtools/preview.py @@ -3,7 +3,6 @@ Formtools Preview application. """ from django.conf import settings -from django.core.exceptions import ImproperlyConfigured from django.http import Http404 from django.shortcuts import render_to_response from django.template.context import RequestContext diff --git a/django/contrib/formtools/tests.py b/django/contrib/formtools/tests.py index a5a9222c46..feda6e041e 100644 --- a/django/contrib/formtools/tests.py +++ b/django/contrib/formtools/tests.py @@ -3,8 +3,6 @@ from django.contrib.formtools import preview from django import http from django.conf import settings from django.test import TestCase -from django.test.client import Client - success_string = "Done was called!" test_data = {'field1': u'foo', @@ -88,6 +86,3 @@ class PreviewTests(TestCase): response = self.client.post('/test1/', test_data) self.assertEqual(response.content, success_string) - -if __name__ == '__main__': - unittest.main() diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index 4aa5a32e3f..05d322363b 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -2,8 +2,7 @@ from django.utils.translation import ungettext, ugettext as _ from django.utils.encoding import force_unicode from django import template from django.template import defaultfilters -from django.conf import settings -from datetime import date, timedelta +from datetime import date import re register = template.Library() diff --git a/django/contrib/localflavor/ar/forms.py b/django/contrib/localflavor/ar/forms.py index 7827698e77..b23923b47a 100644 --- a/django/contrib/localflavor/ar/forms.py +++ b/django/contrib/localflavor/ar/forms.py @@ -7,7 +7,6 @@ from django.newforms import ValidationError from django.newforms.fields import RegexField, CharField, Select, EMPTY_VALUES from django.utils.encoding import smart_unicode from django.utils.translation import ugettext -import re class ARProvinceSelect(Select): """ diff --git a/django/contrib/localflavor/generic/forms.py b/django/contrib/localflavor/generic/forms.py index a6d813723c..a5e431e4b3 100644 --- a/django/contrib/localflavor/generic/forms.py +++ b/django/contrib/localflavor/generic/forms.py @@ -1,38 +1,38 @@ -from django import newforms as forms - -DEFAULT_DATE_INPUT_FORMATS = ( - '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' - '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -) - -DEFAULT_DATETIME_INPUT_FORMATS = ( - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%Y-%m-%d', # '2006-10-25' - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%Y', # '25/10/2006' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M', # '25/10/06 14:30' - '%d/%m/%y', # '25/10/06' -) - -class DateField(forms.DateField): - """ - A date input field which uses non-US date input formats by default. - """ - def __init__(self, input_formats=None, *args, **kwargs): - input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS - super(DateField, self).__init__(input_formats=input_formats, *args, **kwargs) - -class DateTimeField(forms.DateTimeField): - """ - A date and time input field which uses non-US date and time input formats - by default. - """ - def __init__(self, input_formats=None, *args, **kwargs): - input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS - super(DateTimeField, self).__init__(input_formats=input_formats, *args, **kwargs) +from django import newforms as forms + +DEFAULT_DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' + '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' + '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) + +DEFAULT_DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' +) + +class DateField(forms.DateField): + """ + A date input field which uses non-US date input formats by default. + """ + def __init__(self, input_formats=None, *args, **kwargs): + input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS + super(DateField, self).__init__(input_formats=input_formats, *args, **kwargs) + +class DateTimeField(forms.DateTimeField): + """ + A date and time input field which uses non-US date and time input formats + by default. + """ + def __init__(self, input_formats=None, *args, **kwargs): + input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS + super(DateTimeField, self).__init__(input_formats=input_formats, *args, **kwargs) diff --git a/django/contrib/localflavor/jp/forms.py b/django/contrib/localflavor/jp/forms.py index 13083aab6e..d726f822d7 100644 --- a/django/contrib/localflavor/jp/forms.py +++ b/django/contrib/localflavor/jp/forms.py @@ -7,8 +7,6 @@ from django.newforms import ValidationError from django.utils.translation import ugettext from django.newforms.fields import RegexField, Select -import re - class JPPostalCodeField(RegexField): """ A form field that validates its input is a Japanese postcode. diff --git a/django/contrib/sessions/models.py b/django/contrib/sessions/models.py index dfa7bed226..4769e63b1b 100644 --- a/django/contrib/sessions/models.py +++ b/django/contrib/sessions/models.py @@ -1,10 +1,5 @@ -import os -import sys -import time -import datetime import base64 import md5 -import random import cPickle as pickle from django.db import models diff --git a/django/contrib/webdesign/tests.py b/django/contrib/webdesign/tests.py index da9237a43b..d155620902 100644 --- a/django/contrib/webdesign/tests.py +++ b/django/contrib/webdesign/tests.py @@ -14,7 +14,6 @@ u'lorem ipsum dolor' """ from django.contrib.webdesign.lorem_ipsum import * -import datetime if __name__ == '__main__': import doctest diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py index 7f68946f3d..a81bec322f 100644 --- a/django/core/handlers/base.py +++ b/django/core/handlers/base.py @@ -109,7 +109,8 @@ class BaseHandler(object): except exceptions.PermissionDenied: return http.HttpResponseForbidden('

            Permission denied

            ') except SystemExit: - pass # See http://code.djangoproject.com/ticket/1023 + # Allow sys.exit() to actually exit. See tickets #1023 and #4701 + raise except: # Handle everything else, including SuspiciousOperation, etc. # Get the exception info now, in case another exception is thrown later. exc_info = sys.exc_info() diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index ebf79295e0..abab399009 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -6,7 +6,7 @@ from django.core import signals from django.core.handlers.base import BaseHandler from django.dispatch import dispatcher from django.utils import datastructures -from django.utils.encoding import force_unicode +from django.utils.encoding import force_unicode, smart_str # NOTE: do *not* import settings (or any module which eventually imports # settings) until after ModPythonHandler has been called; otherwise os.environ @@ -36,8 +36,9 @@ class ModPythonRequest(http.HttpRequest): meta = pformat(self.META) except: meta = '' - return '' % \ - (self.path, get, post, cookies, meta) + return smart_str(u'' % + (self.path, unicode(get), unicode(post), + unicode(cookies), unicode(meta))) def get_full_path(self): return '%s%s' % (self.path, self._req.args and ('?' + self._req.args) or '') diff --git a/django/core/mail.py b/django/core/mail.py index 153dcb6e63..72343cb4df 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -318,8 +318,8 @@ def send_mail(subject, message, from_email, recipient_list, fail_silently=False, If auth_user is None, the EMAIL_HOST_USER setting is used. If auth_password is None, the EMAIL_HOST_PASSWORD setting is used. - NOTE: This method is deprecated. It exists for backwards compatibility. - New code should use the EmailMessage class directly. + Note: The API for this method is frozen. New code wanting to extend the + functionality should use the EmailMessage class directly. """ connection = SMTPConnection(username=auth_user, password=auth_password, fail_silently=fail_silently) @@ -335,8 +335,8 @@ def send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password If auth_user is None, the EMAIL_HOST_USER setting is used. If auth_password is None, the EMAIL_HOST_PASSWORD setting is used. - NOTE: This method is deprecated. It exists for backwards compatibility. - New code should use the EmailMessage class directly. + Note: The API for this method is frozen. New code wanting to extend the + functionality should use the EmailMessage class directly. """ connection = SMTPConnection(username=auth_user, password=auth_password, fail_silently=fail_silently) diff --git a/django/core/management/color.py b/django/core/management/color.py index 40fd4e7fdd..337e0f2e68 100644 --- a/django/core/management/color.py +++ b/django/core/management/color.py @@ -6,10 +6,22 @@ import sys from django.utils import termcolors +def supports_color(): + """ + Returns True if the running system's terminal supports color, and False + otherwise. + """ + unsupported_platform = (sys.platform in ('win32', 'Pocket PC') + or sys.platform.startswith('java')) + # isatty is not always implemented, #6223. + is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty() + if unsupported_platform or not is_a_tty: + return False + return True + def color_style(): """Returns a Style object with the Django color scheme.""" - if (sys.platform == 'win32' or sys.platform == 'Pocket PC' - or sys.platform.startswith('java') or not sys.stdout.isatty()): + if not supports_color(): return no_style() class dummy: pass style = dummy() diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index e95be6b8d7..d06b131d6f 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -30,7 +30,8 @@ class Command(BaseCommand): show_traceback = options.get('traceback', False) # Keep a count of the installed objects and fixtures - count = [0, 0] + fixture_count = 0 + object_count = 0 models = set() humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path' @@ -65,7 +66,12 @@ class Command(BaseCommand): else: print "Skipping fixture '%s': %s is not a known serialization format" % (fixture_name, format) - for fixture_dir in app_fixtures + list(settings.FIXTURE_DIRS) + ['']: + if os.path.isabs(fixture_name): + fixture_dirs = [fixture_name] + else: + fixture_dirs = app_fixtures + list(settings.FIXTURE_DIRS) + [''] + + for fixture_dir in fixture_dirs: if verbosity > 1: print "Checking %s for fixtures..." % humanize(fixture_dir) @@ -86,14 +92,14 @@ class Command(BaseCommand): transaction.leave_transaction_management() return else: - count[1] += 1 + fixture_count += 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 + object_count += 1 models.add(obj.object.__class__) obj.save() label_found = True @@ -102,10 +108,12 @@ class Command(BaseCommand): transaction.rollback() transaction.leave_transaction_management() if show_traceback: - raise - sys.stderr.write( - self.style.ERROR("Problem installing fixture '%s': %s\n" % - (full_path, str(e)))) + import traceback + traceback.print_exc() + else: + sys.stderr.write( + self.style.ERROR("Problem installing fixture '%s': %s\n" % + (full_path, str(e)))) return fixture.close() except: @@ -113,7 +121,7 @@ class Command(BaseCommand): print "No %s fixture '%s' in %s." % \ (format, fixture_name, humanize(fixture_dir)) - if count[0] > 0: + if object_count > 0: sequence_sql = connection.ops.sequence_reset_sql(self.style, models) if sequence_sql: if verbosity > 1: @@ -124,9 +132,9 @@ class Command(BaseCommand): transaction.commit() transaction.leave_transaction_management() - if count[0] == 0: + if object_count == 0: if verbosity >= 2: print "No fixtures found." else: if verbosity > 0: - print "Installed %d object(s) from %d fixture(s)" % tuple(count) + print "Installed %d object(s) from %d fixture(s)" % (object_count, fixture_count) diff --git a/django/core/management/commands/syncdb.py b/django/core/management/commands/syncdb.py index 0f21130f7a..8017ed832f 100644 --- a/django/core/management/commands/syncdb.py +++ b/django/core/management/commands/syncdb.py @@ -67,6 +67,8 @@ class Command(NoArgsCommand): created_models.add(model) for refto, refs in references.items(): pending_references.setdefault(refto, []).extend(refs) + if refto in seen_models: + sql.extend(sql_for_pending_references(refto, self.style, pending_references)) sql.extend(sql_for_pending_references(model, self.style, pending_references)) if verbosity >= 1: print "Creating table %s" % model._meta.db_table diff --git a/django/core/management/sql.py b/django/core/management/sql.py index 15bffce26b..ab3a7b64c5 100644 --- a/django/core/management/sql.py +++ b/django/core/management/sql.py @@ -90,6 +90,8 @@ def sql_create(app, style): final_output.extend(output) for refto, refs in references.items(): pending_references.setdefault(refto, []).extend(refs) + if refto in known_models: + final_output.extend(sql_for_pending_references(refto, style, pending_references)) final_output.extend(sql_for_pending_references(model, style, pending_references)) # Keep track of the fact that we've created the table for this model. known_models.add(model) diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py index e17b821f52..20797c02f6 100644 --- a/django/core/serializers/json.py +++ b/django/core/serializers/json.py @@ -4,7 +4,6 @@ Serialize data to/from JSON import datetime from django.utils import simplejson -from django.utils.simplejson import decoder from django.core.serializers.python import Serializer as PythonSerializer from django.core.serializers.python import Deserializer as PythonDeserializer try: diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py index 4c32a9686f..58cf59bed9 100644 --- a/django/core/serializers/pyyaml.py +++ b/django/core/serializers/pyyaml.py @@ -4,7 +4,6 @@ YAML serializer. Requires PyYaml (http://pyyaml.org/), but that's checked for in __init__. """ -import datetime from django.db import models from django.core.serializers.python import Serializer as PythonSerializer from django.core.serializers.python import Deserializer as PythonDeserializer diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index ba3e9efda8..697dcd3a67 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -21,7 +21,6 @@ if (version < (1,2,1) or (version[:3] == (1, 2, 1) and from MySQLdb.converters import conversions from MySQLdb.constants import FIELD_TYPE -import types import re # Raise exceptions for database warnings if DEBUG is on diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py index 20392b238e..15ca957bac 100644 --- a/django/db/backends/postgresql/operations.py +++ b/django/db/backends/postgresql/operations.py @@ -27,6 +27,11 @@ class DatabaseOperations(BaseDatabaseOperations): def deferrable_sql(self): return " DEFERRABLE INITIALLY DEFERRED" + def field_cast_sql(self, db_type): + if db_type == 'inet': + return 'HOST(%s)' + return '%s' + def last_insert_id(self, cursor, table_name, pk_name): cursor.execute("SELECT CURRVAL('\"%s_%s_seq\"')" % (table_name, pk_name)) return cursor.fetchone()[0] diff --git a/django/db/models/base.py b/django/db/models/base.py index 8aec8eda0a..16fa4f8773 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -132,6 +132,9 @@ class Model(object): def __ne__(self, other): return not self.__eq__(other) + def __hash__(self): + return hash(self._get_pk_val()) + def __init__(self, *args, **kwargs): dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs) diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index a41217fef0..e96ba8e48f 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -226,7 +226,11 @@ class Field(object): value = int(value) except ValueError: raise ValueError("The __year lookup type requires an integer argument") - return ['%s-01-01 00:00:00' % value, '%s-12-31 23:59:59.999999' % value] + if settings.DATABASE_ENGINE == 'sqlite3': + first = '%s-01-01' + else: + first = '%s-01-01 00:00:00' + return [first % value, '%s-12-31 23:59:59.999999' % value] raise TypeError("Field has invalid lookup: %s" % lookup_type) def has_default(self): @@ -445,6 +449,9 @@ class BooleanField(Field): kwargs['blank'] = True Field.__init__(self, *args, **kwargs) + def get_internal_type(self): + return "BooleanField" + def to_python(self, value): if value in (True, False): return value if value in ('t', 'True', '1'): return True @@ -463,6 +470,9 @@ class CharField(Field): def get_manipulator_field_objs(self): return [oldforms.TextField] + def get_internal_type(self): + return "CharField" + def to_python(self, value): if isinstance(value, basestring): return value @@ -493,6 +503,9 @@ class DateField(Field): kwargs['blank'] = True Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "DateField" + def to_python(self, value): if value is None: return value @@ -562,6 +575,9 @@ class DateField(Field): return super(DateField, self).formfield(**defaults) class DateTimeField(DateField): + def get_internal_type(self): + return "DateTimeField" + def to_python(self, value): if value is None: return value @@ -632,6 +648,9 @@ class DecimalField(Field): self.max_digits, self.decimal_places = max_digits, decimal_places Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "DecimalField" + def to_python(self, value): if value is None: return value @@ -691,9 +710,6 @@ class EmailField(CharField): kwargs['max_length'] = kwargs.get('max_length', 75) CharField.__init__(self, *args, **kwargs) - def get_internal_type(self): - return "CharField" - def get_manipulator_field_objs(self): return [oldforms.EmailField] @@ -711,6 +727,9 @@ class FileField(Field): kwargs['max_length'] = kwargs.get('max_length', 100) Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "FileField" + def get_db_prep_save(self, value): "Returns field's value prepared for saving into a database." # Need to convert UploadedFile objects provided via a form to unicode for database insertion @@ -820,12 +839,18 @@ class FilePathField(Field): def get_manipulator_field_objs(self): return [curry(oldforms.FilePathField, path=self.path, match=self.match, recursive=self.recursive)] + def get_internal_type(self): + return "FilePathField" + class FloatField(Field): empty_strings_allowed = False def get_manipulator_field_objs(self): return [oldforms.FloatField] + def get_internal_type(self): + return "FloatField" + def formfield(self, **kwargs): defaults = {'form_class': forms.FloatField} defaults.update(kwargs) @@ -848,6 +873,9 @@ class ImageField(FileField): if not self.height_field: setattr(cls, 'get_%s_height' % self.name, curry(cls._get_FIELD_height, field=self)) + def get_internal_type(self): + return "ImageField" + 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 @@ -870,6 +898,9 @@ class IntegerField(Field): def get_manipulator_field_objs(self): return [oldforms.IntegerField] + def get_internal_type(self): + return "IntegerField" + def formfield(self, **kwargs): defaults = {'form_class': forms.IntegerField} defaults.update(kwargs) @@ -884,6 +915,9 @@ class IPAddressField(Field): def get_manipulator_field_objs(self): return [oldforms.IPAddressField] + def get_internal_type(self): + return "IPAddressField" + def validate(self, field_data, all_data): validators.isValidIPAddress4(field_data, None) @@ -898,6 +932,9 @@ class NullBooleanField(Field): kwargs['null'] = True Field.__init__(self, *args, **kwargs) + def get_internal_type(self): + return "NullBooleanField" + def to_python(self, value): if value in (None, True, False): return value if value in ('None'): return None @@ -921,6 +958,9 @@ class PhoneNumberField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PhoneNumberField] + def get_internal_type(self): + return "PhoneNumberField" + def validate(self, field_data, all_data): validators.isValidPhone(field_data, all_data) @@ -934,6 +974,9 @@ class PositiveIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PositiveIntegerField] + def get_internal_type(self): + return "PositiveIntegerField" + def formfield(self, **kwargs): defaults = {'min_value': 0} defaults.update(kwargs) @@ -943,6 +986,9 @@ class PositiveSmallIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PositiveSmallIntegerField] + def get_internal_type(self): + return "PositiveSmallIntegerField" + def formfield(self, **kwargs): defaults = {'min_value': 0} defaults.update(kwargs) @@ -957,14 +1003,23 @@ class SlugField(CharField): kwargs['db_index'] = True super(SlugField, self).__init__(*args, **kwargs) + def get_internal_type(self): + return "SlugField" + class SmallIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.SmallIntegerField] + def get_internal_type(self): + return "SmallIntegerField" + class TextField(Field): def get_manipulator_field_objs(self): return [oldforms.LargeTextField] + def get_internal_type(self): + return "TextField" + def formfield(self, **kwargs): defaults = {'widget': forms.Textarea} defaults.update(kwargs) @@ -978,6 +1033,9 @@ class TimeField(Field): kwargs['editable'] = False Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "TimeField" + def get_db_prep_lookup(self, lookup_type, value): if settings.DATABASE_ENGINE == 'oracle': # Oracle requires a date in order to parse. @@ -1042,9 +1100,6 @@ class URLField(CharField): def get_manipulator_field_objs(self): return [oldforms.URLField] - def get_internal_type(self): - return "CharField" - def formfield(self, **kwargs): defaults = {'form_class': forms.URLField, 'verify_exists': self.verify_exists} defaults.update(kwargs) @@ -1054,6 +1109,9 @@ class USStateField(Field): def get_manipulator_field_objs(self): return [oldforms.USStateField] + def get_internal_type(self): + return "USStateField" + def formfield(self, **kwargs): from django.contrib.localflavor.us.forms import USStateSelect defaults = {'widget': USStateSelect} @@ -1065,9 +1123,6 @@ class XMLField(TextField): self.schema_path = schema_path Field.__init__(self, verbose_name, name, **kwargs) - def get_internal_type(self): - return "TextField" - def get_manipulator_field_objs(self): return [curry(oldforms.XMLLargeTextField, schema_path=self.schema_path)] @@ -1078,8 +1133,5 @@ class OrderingField(IntegerField): kwargs['null'] = True IntegerField.__init__(self, **kwargs ) - def get_internal_type(self): - return "IntegerField" - def get_manipulator_fields(self, opts, manipulator, change, name_prefix='', rel=False, follow=True): return [oldforms.HiddenField(name_prefix + self.name)] diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 2bd31c982e..d02e8b424d 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -23,26 +23,64 @@ RECURSIVE_RELATIONSHIP_CONSTANT = 'self' pending_lookups = {} -def add_lookup(rel_cls, field): - name = field.rel.to - module = rel_cls.__module__ - key = (module, name) - # Has the model already been loaded? - # If so, resolve the string reference right away - model = get_model(rel_cls._meta.app_label, field.rel.to, False) +def add_lazy_relation(cls, field, relation): + """ + Adds a lookup on ``cls`` when a related field is defined using a string, + i.e.:: + + class MyModel(Model): + fk = ForeignKey("AnotherModel") + + This string can be: + + * RECURSIVE_RELATIONSHIP_CONSTANT (i.e. "self") to indicate a recursive + relation. + + * The name of a model (i.e "AnotherModel") to indicate another model in + the same app. + + * An app-label and model name (i.e. "someapp.AnotherModel") to indicate + another model in a different app. + + If the other model hasn't yet been loaded -- almost a given if you're using + lazy relationships -- then the relation won't be set up until the + class_prepared signal fires at the end of model initialization. + """ + # Check for recursive relations + if relation == RECURSIVE_RELATIONSHIP_CONSTANT: + app_label = cls._meta.app_label + model_name = cls.__name__ + + else: + # Look for an "app.Model" relation + try: + app_label, model_name = relation.split(".") + except ValueError: + # If we can't split, assume a model in current app + app_label = cls._meta.app_label + model_name = relation + + # Try to look up the related model, and if it's already loaded resolve the + # string right away. If get_model returns None, it means that the related + # model isn't loaded yet, so we need to pend the relation until the class + # is prepared. + model = get_model(app_label, model_name, False) if model: field.rel.to = model - field.do_related_class(model, rel_cls) + field.do_related_class(model, cls) else: - # Mark the related field for later lookup - pending_lookups.setdefault(key, []).append((rel_cls, field)) - + key = (app_label, model_name) + value = (cls, field) + pending_lookups.setdefault(key, []).append(value) + def do_pending_lookups(sender): - other_cls = sender - key = (other_cls.__module__, other_cls.__name__) - for rel_cls, field in pending_lookups.setdefault(key, []): - field.rel.to = other_cls - field.do_related_class(other_cls, rel_cls) + """ + Handle any pending relations to the sending model. Sent from class_prepared. + """ + key = (sender._meta.app_label, sender.__name__) + for cls, field in pending_lookups.pop(key, []): + field.rel.to = sender + field.do_related_class(sender, cls) dispatcher.connect(do_pending_lookups, signal=signals.class_prepared) @@ -66,9 +104,7 @@ class RelatedField(object): sup.contribute_to_class(cls, name) other = self.rel.to if isinstance(other, basestring): - if other == RECURSIVE_RELATIONSHIP_CONSTANT: - self.rel.to = cls.__name__ - add_lookup(cls, self) + add_lazy_relation(cls, self, other) else: self.do_related_class(other, cls) diff --git a/django/http/__init__.py b/django/http/__init__.py index 69e9d51204..5df734cceb 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -3,23 +3,25 @@ from Cookie import SimpleCookie from pprint import pformat from urllib import urlencode from urlparse import urljoin -from django.utils.datastructures import MultiValueDict, FileDict -from django.utils.encoding import smart_str, iri_to_uri, force_unicode -from utils import * - -RESERVED_CHARS="!*'();:@&=+$,/?%#[]" - try: # The mod_python version is more efficient, so try importing it first. from mod_python.util import parse_qsl except ImportError: from cgi import parse_qsl +from django.utils.datastructures import MultiValueDict, FileDict +from django.utils.encoding import smart_str, iri_to_uri, force_unicode + +from utils import * + +RESERVED_CHARS="!*'();:@&=+$,/?%#[]" + + class Http404(Exception): pass class HttpRequest(object): - "A basic HTTP request" + """A basic HTTP request.""" # The encoding used in GET/POST dicts. None means use default setting. _encoding = None @@ -46,7 +48,7 @@ class HttpRequest(object): __contains__ = has_key def get_host(self): - "Returns the HTTP host using the environment or request headers." + """Returns the HTTP host using the environment or request headers.""" # We try three options, in order of decreasing preference. if 'HTTP_X_FORWARDED_HOST' in self.META: host = self.META['HTTP_X_FORWARDED_HOST'] @@ -98,7 +100,7 @@ class HttpRequest(object): encoding = property(_get_encoding, _set_encoding) def parse_file_upload(header_dict, post_data): - "Returns a tuple of (POST QueryDict, FILES MultiValueDict)" + """Returns a tuple of (POST QueryDict, FILES MultiValueDict).""" import email, email.Message from cgi import parse_header raw_message = '\r\n'.join(['%s:%s' % pair for pair in header_dict.items()]) @@ -130,6 +132,7 @@ def parse_file_upload(header_dict, post_data): POST.appendlist(name_dict['name'], submessage.get_payload()) return POST, FILES + class QueryDict(MultiValueDict): """ A specialized MultiValueDict that takes a query string when initialized. @@ -148,12 +151,13 @@ class QueryDict(MultiValueDict): self.encoding = encoding self._mutable = True for key, value in parse_qsl((query_string or ''), True): # keep_blank_values=True - self.appendlist(force_unicode(key, encoding, errors='replace'), force_unicode(value, encoding, errors='replace')) + self.appendlist(force_unicode(key, encoding, errors='replace'), + force_unicode(value, encoding, errors='replace')) self._mutable = mutable def _assert_mutable(self): if not self._mutable: - raise AttributeError, "This QueryDict instance is immutable" + raise AttributeError("This QueryDict instance is immutable") def __setitem__(self, key, value): self._assert_mutable() @@ -171,7 +175,7 @@ class QueryDict(MultiValueDict): dict.__setitem__(result, key, value) return result - def __deepcopy__(self, memo={}): + def __deepcopy__(self, memo): import copy result = self.__class__('', mutable=True) memo[id(self)] = result @@ -222,8 +226,8 @@ class QueryDict(MultiValueDict): return MultiValueDict.setdefault(self, key, default) def copy(self): - "Returns a mutable copy of this object." - return self.__deepcopy__() + """Returns a mutable copy of this object.""" + return self.__deepcopy__({}) def urlencode(self): output = [] @@ -243,7 +247,7 @@ def parse_cookie(cookie): return cookiedict class HttpResponse(object): - "A basic HTTP response, with content and dictionary-accessed headers" + """A basic HTTP response, with content and dictionary-accessed headers.""" status_code = 200 @@ -272,13 +276,13 @@ class HttpResponse(object): self._headers = {'content-type': ('Content-Type', content_type)} def __str__(self): - "Full HTTP message, including headers" + """Full HTTP message, including headers.""" return '\n'.join(['%s: %s' % (key, value) for key, value in self._headers.values()]) \ + '\n\n' + self.content def _convert_to_ascii(self, *values): - "Convert all values to ascii strings" + """Converts all values to ascii strings.""" for value in values: if isinstance(value, unicode): try: @@ -303,7 +307,7 @@ class HttpResponse(object): return self._headers[header.lower()][1] def has_header(self, header): - "Case-insensitive check for a header" + """Case-insensitive check for a header.""" return self._headers.has_key(header.lower()) __contains__ = has_header @@ -314,16 +318,23 @@ class HttpResponse(object): def get(self, header, alternate): return self._headers.get(header.lower(), (None, alternate))[1] - def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None): + def set_cookie(self, key, value='', max_age=None, expires=None, path='/', + domain=None, secure=False): self.cookies[key] = value - for var in ('max_age', 'path', 'domain', 'secure', 'expires'): - val = locals()[var] - if val is not None: - self.cookies[key][var.replace('_', '-')] = val + if max_age is not None: + self.cookies[key]['max-age'] = max_age + if expires is not None: + self.cookies[key]['expires'] = expires + if path is not None: + self.cookies[key]['path'] = path + if domain is not None: + self.cookies[key]['domain'] = domain + if secure: + self.cookies[key]['secure'] = True def delete_cookie(self, key, path='/', domain=None): self.set_cookie(key, max_age=0, path=path, domain=domain, - expires='Thu, 01-Jan-1970 00:00:00 GMT') + expires='Thu, 01-Jan-1970 00:00:00 GMT') def _get_content(self): if self.has_header('Content-Encoding'): @@ -354,7 +365,7 @@ class HttpResponse(object): # See http://docs.python.org/lib/bltin-file-objects.html def write(self, content): if not self._is_string: - raise Exception, "This %s instance is not writable" % self.__class__ + raise Exception("This %s instance is not writable" % self.__class__) self._container.append(content) def flush(self): @@ -362,7 +373,7 @@ class HttpResponse(object): def tell(self): if not self._is_string: - raise Exception, "This %s instance cannot tell its position" % self.__class__ + raise Exception("This %s instance cannot tell its position" % self.__class__) return sum([len(chunk) for chunk in self._container]) class HttpResponseRedirect(HttpResponse): @@ -419,7 +430,7 @@ def get_host(request): # this slightly more restricted function. def str_to_unicode(s, encoding): """ - Convert basestring objects to unicode, using the given encoding. Illegaly + Converts basestring objects to unicode, using the given encoding. Illegally encoded input characters are replaced with Unicode "unknown" codepoint (\ufffd). @@ -429,4 +440,3 @@ def str_to_unicode(s, encoding): return unicode(s, encoding, 'replace') else: return s - diff --git a/django/newforms/forms.py b/django/newforms/forms.py index c8c65975ae..8d8beb0f88 100644 --- a/django/newforms/forms.py +++ b/django/newforms/forms.py @@ -134,7 +134,7 @@ class BaseForm(StrAndUnicode): bf_errors = self.error_class([escape(error) for error in bf.errors]) # Escape and cache in local variable. if bf.is_hidden: if bf_errors: - top_errors.extend(['(Hidden field %s) %s' % (name, force_unicode(e)) for e in bf_errors]) + top_errors.extend([u'(Hidden field %s) %s' % (name, force_unicode(e)) for e in bf_errors]) hidden_fields.append(unicode(bf)) else: if errors_on_separate_row and bf_errors: @@ -155,7 +155,7 @@ class BaseForm(StrAndUnicode): help_text = u'' output.append(normal_row % {'errors': force_unicode(bf_errors), 'label': force_unicode(label), 'field': unicode(bf), 'help_text': help_text}) if top_errors: - output.insert(0, error_row % top_errors) + output.insert(0, error_row % force_unicode(top_errors)) if hidden_fields: # Insert any hidden fields in the last row. str_hidden = u''.join(hidden_fields) if output: diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index d3400baac8..8e5bcf5bd8 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -2,6 +2,10 @@ import re import random as random_module +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. from django.template import Variable, Library from django.conf import settings @@ -35,7 +39,7 @@ def stringfilter(func): for attr in ('is_safe', 'needs_autoescape'): if hasattr(func, attr): setattr(_dec, attr, getattr(func, attr)) - return _dec + return wraps(func)(_dec) ################### # STRINGS # diff --git a/django/test/_doctest.py b/django/test/_doctest.py index d1308b855e..a56483c3ab 100644 --- a/django/test/_doctest.py +++ b/django/test/_doctest.py @@ -100,7 +100,7 @@ __all__ = [ import __future__ -import sys, traceback, inspect, linecache, os, re, types +import sys, traceback, inspect, linecache, os, re import unittest, difflib, pdb, tempfile import warnings from StringIO import StringIO diff --git a/django/test/client.py b/django/test/client.py index b02d298418..67d3aa9030 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -1,7 +1,5 @@ -import datetime import sys from cStringIO import StringIO -from urlparse import urlparse from django.conf import settings from django.contrib.auth import authenticate, login from django.core.handlers.base import BaseHandler diff --git a/django/test/simple.py b/django/test/simple.py index 6fa381ac4d..43e1156a0a 100644 --- a/django/test/simple.py +++ b/django/test/simple.py @@ -146,4 +146,3 @@ def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): teardown_test_environment() return len(result.failures) + len(result.errors) - \ No newline at end of file diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py index 82d914000f..4c278c0d8e 100644 --- a/django/utils/datastructures.py +++ b/django/utils/datastructures.py @@ -3,7 +3,7 @@ class MergeDict(object): A simple class for creating new "virtual" dictionaries that actually look up values in more than one dictionary, passed in the constructor. - If a key appears in more than one of the passed in dictionaries, only the + If a key appears in more than one of the given dictionaries, only the first occurrence will be used. """ def __init__(self, *dicts): @@ -145,7 +145,7 @@ class SortedDict(dict): """Returns a copy of this object.""" # This way of initializing the copy means it works for subclasses, too. obj = self.__class__(self) - obj.keyOrder = self.keyOrder + obj.keyOrder = self.keyOrder[:] return obj def __repr__(self): @@ -155,6 +155,10 @@ class SortedDict(dict): """ return '{%s}' % ', '.join(['%r: %r' % (k, v) for k, v in self.items()]) + def clear(self): + super(SortedDict, self).clear() + self.keyOrder = [] + class MultiValueDictKeyError(KeyError): pass diff --git a/django/utils/decorators.py b/django/utils/decorators.py index 57ce29fca4..27a080e740 100644 --- a/django/utils/decorators.py +++ b/django/utils/decorators.py @@ -1,6 +1,10 @@ "Functions that help with dynamically creating decorators for views." import types +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. def decorator_from_middleware(middleware_class): """ @@ -53,5 +57,5 @@ def decorator_from_middleware(middleware_class): if result is not None: return result return response - return _wrapped_view + return wraps(view_func)(_wrapped_view) return _decorator_from_middleware diff --git a/django/utils/functional.py b/django/utils/functional.py index e0c862b0b7..3de693e18c 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -1,8 +1,120 @@ +# License for code in this file that was taken from Python 2.5. + +# PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +# -------------------------------------------- +# +# 1. This LICENSE AGREEMENT is between the Python Software Foundation +# ("PSF"), and the Individual or Organization ("Licensee") accessing and +# otherwise using this software ("Python") in source or binary form and +# its associated documentation. +# +# 2. Subject to the terms and conditions of this License Agreement, PSF +# hereby grants Licensee a nonexclusive, royalty-free, world-wide +# license to reproduce, analyze, test, perform and/or display publicly, +# prepare derivative works, distribute, and otherwise use Python +# alone or in any derivative version, provided, however, that PSF's +# License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +# 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation; +# All Rights Reserved" are retained in Python alone or in any derivative +# version prepared by Licensee. +# +# 3. In the event Licensee prepares a derivative work that is based on +# or incorporates Python or any part thereof, and wants to make +# the derivative work available to others as provided herein, then +# Licensee hereby agrees to include in any such work a brief summary of +# the changes made to Python. +# +# 4. PSF is making Python available to Licensee on an "AS IS" +# basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +# IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +# DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +# FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +# INFRINGE ANY THIRD PARTY RIGHTS. +# +# 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +# FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +# A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +# OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. +# +# 6. This License Agreement will automatically terminate upon a material +# breach of its terms and conditions. +# +# 7. Nothing in this License Agreement shall be deemed to create any +# relationship of agency, partnership, or joint venture between PSF and +# Licensee. This License Agreement does not grant permission to use PSF +# trademarks or trade name in a trademark sense to endorse or promote +# products or services of Licensee, or any third party. +# +# 8. By copying, installing or otherwise using Python, Licensee +# agrees to be bound by the terms and conditions of this License +# Agreement. + + def curry(_curried_func, *args, **kwargs): def _curried(*moreargs, **morekwargs): return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) return _curried +### Begin from Python 2.5 functools.py ######################################## + +# Summary of changes made to the Python 2.5 code below: +# * swapped ``partial`` for ``curry`` to maintain backwards-compatibility +# in Django. +# * Wrapped the ``setattr`` call in ``update_wrapper`` with a try-except +# block to make it compatible with Python 2.3, which doesn't allow +# assigning to ``__name__``. + +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation. +# All Rights Reserved. + +############################################################################### + +# update_wrapper() and wraps() are tools to help write +# wrapper functions that can handle naive introspection + +WRAPPER_ASSIGNMENTS = ('__module__', '__name__', '__doc__') +WRAPPER_UPDATES = ('__dict__',) +def update_wrapper(wrapper, + wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Update a wrapper function to look like the wrapped function + + wrapper is the function to be updated + wrapped is the original function + assigned is a tuple naming the attributes assigned directly + from the wrapped function to the wrapper function (defaults to + functools.WRAPPER_ASSIGNMENTS) + updated is a tuple naming the attributes off the wrapper that + are updated with the corresponding attribute from the wrapped + function (defaults to functools.WRAPPER_UPDATES) + """ + for attr in assigned: + try: + setattr(wrapper, attr, getattr(wrapped, attr)) + except TypeError: # Python 2.3 doesn't allow assigning to __name__. + pass + for attr in updated: + getattr(wrapper, attr).update(getattr(wrapped, attr)) + # Return the wrapper so this can be used as a decorator via curry() + return wrapper + +def wraps(wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Decorator factory to apply update_wrapper() to a wrapper function + + Returns a decorator that invokes update_wrapper() with the decorated + function as the wrapper argument and the arguments to wraps() as the + remaining arguments. Default arguments are as for update_wrapper(). + This is a convenience function to simplify applying curry() to + update_wrapper(). + """ + return curry(update_wrapper, wrapped=wrapped, + assigned=assigned, updated=updated) + +### End from Python 2.5 functools.py ########################################## + def memoize(func, cache, num_args): """ Wrap a function so that results for any argument tuple are stored in @@ -18,7 +130,7 @@ def memoize(func, cache, num_args): result = func(*args) cache[mem_args] = result return result - return wrapper + return wraps(func)(wrapper) class Promise(object): """ @@ -110,7 +222,7 @@ def lazy(func, *resultclasses): # Creates the proxy object, instead of the actual value. return __proxy__(args, kw) - return __wrapper__ + return wraps(func)(__wrapper__) def allow_lazy(func, *resultclasses): """ @@ -126,4 +238,4 @@ def allow_lazy(func, *resultclasses): else: return func(*args, **kwargs) return lazy(func, *resultclasses)(*args, **kwargs) - return wrapper + return wraps(func)(wrapper) diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py index f8a39710b4..bcc5e4b83d 100644 --- a/django/utils/translation/trans_real.py +++ b/django/utils/translation/trans_real.py @@ -1,4 +1,4 @@ -"Translation helper functions" +"""Translation helper functions.""" import locale import os @@ -7,7 +7,6 @@ import sys import gettext as gettext_module from cStringIO import StringIO -from django.utils.encoding import force_unicode from django.utils.safestring import mark_safe, SafeData try: @@ -30,7 +29,7 @@ _active = {} # The default translation is based on the settings file. _default = None -# This is a cache for normalised accept-header languages to prevent multiple +# This is a cache for normalized accept-header languages to prevent multiple # file lookups when checking the same locale on repeated requests. _accepted = {} @@ -56,7 +55,7 @@ def to_locale(language, to_lower=False): return language.lower() def to_language(locale): - "Turns a locale name (en_US) into a language name (en-us)." + """Turns a locale name (en_US) into a language name (en-us).""" p = locale.find('_') if p >= 0: return locale[:p].lower()+'-'+locale[p+1:].lower() @@ -229,7 +228,7 @@ def deactivate_all(): _active[currentThread()] = gettext_module.NullTranslations() def get_language(): - "Returns the currently selected language." + """Returns the currently selected language.""" t = _active.get(currentThread(), None) if t is not None: try: @@ -251,7 +250,7 @@ def get_language_bidi(): def catalog(): """ - This function returns the current active catalog for further processing. + Returns the current active catalog for further processing. This can be used if you need to modify the catalog or want to access the whole message catalog instead of just translating one string. """ @@ -355,7 +354,7 @@ def get_language_from_request(request): if lang_code in supported and lang_code is not None and check_for_language(lang_code): return lang_code - lang_code = request.COOKIES.get('django_language') + lang_code = request.COOKIES.get(settings.LANGUAGE_COOKIE_NAME) if lang_code and lang_code in supported and check_for_language(lang_code): return lang_code @@ -374,7 +373,7 @@ def get_language_from_request(request): normalized = locale.locale_alias.get(to_locale(accept_lang, True)) if not normalized: continue - # Remove the default encoding from locale_alias + # Remove the default encoding from locale_alias. normalized = normalized.split('.')[0] if normalized in _accepted: @@ -396,9 +395,9 @@ def get_language_from_request(request): def get_date_formats(): """ - This function checks whether translation files provide a translation for some - technical message ID to store date and time formats. If it doesn't contain - one, the formats provided in the settings will be used. + Checks whether translation files provide a translation for some technical + message ID to store date and time formats. If it doesn't contain one, the + formats provided in the settings will be used. """ from django.conf import settings date_format = ugettext('DATE_FORMAT') @@ -414,9 +413,9 @@ def get_date_formats(): def get_partial_date_formats(): """ - This function checks whether translation files provide a translation for some - technical message ID to store partial date formats. If it doesn't contain - one, the formats provided in the settings will be used. + Checks whether translation files provide a translation for some technical + message ID to store partial date formats. If it doesn't contain one, the + formats provided in the settings will be used. """ from django.conf import settings year_month_format = ugettext('YEAR_MONTH_FORMAT') @@ -440,6 +439,7 @@ block_re = re.compile(r"""^\s*blocktrans(?:\s+|$)""") endblock_re = re.compile(r"""^\s*endblocktrans$""") plural_re = re.compile(r"""^\s*plural$""") constant_re = re.compile(r"""_\(((?:".*?")|(?:'.*?'))\)""") + def templatize(src): """ Turns a Django template into something that is understood by xgettext. It @@ -475,7 +475,7 @@ def templatize(src): elif pluralmatch: inplural = True else: - raise SyntaxError, "Translation blocks must not include other block tags: %s" % t.contents + raise SyntaxError("Translation blocks must not include other block tags: %s" % t.contents) elif t.token_type == TOKEN_VAR: if inplural: plural.append('%%(%s)s' % t.contents) @@ -541,4 +541,3 @@ def parse_accept_lang_header(lang_string): result.append((lang, priority)) result.sort(lambda x, y: -cmp(x[1], y[1])) return result - diff --git a/django/utils/tzinfo.py b/django/utils/tzinfo.py index 7d5ead9290..d8bdee390a 100644 --- a/django/utils/tzinfo.py +++ b/django/utils/tzinfo.py @@ -5,7 +5,11 @@ import time from datetime import timedelta, tzinfo from django.utils.encoding import smart_unicode -DEFAULT_ENCODING = locale.getdefaultlocale()[1] or 'ascii' +try: + DEFAULT_ENCODING = locale.getdefaultlocale()[1] or 'ascii' +except: + # Any problems at all determining the locale and we fallback. See #5846. + DEFAULT_ENCODING = 'ascii' class FixedOffset(tzinfo): "Fixed offset in minutes east from UTC." diff --git a/django/views/decorators/cache.py b/django/views/decorators/cache.py index b04cc2340b..8b620c1345 100644 --- a/django/views/decorators/cache.py +++ b/django/views/decorators/cache.py @@ -11,6 +11,11 @@ Additionally, all headers from the response's Vary header will be taken into account on caching -- just like the middleware does. """ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.decorators import decorator_from_middleware from django.utils.cache import patch_cache_control, add_never_cache_headers from django.middleware.cache import CacheMiddleware @@ -26,7 +31,7 @@ def cache_control(**kwargs): patch_cache_control(response, **kwargs) return response - return _cache_controlled + return wraps(viewfunc)(_cache_controlled) return _cache_controller @@ -39,4 +44,4 @@ def never_cache(view_func): response = view_func(request, *args, **kwargs) add_never_cache_headers(response) return response - return _wrapped_view_func + return wraps(view_func)(_wrapped_view_func) diff --git a/django/views/decorators/http.py b/django/views/decorators/http.py index 9feb8c0d84..dd4f90ea9c 100644 --- a/django/views/decorators/http.py +++ b/django/views/decorators/http.py @@ -2,6 +2,11 @@ Decorators for views based on HTTP headers. """ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.decorators import decorator_from_middleware from django.middleware.http import ConditionalGetMiddleware from django.http import HttpResponseNotAllowed @@ -24,7 +29,7 @@ def require_http_methods(request_method_list): if request.method not in request_method_list: return HttpResponseNotAllowed(request_method_list) return func(request, *args, **kwargs) - return inner + return wraps(func)(inner) return decorator require_GET = require_http_methods(["GET"]) diff --git a/django/views/decorators/vary.py b/django/views/decorators/vary.py index 9b49c45cf2..ea1b8d307d 100644 --- a/django/views/decorators/vary.py +++ b/django/views/decorators/vary.py @@ -1,3 +1,8 @@ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.cache import patch_vary_headers def vary_on_headers(*headers): @@ -16,7 +21,7 @@ def vary_on_headers(*headers): response = func(*args, **kwargs) patch_vary_headers(response, headers) return response - return inner_func + return wraps(func)(inner_func) return decorator def vary_on_cookie(func): @@ -32,4 +37,4 @@ def vary_on_cookie(func): response = func(*args, **kwargs) patch_vary_headers(response, ('Cookie',)) return response - return inner_func + return wraps(func)(inner_func) diff --git a/django/views/i18n.py b/django/views/i18n.py index cd23ff8777..e420e3d7f7 100644 --- a/django/views/i18n.py +++ b/django/views/i18n.py @@ -28,7 +28,7 @@ def set_language(request): if hasattr(request, 'session'): request.session['django_language'] = lang_code else: - response.set_cookie('django_language', lang_code) + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code) return response NullSource = """ diff --git a/docs/authentication.txt b/docs/authentication.txt index 4d45fd9836..212e17ac62 100644 --- a/docs/authentication.txt +++ b/docs/authentication.txt @@ -83,12 +83,12 @@ Methods objects in the same way as any other `Django model`_:: myuser.groups = [group_list] - myuser.groups.add(group, group,...) - myuser.groups.remove(group, group,...) + myuser.groups.add(group, group, ...) + myuser.groups.remove(group, group, ...) myuser.groups.clear() myuser.user_permissions = [permission_list] myuser.user_permissions.add(permission, permission, ...) - myuser.user_permissions.remove(permission, permission, ...] + myuser.user_permissions.remove(permission, permission, ...) myuser.user_permissions.clear() In addition to those automatic API methods, ``User`` objects have the following @@ -380,14 +380,14 @@ This example shows how you might use both ``authenticate()`` and ``login()``:: # Return an 'invalid login' error message. .. admonition:: Calling ``authenticate()`` first - + When you're manually logging a user in, you *must* call ``authenticate()`` before you call ``login()``. ``authenticate()`` sets an attribute on the ``User`` noting which authentication backend successfully authenticated that user (see the `backends documentation`_ for details), and this information is needed later during the login process. - + .. _backends documentation: #other-authentication-sources Manually checking a user's password @@ -460,7 +460,7 @@ introduced in Python 2.4:: In the Django development version, ``login_required`` also takes an optional ``redirect_field_name`` parameter. Example:: - + from django.contrib.auth.decorators import login_required def my_view(request): @@ -468,7 +468,7 @@ In the Django development version, ``login_required`` also takes an optional my_view = login_required(redirect_field_name='redirect_to')(my_view) Again, an equivalent example of the more compact decorator syntax introduced in Python 2.4:: - + from django.contrib.auth.decorators import login_required @login_required(redirect_field_name='redirect_to') @@ -479,7 +479,7 @@ Again, an equivalent example of the more compact decorator syntax introduced in * If the user isn't logged in, redirect to ``settings.LOGIN_URL`` (``/accounts/login/`` by default), passing the current absolute URL - in the query string as ``next`` or the value of ``redirect_field_name``. + in the query string as ``next`` or the value of ``redirect_field_name``. For example: ``/accounts/login/?next=/polls/3/``. * If the user is logged in, execute the view normally. The view code is @@ -1119,7 +1119,7 @@ object the first time a user authenticates:: Handling authorization in custom backends ----------------------------------------- -Custom auth backends can provide their own permissions. +Custom auth backends can provide their own permissions. The user model will delegate permission lookup functions (``get_group_permissions()``, ``get_all_permissions()``, ``has_perm()``, and @@ -1132,9 +1132,9 @@ one backend grants. The simple backend above could implement permissions for the magic admin fairly simply:: - + class SettingsBackend: - + # ... def has_perm(self, user_obj, perm): @@ -1142,7 +1142,7 @@ simply:: return True else: return False - + This gives full permissions to the user granted access in the above example. Notice that the backend auth functions all take the user object as an argument, and they also accept the same arguments given to the associated ``User`` functions. diff --git a/docs/db-api.txt b/docs/db-api.txt index adca8b4d5c..80f8a2d60b 100644 --- a/docs/db-api.txt +++ b/docs/db-api.txt @@ -1605,8 +1605,7 @@ the cache of all one-to-many relationships ahead of time. Example:: print e.blog # Doesn't hit the database; uses cached version. print e.blog # Doesn't hit the database; uses cached version. -``select_related()`` is documented in the "QuerySet methods that return new -QuerySets" section above. +``select_related()`` is documented in the `QuerySet methods that return new QuerySets`_ section above. Backward ~~~~~~~~ diff --git a/docs/faq.txt b/docs/faq.txt index cef0508562..56c9536eda 100644 --- a/docs/faq.txt +++ b/docs/faq.txt @@ -166,7 +166,7 @@ logical to us. We're well aware that there are other awesome Web frameworks out there, and we're not averse to borrowing ideas where appropriate. However, Django was developed precisely because we were unhappy with the status quo, so please be -aware that "because " does it is not going to be sufficient reason +aware that "because does it" is not going to be sufficient reason to add a given feature to Django. Why did you write all of Django from scratch, instead of using other Python libraries? @@ -353,7 +353,7 @@ How do I install mod_python on Windows? working`_. .. _`win32 build of mod_python for Python 2.4`: http://www.lehuen.com/nicolas/index.php/2005/02/21/39-win32-build-of-mod_python-314-for-python-24 -.. _`Django on Windows howto`: http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/ +.. _`Django on Windows howto`: http://thinkhole.org/wp/django-on-windows/ .. _`Running mod_python on Apache on Windows2000`: http://groups-beta.google.com/group/comp.lang.python/msg/139af8c83a5a9d4f .. _`guide to getting mod_python working`: http://www.dscpl.com.au/articles/modpython-001.html diff --git a/docs/flatpages.txt b/docs/flatpages.txt index 7c27fe8793..b6fa8e035f 100644 --- a/docs/flatpages.txt +++ b/docs/flatpages.txt @@ -24,11 +24,14 @@ Installation To install the flatpages app, follow these steps: - 1. Add ``'django.contrib.flatpages'`` to your INSTALLED_APPS_ setting. - 2. Add ``'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'`` + 1. Install the `sites framework`_ by adding ``'django.contrib.sites'`` to + your INSTALLED_APPS_ setting, if it's not already in there. + 2. Add ``'django.contrib.flatpages'`` to your INSTALLED_APPS_ setting. + 3. Add ``'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'`` to your MIDDLEWARE_CLASSES_ setting. - 3. Run the command ``manage.py syncdb``. + 4. Run the command ``manage.py syncdb``. +.. _sites framework: ../sites/ .. _INSTALLED_APPS: ../settings/#installed-apps .. _MIDDLEWARE_CLASSES: ../settings/#middleware-classes diff --git a/docs/i18n.txt b/docs/i18n.txt index 78404d4503..bb6cf74ded 100644 --- a/docs/i18n.txt +++ b/docs/i18n.txt @@ -547,7 +547,7 @@ following this algorithm: * First, it looks for a ``django_language`` key in the the current user's `session`_. - * Failing that, it looks for a cookie called ``django_language``. + * Failing that, it looks for a cookie that is named according to your ``LANGUAGE_COOKIE_NAME`` setting (the default name is: ``django_language``). * Failing that, it looks at the ``Accept-Language`` HTTP header. This header is sent by your browser and tells the server which language(s) you prefer, in order by priority. Django tries each language in the header @@ -719,7 +719,8 @@ Activate this view by adding the following line to your URLconf:: The view expects to be called via the ``POST`` method, with a ``language`` parameter set in request. If session support is enabled, the view saves the language choice in the user's session. Otherwise, it saves the -language choice in a ``django_language`` cookie. +language choice in a cookie that is by default named ``django_language`` +(the name can be changed through the ``LANGUAGE_COOKIE_NAME`` setting). After setting the language choice, Django redirects the user, following this algorithm: diff --git a/docs/model-api.txt b/docs/model-api.txt index 7eb0fdbb28..66fa63e3c6 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -784,9 +784,17 @@ you can use the name of the model, rather than the model object itself:: class Manufacturer(models.Model): # ... -Note, however, that you can only use strings to refer to models in the same -models.py file -- you cannot use a string to reference a model in a different -application, or to reference a model that has been imported from elsewhere. +Note, however, that this only refers to models in the same models.py file -- you +cannot use a string to reference a model defined in another application or +imported from elsewhere. + +**New in Django development version:** to refer to models defined in another +application, you must instead explicitially specify the application label. That +is, if the ``Manufacturer`` model above is defined in another application called +``production``, you'd need to use:: + + class Car(models.Model): + manufacturer = models.ForeignKey('production.Manufacturer') Behind the scenes, Django appends ``"_id"`` to the field name to create its database column name. In the above example, the database table for the ``Car`` diff --git a/docs/modelforms.txt b/docs/modelforms.txt index b9f0d88165..47eaa9a769 100644 --- a/docs/modelforms.txt +++ b/docs/modelforms.txt @@ -226,7 +226,7 @@ For example:: # Create a form instance with POST data. >>> a = Author() - >>> f = AuthorForm(a, request.POST) + >>> f = AuthorForm(request.POST, instance=a) # Create and save the new author instance. There's no need to do anything else. >>> new_author = f.save() @@ -238,34 +238,34 @@ In some cases, you may not want all the model fields to appear on the generated form. There are three ways of telling ``ModelForm`` to use only a subset of the model fields: - 1. Set ``editable=False`` on the model field. As a result, *any* form - created from the model via ``ModelForm`` will not include that - field. +1. Set ``editable=False`` on the model field. As a result, *any* form + created from the model via ``ModelForm`` will not include that + field. - 2. Use the ``fields`` attribute of the ``ModelForm``'s inner ``Meta`` class. - This attribute, if given, should be a list of field names to include in - the form. +2. Use the ``fields`` attribute of the ``ModelForm``'s inner ``Meta`` + class. This attribute, if given, should be a list of field names + to include in the form. - 3. Use the ``exclude`` attribute of the ``ModelForm``'s inner ``Meta`` class. - This attribute, if given, should be a list of field names to exclude - the form. +3. Use the ``exclude`` attribute of the ``ModelForm``'s inner ``Meta`` + class. This attribute, if given, should be a list of field names + to exclude from the form. - For example, if you want a form for the ``Author`` model (defined above) - that includes only the ``name`` and ``title`` fields, you would specify - ``fields`` or ``exclude`` like this:: +For example, if you want a form for the ``Author`` model (defined +above) that includes only the ``name`` and ``title`` fields, you would +specify ``fields`` or ``exclude`` like this:: - class PartialAuthorForm(ModelForm): - class Meta: - model = Author - fields = ('name', 'title') + class PartialAuthorForm(ModelForm): + class Meta: + model = Author + fields = ('name', 'title') + + class PartialAuthorForm(ModelForm): + class Meta: + model = Author + exclude = ('birth_date',) - class PartialAuthorForm(ModelForm): - class Meta: - model = Author - exclude = ('birth_date',) - - Since the Author model has only 3 fields, 'name', 'title', and - 'birth_date', the forms above will contain exactly the same fields. +Since the Author model has only 3 fields, 'name', 'title', and +'birth_date', the forms above will contain exactly the same fields. .. note:: @@ -323,17 +323,18 @@ parameter when declaring the form field:: Form inheritance ---------------- -As with the basic forms, you can extend and reuse ``ModelForms`` by inheriting -them. Normally, this will be useful if you need to declare some extra fields -or extra methods on a parent class for use in a number of forms derived from -models. For example, using the previous ``ArticleForm`` class:: + +As with basic forms, you can extend and reuse ``ModelForms`` by inheriting +them. This is useful if you need to declare extra fields or extra methods on a +parent class for use in a number of forms derived from models. For example, +using the previous ``ArticleForm`` class:: >>> class EnhancedArticleForm(ArticleForm): ... def clean_pub_date(self): ... ... -This creates a form that behaves identically to ``ArticleForm``, except there -is some extra validation and cleaning for the ``pub_date`` field. +This creates a form that behaves identically to ``ArticleForm``, except there's +some extra validation and cleaning for the ``pub_date`` field. You can also subclass the parent's ``Meta`` inner class if you want to change the ``Meta.fields`` or ``Meta.excludes`` lists:: @@ -342,17 +343,18 @@ the ``Meta.fields`` or ``Meta.excludes`` lists:: ... class Meta(ArticleForm.Meta): ... exclude = ['body'] -This adds in the extra method from the ``EnhancedArticleForm`` and modifies +This adds the extra method from the ``EnhancedArticleForm`` and modifies the original ``ArticleForm.Meta`` to remove one field. -There are a couple of things to note, however. Most of these won't normally be -of concern unless you are trying to do something tricky with subclassing. +There are a couple of things to note, however. * Normal Python name resolution rules apply. If you have multiple base classes that declare a ``Meta`` inner class, only the first one will be - used. This means the child's ``Meta``, if it exists, otherwise the + used. This means the child's ``Meta``, if it exists, otherwise the ``Meta`` of the first parent, etc. - * For technical reasons, you cannot have a subclass that is inherited from - both a ``ModelForm`` and a ``Form`` simultaneously. + * For technical reasons, a subclass cannot inherit from both a ``ModelForm`` + and a ``Form`` simultaneously. +Chances are these notes won't affect you unless you're trying to do something +tricky with subclassing. diff --git a/docs/newforms.txt b/docs/newforms.txt index 33cf48c274..229f704ca7 100644 --- a/docs/newforms.txt +++ b/docs/newforms.txt @@ -246,6 +246,10 @@ object:: >>> f.cleaned_data {'cc_myself': True, 'message': u'Hi there', 'sender': u'foo@example.com', 'subject': u'hello'} +.. note:: + **New in Django development version** The ``cleaned_data`` attribute was + called ``clean_data`` in earlier releases. + Note that any text-based field -- such as ``CharField`` or ``EmailField`` -- always cleans the input into a Unicode string. We'll cover the encoding implications later in this document. @@ -1563,7 +1567,7 @@ The three types of cleaning methods are: Note that any errors raised by your ``Form.clean()`` override will not be associated with any field in particular. They go into a special - "field" (called ``__all__``, which you can access via the + "field" (called ``__all__``), which you can access via the ``non_field_errors()`` method if you need to. These methods are run in the order given above, one field at a time. That is, diff --git a/docs/request_response.txt b/docs/request_response.txt index 47c66355e8..e50cfc5ea3 100644 --- a/docs/request_response.txt +++ b/docs/request_response.txt @@ -576,7 +576,7 @@ Three things to note about 404 views: in the 404. * The 404 view is passed a ``RequestContext`` and will have access to - variables supplied by your ``TEMPLATE_CONTEXT_PROCESSORS`` (e.g. + variables supplied by your ``TEMPLATE_CONTEXT_PROCESSORS`` setting (e.g., ``MEDIA_URL``). * If ``DEBUG`` is set to ``True`` (in your settings module), then your 404 diff --git a/docs/serialization.txt b/docs/serialization.txt index dff33f219f..e901410f1c 100644 --- a/docs/serialization.txt +++ b/docs/serialization.txt @@ -88,7 +88,7 @@ something like:: for deserialized_object in serializers.deserialize("xml", data): if object_should_be_saved(deserialized_object): - obj.save() + deserialized_object.save() In other words, the usual use is to examine the deserialized objects to make sure that they are "appropriate" for saving before doing so. Of course, if you trust your data source you could just save the object and move on. diff --git a/docs/settings.txt b/docs/settings.txt index 8478e0ce96..ace893f1b5 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -579,6 +579,16 @@ in standard language format. For example, U.S. English is ``"en-us"``. See the .. _internationalization docs: ../i18n/ +LANGUAGE_COOKIE_NAME +-------------------- + +Default: ``'django_language'`` + +The name of the cookie to use for the language cookie. This can be whatever +you want (but should be different from SESSION_COOKIE_NAME). See the +`internationalization docs`_ for details. + + LANGUAGES --------- @@ -822,8 +832,8 @@ SESSION_COOKIE_NAME Default: ``'sessionid'`` -The name of the cookie to use for sessions. This can be whatever you want. -See the `session docs`_. +The name of the cookie to use for sessions. This can be whatever you want (but +should be different from ``LANGUAGE_COOKIE_NAME``). See the `session docs`_. SESSION_COOKIE_PATH ------------------- diff --git a/docs/shortcuts.txt b/docs/shortcuts.txt index f1d7f38ffa..005fdc3029 100644 --- a/docs/shortcuts.txt +++ b/docs/shortcuts.txt @@ -30,9 +30,9 @@ Optional arguments ``context_instance`` The context instance to render the template with. By default, the template will be rendered with a ``Context`` instance (filled with values from - ``dictionary``). If you need to use `context processors`_, you will want to - render the template with a ``RequestContext`` instance instead. Your code - might look something like this:: + ``dictionary``). If you need to use `context processors`_, render the + template with a ``RequestContext`` instance instead. Your code might look + something like this:: return render_to_response('my_template.html', my_data_dictionary, diff --git a/docs/templates.txt b/docs/templates.txt index c351c951c9..d473a6f06f 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -1406,6 +1406,8 @@ Joins a list with a string, like Python's ``str.join(list)``. last ~~~~ +**New in Django development version.** + Returns the last item in a list. length diff --git a/docs/templates_python.txt b/docs/templates_python.txt index f98cfa3249..43ef016ed4 100644 --- a/docs/templates_python.txt +++ b/docs/templates_python.txt @@ -395,6 +395,8 @@ See the `internationalization docs`_ for more. django.core.context_processors.media ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**New in Django development version** + If ``TEMPLATE_CONTEXT_PROCESSORS`` contains this processor, every ``RequestContext`` will contain a variable ``MEDIA_URL``, providing the value of the `MEDIA_URL setting`_. @@ -627,9 +629,10 @@ the given Python module name, not the name of the app. Once you've created that Python module, you'll just have to write a bit of Python code, depending on whether you're writing filters or tags. -To be a valid tag library, the module contain a module-level variable named -``register`` that is a ``template.Library`` instance, in which all the tags and -filters are registered. So, near the top of your module, put the following:: +To be a valid tag library, the module must contain a module-level variable +named ``register`` that is a ``template.Library`` instance, in which all the +tags and filters are registered. So, near the top of your module, put the +following:: from django import template @@ -981,7 +984,7 @@ Notes: exception. It should fail silently, just as template filters should. Ultimately, this decoupling of compilation and rendering results in an -efficient template system, because a template can render multiple context +efficient template system, because a template can render multiple contexts without having to be parsed multiple times. Auto-escaping considerations @@ -1014,7 +1017,7 @@ This is not a very common situation, but it's useful if you're rendering a template yourself. For example:: def render(self, context): - t = template.load_template('small_fragment.html') + t = template.loader.get_template('small_fragment.html') return t.render(Context({'var': obj}, autoescape=context.autoescape)) If we had neglected to pass in the current ``context.autoescape`` value to our diff --git a/docs/url_dispatch.txt b/docs/url_dispatch.txt index 952763f078..789399de8d 100644 --- a/docs/url_dispatch.txt +++ b/docs/url_dispatch.txt @@ -191,12 +191,12 @@ The remaining arguments should be tuples in this format:: `Passing extra options to view functions`_ below.) .. note:: - Since `patterns()` is a function call, it accepts a maximum of 255 + Because `patterns()` is a function call, it accepts a maximum of 255 arguments (URL patterns, in this case). This is a limit for all Python - function calls. This will rarely be problem in practice, since you'll + function calls. This is rarely a problem in practice, because you'll typically structure your URL patterns modularly by using `include()` sections. However, on the off-chance you do hit the 255-argument limit, - realise that `patterns()` returns a Python list, so you can split up the + realize that `patterns()` returns a Python list, so you can split up the construction of the list. :: @@ -209,8 +209,8 @@ The remaining arguments should be tuples in this format:: ) Python lists have unlimited size, so there's no limit to how many URL - patterns you can construct; merely that you may only create 254 at a time - (the 255-th argument is the initial prefix argument). + patterns you can construct. The only limit is that you can only create 254 + at a time (the 255th argument is the initial prefix argument). url --- diff --git a/extras/django_bash_completion b/extras/django_bash_completion index 8906609a68..7b2b1947d8 100644 --- a/extras/django_bash_completion +++ b/extras/django_bash_completion @@ -61,13 +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?([1-9]\.[0-9]) ) && - ( $( basename ${COMP_WORDS[1]} ) == manage.py) && + ( $( 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) && + ( $( basename -- ${COMP_WORDS[0]} ) == python?([1-9]\.[0-9]) ) && + ( $( basename -- ${COMP_WORDS[1]} ) == django-admin.py) && ( -r ${COMP_WORDS[1]} ) ) ]] ; then case ${cur} in @@ -149,7 +149,7 @@ unset pythons if command -v whereis &>/dev/null; then python_interpreters=$(whereis python | cut -d " " -f 2-) for python in $python_interpreters; do - pythons="${pythons} $(basename $python)" + pythons="${pythons} $(basename -- $python)" done pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ") else diff --git a/setup.py b/setup.py index 61e0fd55e9..3cbfc55460 100644 --- a/setup.py +++ b/setup.py @@ -27,19 +27,16 @@ for scheme in INSTALL_SCHEMES.values(): # an easy way to do this. packages, data_files = [], [] root_dir = os.path.dirname(__file__) -django_dir = os.path.join(root_dir, 'django') -pieces = fullsplit(root_dir) -if pieces[-1] == '': - len_root_dir = len(pieces) - 1 -else: - len_root_dir = len(pieces) +if root_dir != '': + os.chdir(root_dir) +django_dir = 'django' for dirpath, dirnames, filenames in os.walk(django_dir): # Ignore dirnames that start with '.' for i, dirname in enumerate(dirnames): if dirname.startswith('.'): del dirnames[i] if '__init__.py' in filenames: - packages.append('.'.join(fullsplit(dirpath)[len_root_dir:])) + packages.append('.'.join(fullsplit(dirpath))) elif filenames: data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) diff --git a/tests/modeltests/basic/models.py b/tests/modeltests/basic/models.py index 2f4b932fe0..557331a36e 100644 --- a/tests/modeltests/basic/models.py +++ b/tests/modeltests/basic/models.py @@ -5,6 +5,11 @@ This is a basic model with only two non-primary-key fields. """ +try: + set +except NameError: + from sets import Set as set + from django.db import models class Article(models.Model): @@ -389,4 +394,10 @@ year, including Jan. 1 and Dec. 31. >>> a.save() >>> Article.objects.get(pk=a.id).headline u'\u6797\u539f \u3081\u3050\u307f' + +# Model instances have a hash function, so they can be used in sets or as +# dictionary keys. Two models compare as equal if their primary keys are equal. +>>> s = set([a10, a11, a12]) +>>> Article.objects.get(headline='Article 11') in s +True """ diff --git a/tests/modeltests/mutually_referential/models.py b/tests/modeltests/mutually_referential/models.py index 7cf7bf8bb2..5176721f3d 100644 --- a/tests/modeltests/mutually_referential/models.py +++ b/tests/modeltests/mutually_referential/models.py @@ -1,18 +1,22 @@ """ 24. Mutually referential many-to-one relationships -To define a many-to-one relationship, use ``ForeignKey()`` . +Strings can be used instead of model literals to set up "lazy" relations. """ from django.db.models import * class Parent(Model): name = CharField(max_length=100, core=True) + + # Use a simple string for forward declarations. bestchild = ForeignKey("Child", null=True, related_name="favoured_by") class Child(Model): name = CharField(max_length=100) - parent = ForeignKey(Parent) + + # You can also explicitally specify the related app. + parent = ForeignKey("mutually_referential.Parent") __test__ = {'API_TESTS':""" # Create a Parent diff --git a/tests/regressiontests/datastructures/tests.py b/tests/regressiontests/datastructures/tests.py index b5dc5d171b..b51b4b1233 100644 --- a/tests/regressiontests/datastructures/tests.py +++ b/tests/regressiontests/datastructures/tests.py @@ -77,6 +77,8 @@ MultiValueDictKeyError: "Key 'lastname' not found in >> d.keys() == d.copy().keys() True +>>> d2 = d.copy() +>>> d2['four'] = 'four' >>> print repr(d) {'one': 'not one', 'two': 'two', 'three': 'three'} >>> d.pop('one', 'missing') @@ -99,6 +101,12 @@ Init from sequence of tuples >>> print repr(d) {1: 'one', 0: 'zero', 2: 'two'} +>>> d.clear() +>>> d +{} +>>> d.keyOrder +[] + ### DotExpandedDict ############################################################ >>> d = DotExpandedDict({'person.1.firstname': ['Simon'], 'person.1.lastname': ['Willison'], 'person.2.firstname': ['Adrian'], 'person.2.lastname': ['Holovaty']}) diff --git a/tests/regressiontests/datatypes/models.py b/tests/regressiontests/datatypes/models.py index ff9666bc0c..9ebb6402e2 100644 --- a/tests/regressiontests/datatypes/models.py +++ b/tests/regressiontests/datatypes/models.py @@ -56,4 +56,30 @@ datetime.date(1938, 6, 4) datetime.time(5, 30) >>> d3.consumed_at datetime.datetime(2007, 4, 20, 16, 19, 59) + +# Year boundary tests (ticket #3689) + +>>> d = Donut(name='Date Test 2007', baked_date=datetime.datetime(year=2007, month=12, day=31), consumed_at=datetime.datetime(year=2007, month=12, day=31, hour=23, minute=59, second=59)) +>>> d.save() +>>> d1 = Donut(name='Date Test 2006', baked_date=datetime.datetime(year=2006, month=1, day=1), consumed_at=datetime.datetime(year=2006, month=1, day=1)) +>>> d1.save() + +>>> Donut.objects.filter(baked_date__year=2007) +[] + +>>> Donut.objects.filter(baked_date__year=2006) +[] + +>>> Donut.objects.filter(consumed_at__year=2007).order_by('name') +[, ] + +>>> Donut.objects.filter(consumed_at__year=2006) +[] + +>>> Donut.objects.filter(consumed_at__year=2005) +[] + +>>> Donut.objects.filter(consumed_at__year=2008) +[] + """} diff --git a/tests/regressiontests/decorators/__init__.py b/tests/regressiontests/decorators/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/decorators/models.py b/tests/regressiontests/decorators/models.py new file mode 100644 index 0000000000..e5a795067b --- /dev/null +++ b/tests/regressiontests/decorators/models.py @@ -0,0 +1,2 @@ +# A models.py so that tests run. + diff --git a/tests/regressiontests/decorators/tests.py b/tests/regressiontests/decorators/tests.py new file mode 100644 index 0000000000..0c434772f8 --- /dev/null +++ b/tests/regressiontests/decorators/tests.py @@ -0,0 +1,56 @@ +from unittest import TestCase +from sys import version_info + +from django.http import HttpResponse +from django.utils.functional import allow_lazy, lazy, memoize +from django.views.decorators.http import require_http_methods, require_GET, require_POST +from django.views.decorators.vary import vary_on_headers, vary_on_cookie +from django.views.decorators.cache import cache_page, never_cache, cache_control +from django.contrib.auth.decorators import login_required, permission_required, user_passes_test +from django.contrib.admin.views.decorators import staff_member_required + +def fully_decorated(request): + """Expected __doc__""" + return HttpResponse('dummy') +fully_decorated.anything = "Expected __dict__" + +# django.views.decorators.http +fully_decorated = require_http_methods(["GET"])(fully_decorated) +fully_decorated = require_GET(fully_decorated) +fully_decorated = require_POST(fully_decorated) + +# django.views.decorators.vary +fully_decorated = vary_on_headers('Accept-language')(fully_decorated) +fully_decorated = vary_on_cookie(fully_decorated) + +# django.views.decorators.cache +fully_decorated = cache_page(60*15)(fully_decorated) +fully_decorated = cache_control(private=True)(fully_decorated) +fully_decorated = never_cache(fully_decorated) + +# django.contrib.auth.decorators +fully_decorated = user_passes_test(lambda u:True)(fully_decorated) +fully_decorated = login_required(fully_decorated) +fully_decorated = permission_required('change_world')(fully_decorated) + +# django.contrib.admin.views.decorators +fully_decorated = staff_member_required(fully_decorated) + +# django.utils.functional +fully_decorated = memoize(fully_decorated, {}, 1) +fully_decorated = allow_lazy(fully_decorated) +fully_decorated = lazy(fully_decorated) + +class DecoratorsTest(TestCase): + + def test_attributes(self): + """ + Tests that django decorators set certain attributes of the wrapped + function. + """ + # Only check __name__ on Python 2.4 or later since __name__ can't be + # assigned to in earlier Python versions. + if version_info[0] >= 2 and version_info[1] >= 4: + self.assertEquals(fully_decorated.__name__, 'fully_decorated') + self.assertEquals(fully_decorated.__doc__, 'Expected __doc__') + self.assertEquals(fully_decorated.__dict__['anything'], 'Expected __dict__') diff --git a/tests/regressiontests/fixtures_regress/fixtures/absolute.json b/tests/regressiontests/fixtures_regress/fixtures/absolute.json new file mode 100644 index 0000000000..37ed3f6886 --- /dev/null +++ b/tests/regressiontests/fixtures_regress/fixtures/absolute.json @@ -0,0 +1,9 @@ +[ + { + "pk": "1", + "model": "fixtures_regress.absolute", + "fields": { + "name": "Load Absolute Path Test" + } + } +] \ No newline at end of file diff --git a/tests/regressiontests/fixtures_regress/models.py b/tests/regressiontests/fixtures_regress/models.py index a62925eb37..144debe05a 100644 --- a/tests/regressiontests/fixtures_regress/models.py +++ b/tests/regressiontests/fixtures_regress/models.py @@ -1,6 +1,7 @@ from django.db import models from django.contrib.auth.models import User from django.conf import settings +import os class Animal(models.Model): name = models.CharField(max_length=150) @@ -28,6 +29,16 @@ class Stuff(models.Model): name = None return unicode(name) + u' is owned by ' + unicode(self.owner) +class Absolute(models.Model): + name = models.CharField(max_length=40) + + load_count = 0 + + def __init__(self, *args, **kwargs): + super(Absolute, self).__init__(*args, **kwargs) + Absolute.load_count += 1 + + __test__ = {'API_TESTS':""" >>> from django.core import management @@ -49,4 +60,15 @@ __test__ = {'API_TESTS':""" >>> Stuff.objects.all() [] +############################################### +# Regression test for ticket #6436 -- +# os.path.join will throw away the initial parts of a path if it encounters +# an absolute path. This means that if a fixture is specified as an absolute path, +# we need to make sure we don't discover the absolute path in every fixture directory. + +>>> load_absolute_path = os.path.join(os.path.dirname(__file__), 'fixtures', 'absolute.json') +>>> management.call_command('loaddata', load_absolute_path, verbosity=0) +>>> Absolute.load_count +1 + """} diff --git a/tests/regressiontests/requests/__init__.py b/tests/regressiontests/requests/__init__.py new file mode 100644 index 0000000000..3a328850c9 --- /dev/null +++ b/tests/regressiontests/requests/__init__.py @@ -0,0 +1,3 @@ +""" +Tests for Django's various Request objects. +""" diff --git a/tests/regressiontests/requests/models.py b/tests/regressiontests/requests/models.py new file mode 100644 index 0000000000..19f81d601a --- /dev/null +++ b/tests/regressiontests/requests/models.py @@ -0,0 +1 @@ +# Need a models module for the test runner. diff --git a/tests/regressiontests/requests/tests.py b/tests/regressiontests/requests/tests.py new file mode 100644 index 0000000000..f32ef14ae9 --- /dev/null +++ b/tests/regressiontests/requests/tests.py @@ -0,0 +1,34 @@ +""" +>>> from django.http import HttpRequest +>>> print repr(HttpRequest()) + + +>>> from django.core.handlers.wsgi import WSGIRequest +>>> print repr(WSGIRequest({'PATH_INFO': 'bogus', 'REQUEST_METHOD': 'bogus'})) +, +POST:, +COOKIES:{}, +META:{...}> + +>>> from django.core.handlers.modpython import ModPythonRequest +>>> class FakeModPythonRequest(ModPythonRequest): +... def __init__(self, *args, **kwargs): +... super(FakeModPythonRequest, self).__init__(*args, **kwargs) +... self._get = self._post = self._meta = self._cookies = {} +>>> class Dummy: pass +... +>>> req = Dummy() +>>> req.uri = 'bogus' +>>> print repr(FakeModPythonRequest(req)) + +""" diff --git a/tests/regressiontests/string_lookup/models.py b/tests/regressiontests/string_lookup/models.py index 9deeb18763..1bdb2d4452 100644 --- a/tests/regressiontests/string_lookup/models.py +++ b/tests/regressiontests/string_lookup/models.py @@ -39,6 +39,7 @@ class Base(models.Model): class Article(models.Model): name = models.CharField(max_length=50) text = models.TextField() + submitted_from = models.IPAddressField(blank=True, null=True) def __str__(self): return "Article %s" % self.name @@ -98,4 +99,11 @@ __test__ = {'API_TESTS': ur""" >>> Article.objects.get(text__contains='quick brown fox') + +# Regression test for #708: "like" queries on IP address fields require casting +# to text (on PostgreSQL). +>>> Article(name='IP test', text='The body', submitted_from='192.0.2.100').save() +>>> Article.objects.filter(submitted_from__contains='192.0.2') +[] + """}